From 427d1c7ecd04b03419eae157e32fe3367d8dffea Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 28 十一月 2019 09:53:25 +0800
Subject: [PATCH] 2019.11.28
---
ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs | 283 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 209 insertions(+), 74 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
index 4f71fa0..a8393fd 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -23,7 +23,7 @@
FrameLayout clickframeLayout = new FrameLayout();
Button clickbutton = new Button();
Button clicktextcolcrbutton = new Button();
-
+ HorizontalScrolViewLayout devicetypehorizontalScrol1;
public void Show()
{
@@ -44,7 +44,7 @@
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
TextAlignment = TextAlignment.CenterLeft,
X = Application.GetRealWidth(160),
- Width = Application.GetRealWidth(300),
+ Width = Application.GetRealWidth(600),
Height = Application.GetRealHeight(69),
Y = Application.GetRealHeight(92),
TextID = MyInternationalizationString.devicestate,
@@ -121,7 +121,7 @@
};
this.AddChidren(roomhorizontalScrol);
- var devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
+ devicetypehorizontalScrol1 = new HorizontalScrolViewLayout()
{
Width = Application.GetRealWidth(1080 - 58 - 200),
Height = Application.GetRealHeight(280),
@@ -145,7 +145,7 @@
middle = new VerticalScrolViewLayout();
middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40);
- middle.Height = Application.GetRealHeight(1920) - devicetypehorizontalScrol.Y;
+ middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
middle.X = Application.GetRealWidth(58);
middle.Radius = (uint)Application.GetRealHeight(50);
@@ -156,7 +156,8 @@
DeviceType.IASZone,
DeviceType.OnOffSwitch,
DeviceType.OnOffOutput,//妤兼鐏�
- DeviceType.DoorLock
+ DeviceType.DoorLock,
+ DeviceType.TemperatureSensor,
};
///妤煎眰鐐瑰嚮浜嬩欢
@@ -169,47 +170,84 @@
{
flMain.RemoveFromParent();
};
+ var foolrbjicon = new FrameLayout
+ {
+
+ Width = Application.GetRealWidth(450),
+ Height = Application.GetRealHeight(780),
+ X = Application.GetRealWidth(1080 - 468 - 35),
+ Y = Application.GetRealHeight(184),
+ BackgroundImagePath = "Item/SelectFloor_Right.png",
+ };
+ flMain.AddChidren(foolrbjicon);
+
+ var btnfoolrtext = new Button
+ {
+ Width = Application.GetRealWidth(450),
+ Height = Application.GetRealHeight(150),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = ZigbeeColor.Current.LogicTextBlackColor,
+ X = Application.GetRealWidth(80),
+ TextID = MyInternationalizationString.selecfoolr,
+ };
+ foolrbjicon.AddChidren(btnfoolrtext);
+
var foolrbj = new VerticalScrolViewLayout
{
- Width = Application.GetRealWidth(400),
- Height = Application.GetRealHeight(600),
- X = Application.GetRealWidth(1080 - 400 - 60),
- Y = Application.GetRealHeight(184 + 50),
- BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
- Radius = (uint)Application.GetRealHeight(30),
+ Width = Application.GetRealWidth(450),
+ Height = foolrbjicon.Height - btnfoolrtext.Height,
+ X = Application.GetRealWidth(80),
+ Y = btnfoolrtext.Bottom,
};
- flMain.AddChidren(foolrbj);
+ foolrbjicon.AddChidren(foolrbj);
+
foreach (var foolr in Config.Instance.Home.FloorDics)
{
-
- var foolrRowLayout = new FrameLayout
+ var foolrRowLayout = new RowLayout
{
Height = Application.GetRealHeight(150),
+ LineColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
};
foolrbj.AddChidren(foolrRowLayout);
+
+ var btnfoolricon = new Button
+ {
+ Width = Application.GetRealWidth(81),
+ Height = Application.GetRealHeight(81),
+ UnSelectedImagePath = "Floor/Floor.png",
+ Gravity = Gravity.CenterVertical,
+ };
+ foolrRowLayout.AddChidren(btnfoolricon);
+
var btnfoolrname = new Button
{
Width = Application.GetRealWidth(250),
- Height = Application.GetRealHeight(160),
+ Height = Application.GetRealHeight(150),
Text = foolr.Value,
- TextAlignment = TextAlignment.Center,
- TextColor = ZigbeeColor.Current.LogicTextBlackColor,
- //SelectedTextColor=0xfffc744b,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
Tag = foolr.Key,
+ X = btnfoolricon.Right + Application.GetRealWidth(12),
};
foolrRowLayout.AddChidren(btnfoolrname);
-
+ if (foolrname.Text == foolr.Value)
+ {
+ btnfoolricon.UnSelectedImagePath = "Floor/FloorSelected.png";
+ btnfoolrname.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
+ }
EventHandler<MouseEventArgs> foolrnameclick = (sender13, e13) =>
{
+
roomhorizontalScrol.RemoveAll();
devicetypehorizontalScrol.RemoveAll();
middle.RemoveAll();
foolrname.Text = btnfoolrname.Text;
flMain.RemoveFromParent();
var list = Send.GetRoomList(btnfoolrname.Tag.ToString());
+
AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
};
foolrRowLayout.MouseUpEventHandler += foolrnameclick;
@@ -224,7 +262,7 @@
///绗竴娆¤繘鏉�
var roomlists = new List<Common.Room>();
roomlists.Clear();
- if (Config.Instance.Home.FloorDics.Count < 1)
+ if (Config.Instance.Home.FloorDics.Count < 2)
{
foolrname.Visible = false;
dropdown.Visible = false;
@@ -267,20 +305,20 @@
Width = Application.GetRealWidth(255),
UnSelectedImagePath = "ZigeeLogic/iconBackgroundColor.png",
SelectedImagePath = "ZigeeLogic/iconSelectedBackgroundColor.png",
- Y=Application.GetRealHeight(21),
+ Y = Application.GetRealHeight(21),
};
fra.AddChidren(roombjBtn);
- var roomnameBtn= new Button
+ var roomnameBtn = new Button
{
- Height = Application.GetRealHeight(152-26-20),
- Width = Application.GetRealWidth(255-20-50),
+ Height = Application.GetRealHeight(152 - 26 - 20),
+ Width = Application.GetRealWidth(255 - 20 - 50),
Text = room.Name,
TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
SelectedTextColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
- Y=Application.GetRealHeight(21 +13+10),
- X=Application.GetRealWidth(10+25),
+ Y = Application.GetRealHeight(21 + 13 + 10),
+ X = Application.GetRealWidth(10 + 25),
};
fra.AddChidren(roomnameBtn);
@@ -298,7 +336,8 @@
var list = new List<DeviceUI>();
foreach (var device in room.DeviceUIList)
{
- if (device.CommonDevice==null) {
+ if (device.CommonDevice == null)
+ {
continue;
}
if (!deviceTypeList.Contains(device.CommonDevice.Type))
@@ -307,6 +346,19 @@
}
list.Add(device);
}
+ if (list.Count == 0)
+ {
+ devicetypehorizontalScrol.Height = 0;
+ devicetypehorizontalScrol1.Height = 0;
+ middle.Height = 0;
+ }
+ else
+ {
+ devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
+ devicetypehorizontalScrol1.Height = Application.GetRealHeight(280);
+ middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
+ }
+
AllDeviceTypeView(list, devicetypehorizontalScrol);
}
@@ -327,7 +379,8 @@
var list = new List<DeviceUI>();
foreach (var device in room.DeviceUIList)
{
- if (device.CommonDevice==null) {
+ if (device.CommonDevice == null)
+ {
continue;
}
if (!deviceTypeList.Contains(device.CommonDevice.Type))
@@ -336,6 +389,20 @@
}
list.Add(device);
}
+
+ if (list.Count == 0)
+ {
+ devicetypehorizontalScrol.Height = 0;
+ devicetypehorizontalScrol1.Height = 0;
+ middle.Height = 0;
+ }
+ else
+ {
+ devicetypehorizontalScrol.Height = Application.GetRealHeight(280);
+ devicetypehorizontalScrol1.Height = Application.GetRealHeight(280);
+ middle.Height = Application.GetRealHeight(1920 - 40) - devicetypehorizontalScrol.Bottom;
+ }
+
AllDeviceTypeView(list, devicetypehorizontalScrol);
@@ -366,7 +433,7 @@
devicetypelist.Add(Language.StringByID(MyInternationalizationString.Curtains));
}
- var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone);
+ var iASZonejosn = devicelist.Find((device) => device.CommonDevice.Type == DeviceType.IASZone || device.CommonDevice.Type == DeviceType.TemperatureSensor);
if (iASZonejosn != null)
{
devicetypelist.Add(Language.StringByID(MyInternationalizationString.sensor));
@@ -486,6 +553,7 @@
else if (devicetype == Language.StringByID(MyInternationalizationString.sensor))
{
list.Add(DeviceType.IASZone);
+ list.Add(DeviceType.TemperatureSensor);
}
else if (devicetype == Language.StringByID(MyInternationalizationString.doorLock))
{
@@ -589,6 +657,21 @@
}
break;
+ case DeviceType.TemperatureSensor:
+ {
+ var temperatureSensor = common.CommonDevice as TemperatureSensor;
+ if (temperatureSensor.SensorDiv == 1)
+ {
+ deviceIconBtn.UnSelectedImagePath = $"ZigeeLogic/temperature.png";
+ deviceIconBtn.SelectedImagePath = $"ZigeeLogic/selectedtemperature.png";
+ }
+ else
+ {
+ deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/humidity.png";
+ deviceIconBtn.SelectedImagePath = "ZigeeLogic/selectedhumidity.png";
+ }
+ }
+ break;
case DeviceType.OnOffSwitch:
{
deviceIconBtn.UnSelectedImagePath = "ZigeeLogic/panel.png";
@@ -631,11 +714,11 @@
/// 閫変腑璇ヨ澶囧姛鑳戒綔涓烘潯浠剁殑瑙嗗浘鏂规硶
/// </summary>
/// <param name="common">Common.</param>
- public async static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit)
+ public async static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit)
{
//涓嶈褰撳墠鐣岄潰婊戝姩
UserView.HomePage.Instance.ScrollEnabled = false;
- List<Dictionary<string, string>> doorlockConditionsInfo= new List<Dictionary<string, string>>();
+ List<Dictionary<string, string>> doorlockConditionsInfo = new List<Dictionary<string, string>>();
Dictionary<string, string> deviceConditionsInfo = new Dictionary<string, string>();
dictionary(deviceConditionsInfo, "Type", "1");
dictionary(deviceConditionsInfo, "IsValid", "1");
@@ -698,9 +781,9 @@
TextID = MyInternationalizationString.security,
TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
Height = Application.GetRealHeight(140),
- Width = Application.GetRealWidth(320),
+ Width = Application.GetRealWidth(420),
TextAlignment = TextAlignment.Center,
- X = Btncancel.Right + Application.GetRealWidth(100),
+ X = Btncancel.Right + Application.GetRealWidth(50),
TextSize = 16,
Text = common.DeviceEpointName,
};
@@ -712,7 +795,7 @@
Height = Application.GetRealHeight(140),
Width = Application.GetRealWidth(200),
TextAlignment = TextAlignment.CenterRight,
- X = Btntitle.Right + Application.GetRealWidth(100),
+ X = Btntitle.Right + Application.GetRealWidth(50),
};
timetype.AddChidren(Btncomplete);
@@ -1332,12 +1415,12 @@
var buttonSelected = new SelectedButton();
buttonRow.AddChidren(buttonSelected);
EventHandler<MouseEventArgs> buttonclick = (sender, e) =>
- {
- buttonSelected.Visible = true;
- SelectedDeviceStatuscondition = "OnOffSwitch";
- button.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+ {
+ buttonSelected.Visible = true;
+ SelectedDeviceStatuscondition = "OnOffSwitch";
+ button.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
- };
+ };
buttonRow.MouseUpEventHandler += buttonclick;
button.MouseUpEventHandler += buttonclick;
buttonSelected.MouseUpEventHandler += buttonclick;
@@ -1353,50 +1436,102 @@
break;
case DeviceType.DoorLock:
{
- #region ------
- var doorlockifonlist = Send.ReadDoorLockIfon("ccccccfffe300347");
- //var list = Send.ReadDoorLockIfon(common.DeviceAddr);
- var pra = new UserCenter.MemberListInfoPra();
- string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
- var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
- Send.UserList.Clear();
- for (int i = 0; i < listInfo.Count; i++)
- {
- var membership = new Send.MembershipIfon();
- var membershipifon = listInfo[i];
- for (int j = 0; j < doorlockifonlist.Count; j++)
- {
- ///鏌ユ壘鎴愬憳浠ュ強鎴愬憳闂ㄩ攣瑙﹀彂婧�(1鎸夐敭/3鍗�/15鎸囩汗)
- if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark)
- {
- membership.UserIdMode.Add(doorlockifonlist[j].UserIdMode);
- membership.MembershipName = membershipifon.UserName;
- membership.MembershipId = membershipifon.SubAccountDistributedMark;
- }
-
- }
- if (membership.UserIdMode.Count != 0)
- {
- ///杩囨护鎺夐噸澶嶆暟鎹紱
- var str = Send.UserList.Find((c) => { return c.MembershipId == membership.MembershipId; });
- if (str == null)
- {
- Send.UserList.Add(membership);
- }
- }
-
- }
- #endregion
var memberList = new MemberList();
UserView.HomePage.Instance.AddChidren(memberList);
UserView.HomePage.Instance.PageIndex += 1;
MemberList.action += () => { flMain.RemoveFromParent(); };
+ MemberList.edit = false;
memberList.Show(common);
}
break;
+ case DeviceType.TemperatureSensor:
+ {
+ string current = Language.StringByID(MyInternationalizationString.current);
+ devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 * 2 - 20 - 50);
+ devicefra.Height = Application.GetRealHeight(140 + 160 * 2 + 20 + 50);
+ var temperatureSensor = common as TemperatureSensor;
+ var Btntemperaturevalue = new Button
+ {
+ TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
+ Height = Application.GetRealHeight(60),
+ Width = Application.GetRealWidth(400),
+ TextAlignment = TextAlignment.CenterLeft,
+ X = Application.GetRealWidth(80),
+ Y = timetype.Bottom + Application.GetRealHeight(70),
+ };
+ devicefra.AddChidren(Btntemperaturevalue);
+ var horizontalSeekBarVol = new HorizontalSeekBar
+ {
+ Width = Application.GetRealWidth(920),
+ Height = Application.GetRealHeight(80),
+ Radius = (uint)Application.GetRealHeight(25),
+ Y = timetype.Bottom + Application.GetRealHeight(70 + 60 + 70),
+ X = Application.GetRealWidth(80),
+ ProgressColor = ZigbeeColor.Current.LogicProgressColorSelected,
+ Max = 100,
+ SleepTime = 1000,
+ ThumbRadius = 9,
+ };
+ devicefra.AddChidren(horizontalSeekBarVol);
+ horizontalSeekBarVol.MouseUpEventHandler += (sender, e) =>
+ {
+ SelectedDeviceStatuscondition = "TemperatureSensor";
+ if (temperatureSensor.SensorDiv == 1)
+ {
+ dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());
+
+ Btntemperaturevalue.Text = current + ">" + horizontalSeekBarVol.Progress.ToString() + "鈩�";
+
+ }
+ else
+ {
+ Btntemperaturevalue.Text = current + "<" + horizontalSeekBarVol.Progress.ToString() + "%";
+ dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());//娓╁害鍊�
+ }
+ };
+
+
+
+ if (temperatureSensor.SensorDiv == 1)
+ {
+ dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
+ dictionary(deviceConditionsInfo, "AttriButeId", "0");
+ dictionary(deviceConditionsInfo, "Range", "0");//0澶т簬AttriButeData1鏃惰Е鍙戝姩浣�
+ dictionary(deviceConditionsInfo, "AttriButeData1", "0");
+ dictionary(deviceConditionsInfo, "AttriButeData2", "0");
+ Btntemperaturevalue.Text = current + ">0鈩�";
+
+ }
+ else
+ {
+ Btntemperaturevalue.Text = current + "<0%";
+ dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
+ dictionary(deviceConditionsInfo, "AttriButeId", "0");
+ dictionary(deviceConditionsInfo, "Range", "2");//2灏忎簬AttriButeData1鏃惰Е鍙戝姩浣�
+ dictionary(deviceConditionsInfo, "AttriButeData1", "0");//娓╁害鍊�
+ dictionary(deviceConditionsInfo, "AttriButeData2", "0");
+ }
+
+ if (edit && devices != null)
+ {
+ horizontalSeekBarVol.Progress = int.Parse(devices["AttriButeData1"]);
+ if (temperatureSensor.SensorDiv == 1)
+ {
+
+ Btntemperaturevalue.Text = current + ">" + devices["AttriButeData1"] + "鈩�";
+
+ }
+ else
+ {
+ Btntemperaturevalue.Text = current + "<" + devices["AttriButeData1"] + "%";
+ }
+ }
+
+ }
+ break;
}
Btncomplete.MouseUpEventHandler += (sender2, e2) =>
@@ -1438,7 +1573,7 @@
deviceConditionsInfo.Add(Key, Value);
}
-
+
}
}
--
Gitblit v1.8.0