From d6fb0646531172f23648441c224cdcccd721b894 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期一, 14 十二月 2020 09:59:01 +0800
Subject: [PATCH] 请合并代码,完成晾衣架最终功能。
---
ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs | 253 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 176 insertions(+), 77 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
index 317bb6c..8f019c6 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
@@ -12,17 +12,20 @@
/// 閫変腑璇ヨ澶囧姛鑳戒綔涓烘潯浠舵垨鑰呯洰鏍囩殑瑙嗗浘鏂规硶
/// </summary>
/// <param name="common">Common.</param>
- public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str)
+ public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str,int intValue)
{
#region -------鐣岄潰甯冨眬閮ㄥ垎
//涓嶈褰撳墠鐣岄潰婊戝姩
UserView.HomePage.Instance.ScrollEnabled = false;
CompleteView completeView = new CompleteView();
flMain.AddChidren(completeView.Show(1));
- completeView.Btntitle.Text = common.DeviceEpointName;
+ completeView.Btntitle.Text = LocalDevice.Current.GetDeviceEpointName(common);
EventHandler<MouseEventArgs> clickcancel = (sender, e) =>
{
- UserView.HomePage.Instance.ScrollEnabled = true;
+ if (edit)
+ {
+ UserView.HomePage.Instance.ScrollEnabled = true;
+ }
flMain.RemoveFromParent();
};
flMain.MouseUpEventHandler += clickcancel;
@@ -34,39 +37,43 @@
openView.titleBtn.TextID = MyInternationalizationString.open;
mFunView closeView = new mFunView();
- closeView.frameLayout.Y = openView.frameLayout.Bottom;
+ closeView.frameLayout.Y = Application.GetRealHeight(140 + 20+160);
+ // closeView.frameLayout.Y = openView.frameLayout.Bottom;
//completeView.Show(l).AddChidren(closeView.Show());
closeView.titleBtn.TextID = MyInternationalizationString.close;
mFunView takebackView = new mFunView();
- takebackView.frameLayout.Y = closeView.frameLayout.Bottom;
+ takebackView.frameLayout.Y = Application.GetRealHeight(140+20+160+160);
+ // takebackView.frameLayout.Y = closeView.frameLayout.Bottom;
//completeView.Show(l).AddChidren(takebackView.Show());
takebackView.titleBtn.TextID = MyInternationalizationString.onoff;
takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
-
+ #region -------杩涘害鏉℃帶浠�
var horizontalSeekBarRowLien = new RowLayout
{
- Y = openView.frameLayout.Bottom,
- Width = Application.GetRealWidth(920),
+ //Y = openView.frameLayout.Bottom,
+ Width = Application.GetRealWidth(915),
Height = Application.GetRealHeight(160),
X = Application.GetRealWidth(80),
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
};
var horizontalSeekBarVol = new DiyImageSeekBar
{
- Y = openView.frameLayout.Bottom,
- X = Application.GetRealWidth(80),
- Width = Application.GetRealWidth(920),
- Height = Application.GetRealHeight(160),
+ //Y = openView.frameLayout.Bottom,//杩涘害鏉$埗鎺т欢Y鍧愭爣
+ X = Application.GetRealWidth(80),//杩涘害鏉鍧愭爣
+ Width = Application.GetRealWidth(915),//杩涘害鏉$殑闀垮害
+ Height = Application.GetRealHeight(160),//杩涘害鏉$埗鎺т欢楂樺害
IsProgressTextShow = true,//鏄剧ず鐧惧垎姣�
IsClickable = false,//杩涘害鏉℃槸鍚︽粦鍔�
ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//閫変腑杩涘害鏉¢鑹�
ThumbImagePath = "ZigeeLogic/progressbtn2.png",//杩涘害鏉℃寜閽浘鏍�
ThumbImageHeight = Application.GetRealHeight(56),//杩涘害鏉℃寜閽浘鏍囩殑楂樺害锛堥粯璁ゆ鏂瑰舰锛氬鍜岄珮涓�鏍凤級
ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
- ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�
- SeekBarViewHeight = Application.GetRealHeight(10),//杩涘害鏉$殑楂樺害
+ ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�12
+ SeekBarViewHeight = Application.GetRealHeight(6),//杩涘害鏉$殑楂樺害10
+ SeekBarPadding = 30,
};
+ #endregion
#endregion
#region -------鏁版嵁澶勭悊閮ㄥ垎
@@ -93,33 +100,28 @@
{
if (_if[0]== "condition")
{
- foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions)
+ var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue];
+ if (deviceinfo["Type"] == "1")
{
- if (deviceinfo["Type"] == "1")
+ if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
{
- if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
- {
- devices = deviceinfo;
- break;
+ devices = deviceinfo;
- }
}
}
}
else
{
- foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions)
+ var deviceinfo = Common.Logic.CurrentLogic.Actions[intValue];
+ if (deviceinfo["LinkType"].ToString() == "0")
{
- if (deviceinfo["LinkType"].ToString() == "0")
- {
- if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
- {
- TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
- break;
- }
+ if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
+ {
+ TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
}
}
+
}
}
#endregion
@@ -207,7 +209,9 @@
completeView.Show(l).AddChidren(openView.Show());
completeView.Show(l).AddChidren(closeView.Show());
+ //closeView.frameLayout.Y = openView.frameLayout.Bottom;
completeView.Show(l).AddChidren(takebackView.Show());
+ //takebackView.frameLayout.Y = closeView.frameLayout.Bottom;
takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
#endregion
@@ -290,7 +294,7 @@
Send.dictionary(deviceConditionsInfo, "AttriButeId", "1281");
Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
- int timevalue = 0;
+ int timeValue = 0;
///鐐瑰嚮纭浜嬩欢
openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -301,10 +305,11 @@
closeView.selectedIconBtn.Visible = false;
if (iASZonedevice.IasDeviceType == 13)
{
+
closeView.selectedIconBtn.Visible = true;
}
Send.dictionary(deviceConditionsInfo, "Range", "5");
- Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1");
+ Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//鏀寔1鍜�2;1+2=3
};
///鐐瑰嚮鍙栨秷浜嬩欢
closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
@@ -314,53 +319,109 @@
closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
openView.selectedIconBtn.Visible = false;
closeView.selectedIconBtn.Visible = true;
- Send.dictionary(deviceConditionsInfo, "Range", "1");
- Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0");
- if (iASZonedevice.IasDeviceType == 13)
+ Send.dictionary(deviceConditionsInfo, "Range", "8");//1
+ Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//0
+ if (iASZonedevice.IasDeviceType == 13|| iASZonedevice.IasDeviceType == 541)
{
SelectedDeviceStatus = "";
- openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
- openView.selectedIconBtn.Visible = false;
- closeView.selectedIconBtn.Visible = true;
var ignoreTime = new IgnoreTime();
UserView.HomePage.Instance.AddChidren(ignoreTime);
UserView.HomePage.Instance.PageIndex += 1;
- ignoreTime.Show(common, closeView.titleBtn.Text, edit, timevalue);
+ ignoreTime.Show(common, closeView.titleBtn.Text, edit, timeValue, _if[1]);
}
-
-
};
switch (iASZonedevice.IasDeviceType)
{
case 13:
{
- openView.titleBtn.TextID = MyInternationalizationString.someone;
- closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
- closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
- closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
- closeView.selectedIconBtn.Visible = true;
- completeView.Show(2).AddChidren(openView.Show());
- completeView.Show(2).AddChidren(closeView.Show());
+
+ if (common.ModelIdentifier == "MSPIRB-ZB.10")
+ {
+ int _height = 3;
+ if (edit)
+ {
+ _height = 2;
+ }
+ var view = completeView.Show(_height);
+ openView.titleBtn.TextID = MyInternationalizationString.someone;
+ closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
+ closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
+ closeView.selectedIconBtn.Visible = true;
+ view.AddChidren(openView.Show());
+ view.AddChidren(closeView.Show());
+
+ takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+ takebackView.selectedIconBtn.Visible = true;
+ takebackView.titleBtn.TextID = MyInternationalizationString.ambientLight;
+ takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
+ if (edit)
+ {
+
+ if (devices["Cluster_ID"] == "1024")
+ {
+ flMain.RemoveFromParent();
+ var illumination = new Illumination();
+ UserView.HomePage.Instance.AddChidren(illumination);
+ UserView.HomePage.Instance.PageIndex += 1;
+ illumination.Show(common, takebackView.titleBtn.Text, int.Parse(devices["AttriButeData1"]), true);
+ }
+ else
+ {
+ closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+ }
+ }
+ else
+ {
+ view.AddChidren(takebackView.Show());
+
+ }
+
+
+ takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ SelectedDeviceStatus = "";
+ openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
+ openView.selectedIconBtn.Visible = false;
+ var illumination = new Illumination();
+ UserView.HomePage.Instance.AddChidren(illumination);
+ UserView.HomePage.Instance.PageIndex += 1;
+ illumination.Show(common, takebackView.titleBtn.Text, 0, false);
+
+ };
+
+ }
+ else
+ {
+
+ openView.titleBtn.TextID = MyInternationalizationString.someone;
+ closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
+ closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+ closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
+ closeView.selectedIconBtn.Visible = true;
+ completeView.Show(2).AddChidren(openView.Show());
+ completeView.Show(2).AddChidren(closeView.Show());
+
+ }
}
break;
case 21:
case 22:
{
#region
+ var view = completeView.Show(3);
openView.titleBtn.TextID = MyInternationalizationString.logicopen;
closeView.titleBtn.TextID = MyInternationalizationString.logicclose;
- completeView.Show(3).AddChidren(openView.Show());
- completeView.Show(3).AddChidren(closeView.Show());
+ view.AddChidren(openView.Show());
+ view.AddChidren(closeView.Show());
- mFunView timeoutView = new mFunView();
- timeoutView.frameLayout.Y = closeView.frameLayout.Bottom;
- timeoutView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
- completeView.Show(3).AddChidren(timeoutView.Show());
- timeoutView.titleBtn.TextID = MyInternationalizationString.closetimeout;
- timeoutView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
- timeoutView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
+ takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+ takebackView.selectedIconBtn.Visible = true;
+ takebackView.titleBtn.TextID = MyInternationalizationString.closetimeout;
+ takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
+ view.AddChidren(takebackView.Show());
+ takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
{
SelectedDeviceStatus = "";
openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
@@ -370,7 +431,7 @@
var ignoreTime = new IgnoreTime();
UserView.HomePage.Instance.AddChidren(ignoreTime);
UserView.HomePage.Instance.PageIndex += 1;
- ignoreTime.Show(common, timeoutView.titleBtn.Text, edit, timevalue);
+ ignoreTime.Show(common, takebackView.titleBtn.Text, edit, timeValue, _if[1]);
};
@@ -379,6 +440,7 @@
break;
case 40:
{
+
openView.titleBtn.TextID = MyInternationalizationString.smokescreen;
openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
completeView.Show(1).AddChidren(openView.Show());
@@ -395,7 +457,7 @@
}
break;
case 43:
- {
+ {//鍙厓璇寸殑
openView.titleBtn.TextID = MyInternationalizationString.gas;
openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
completeView.Show(1).AddChidren(openView.Show());
@@ -428,30 +490,32 @@
{
if (devices["AttriButeId"] == "1281")
{
- if (devices["AttriButeData1"] == "1")
+ if (devices.ContainsKey("IgnoreTime")&& devices["IgnoreTime"]!="0")
{
- openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
- closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
- openView.selectedIconBtn.Visible = true;
- closeView.selectedIconBtn.Visible = false;
+ timeValue = int.Parse(devices["IgnoreTime"]);
}
else
{
- if (devices.ContainsKey("IgnoreTime"))
+ if (devices["Range"]== "5")
{
- timevalue = int.Parse(devices["IgnoreTime"]);
+ openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
+ closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
+ openView.selectedIconBtn.Visible = true;
+ closeView.selectedIconBtn.Visible = false;
}
else
{
openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
openView.selectedIconBtn.Visible = false;
- closeView.titleBtn.Visible = true;
+ closeView.selectedIconBtn.Visible = true;
}
+
}
+
+
}
-
-
+
}
}
@@ -466,7 +530,8 @@
Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
completeView.Show(l).AddChidren(openView.Show());
- openView.titleBtn.Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString();
+ openView.titleBtn.Text = LocalDevice.Current.GetDeviceEpointName(common);
+ //openView.titleBtn.Text =Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString();
openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -484,7 +549,7 @@
}
break;
case DeviceType.DoorLock:
- {
+ {
flMain.RemoveFromParent();
var memberList = new MemberList();
@@ -527,7 +592,7 @@
Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
Send.dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣�
- Send.dictionary(deviceConditionsInfo, "AttriButeData1", "50");//榛樿娓╁害鍊�50鈩�
+ Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//榛樿娓╁害鍊�50鈩�
Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
}
else
@@ -536,7 +601,7 @@
Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
Send.dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣�
- Send.dictionary(deviceConditionsInfo, "AttriButeData1", "50");//榛樿婀垮害鍊�50%
+ Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//榛樿婀垮害鍊�50%
Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
}
mUIPickerView.setNPicker(mList1, mList2, mList3);
@@ -545,8 +610,10 @@
mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
{
+ ///娓╁害杩涚巼杞崲*100
+ var strValue = (int.Parse(mList2[s2]) * 100).ToString();
SelectedDeviceStatus = "TemperatureSensor";
- Send.dictionary(deviceConditionsInfo, "AttriButeData1", mList2[s2]);
+ Send.dictionary(deviceConditionsInfo, "AttriButeData1", strValue);
switch (mList1[s1])
{
case ">":
@@ -612,8 +679,10 @@
break;
}
//鏌ユ壘绱㈠紩
- index1 = mList1.IndexOf(s);
- index2 = mList2.IndexOf(devices["AttriButeData1"]);
+ index1 = mList1.IndexOf(s);
+ //杞崲娓╁害鍊�/100
+ var dd = (int.Parse(devices["AttriButeData1"])/100).ToString();
+ index2 = mList2.IndexOf(dd);
}
///鏇存柊鏈�鏂扮姸鎬侊紱
@@ -631,8 +700,12 @@
taskListInfo.Add(switchdictionary);
completeView.Show(l).AddChidren(openView.Show());
openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+
+ horizontalSeekBarRowLien.Y = openView.frameLayout.Bottom;
+ horizontalSeekBarVol.Y = openView.frameLayout.Bottom;
completeView.Show(l).AddChidren(horizontalSeekBarRowLien);
completeView.Show(l).AddChidren(horizontalSeekBarVol);
+
closeView.frameLayout.Y = horizontalSeekBarRowLien.Bottom;
completeView.Show(l).AddChidren(closeView.Show());
@@ -748,6 +821,9 @@
openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
+
+ horizontalSeekBarRowLien.Y = openView.frameLayout.Bottom;
+ horizontalSeekBarVol.Y = openView.frameLayout.Bottom;
completeView.Show(l).AddChidren(horizontalSeekBarRowLien);
completeView.Show(l).AddChidren(horizontalSeekBarVol);
@@ -1182,6 +1258,22 @@
};
}
break;
+ case DeviceType.ColorTemperatureLight: {
+ flMain.RemoveFromParent();
+ var nightlight = new Nightlight();
+ UserView.HomePage.Instance.AddChidren(nightlight);
+ UserView.HomePage.Instance.PageIndex += 1;
+ if (edit)
+ {
+ nightlight.Show(common, edit, _if[1], Common.Logic.CurrentLogic.Actions[intValue]);
+ }
+ else
+ {
+ nightlight.Show(common, edit, _if[1]);
+ }
+
+ }
+ break;
}
completeView.Btncomplete.MouseUpEventHandler += (sender, e) =>
{
@@ -1194,14 +1286,21 @@
}
else
{ //娣诲姞鐩爣
- LogicIfon.AddDeviceactions(common, actionsInfo);
+ if (SelectedDeviceStatus == "DoorLock")
+ {//闂ㄩ攣鏁版嵁鐗规畩,杩涜鐗规畩澶勭悊;
+ LogicIfon.AddDoorLockActions(common, actionsInfo);
+ }
+ else
+ {
+ LogicIfon.AddDeviceActions(common, actionsInfo);
+ }
}
}
else
{
if (!edit)
{
- var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal,
+ var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal,
Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
Language.StringByID(MyInternationalizationString.confrim));
alert.Show();
--
Gitblit v1.8.0