From 863b530a1b95d59aee08d1cfa791ee8a1984596c Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期二, 05 十一月 2019 13:45:15 +0800
Subject: [PATCH] 2019-11-05-1
---
ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs | 255 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 217 insertions(+), 38 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index c9501cb..d2b5697 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -87,11 +87,11 @@
this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 369, 1368);
//鍥剧墖
- var btnPic = new DeviceInfoIconControl(listNewDevice[0]);
+ var btnPic = new DeviceInfoIconControl();
btnPic.Y = Application.GetRealHeight(92);
btnPic.Gravity = Gravity.CenterHorizontal;
bodyFrameLayout.AddChidren(btnPic);
- btnPic.InitControl();
+ btnPic.InitControl(listNewDevice[0]);
//璁惧澶囨敞
string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
@@ -210,8 +210,19 @@
this.AddDoorLocksTimeRow();
}
}
+ else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.AirConditioner_ZbGateway)
+ {
+ //娣诲姞銆愬鍐呮満璁剧疆銆戣(绌鸿皟涓撶敤)
+ this.AddIndoorUnitSettionRow();
+ }
else
{
+ //娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�)
+ this.AddPirSensorBindRow();
+ //娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(寮�鍚堝笜,鍗峰笜涓撶敤)
+ this.AddDirectionAndLimitRow();
+ //娣诲姞銆愭墜鎷夋帶鍒躲�戣(寮�鍚堝笜涓撶敤)
+ this.AddHandPullControlRow();
//娣诲姞銆愭寜閿缃�戣(闈㈡澘涓撶敤)
this.AddPanelSettionRow();
//娣诲姞銆愬姛鑳借缃�戣
@@ -362,45 +373,11 @@
btnFunction.ButtonClickEvent += (sender, e) =>
{
var form = new DevicePanel.PanelButtonSettionForm();
- form.AddForm(listNewDevice[0].DeviceAddr);
+ form.AddForm(listNewDevice[0]);
};
}
#endregion
-
- #region 鈻� 鍔熻兘璁剧疆(閫氱敤)_____________________
-
- /// <summary>
- /// 娣诲姞銆愬姛鑳借缃�戣
- /// </summary>
- private void AddFunctionSettionRow()
- {
- //鍔熻兘璁剧疆
- string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
- var btnFunction = new FrameRowControl(listview.rowSpace / 2);
- listview.AddChidren(btnFunction);
- btnFunction.AddLeftCaption(caption, 600);
- //鍚戝彸鍥炬爣
- btnFunction.AddRightArrow();
- //搴曠嚎
- btnFunction.AddBottomLine();
- btnFunction.ButtonClickEvent += (sender, e) =>
- {
- //娌充笢鐨勯潰鏉胯澶�
- if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
- {
- var form = new DevicePanel.PanelFunctionSettionForm();
- form.AddForm(listNewDevice[0].DeviceAddr);
- }
- else
- {
- var form = new DeviceRelay.DeviceFunctionSettionForm();
- form.AddForm(listNewDevice[0].DeviceAddr);
- }
- };
- }
-
- #endregion;
#region 鈻� 骞叉帴鐐硅缃�(骞叉帴鐐�)_________________
@@ -432,7 +409,208 @@
btnBackLight.AddBottomLine();
btnBackLight.ButtonClickEvent += (sender, e) =>
{
- var form = new DeviceRelay.DeviceDryContactSettionForm();
+ var form = new DeviceDryContactSettionForm();
+ form.AddForm(listNewDevice[0]);
+ };
+ }
+
+ #endregion
+
+ #region 鈻� 缁戝畾鐩爣(pir浼犳劅鍣ㄤ笓鐢�)____________
+
+ /// <summary>
+ /// 娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�)
+ /// </summary>
+ private void AddPirSensorBindRow()
+ {
+ if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir)
+ {
+ return;
+ }
+ //缁戝畾鐩爣
+ string caption = Language.StringByID(R.MyInternationalizationString.uBindTargets);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new DevicePirSensor.PirSensorBindTargetSettionForm();
+ form.AddForm((IASZone)this.listNewDevice[0]);
+ };
+ }
+
+ #endregion;
+
+ #region 鈻� 鍔熻兘璁剧疆(閫氱敤)_____________________
+
+ /// <summary>
+ /// 娣诲姞銆愬姛鑳借缃�戣
+ /// </summary>
+ private void AddFunctionSettionRow()
+ {
+ //鍔熻兘璁剧疆
+ string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ //娌充笢鐨勯潰鏉胯澶�
+ if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
+ {
+ var form = new DevicePanel.PanelFunctionSettionForm();
+ form.AddForm(listNewDevice[0]);
+ }
+ else
+ {
+ var form = new DeviceFunctionSettionForm();
+ form.AddForm(listNewDevice[0], false);
+ }
+ };
+ }
+
+ #endregion;
+
+ #region 鈻� 鏂瑰悜涓庨檺浣�(绐楀笜)___________________
+
+ /// <summary>
+ /// 娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(绐楀笜涓撶敤)
+ /// </summary>
+ private void AddDirectionAndLimitRow()
+ {
+ if (deviceEnumInfo.BeloneType != DeviceBeloneType.A绐楀笜)
+ {
+ return;
+ }
+ var deviceCurtain = (Rollershade)this.listNewDevice[0];
+ if (deviceCurtain.WcdType != 4 && deviceCurtain.WcdType != 0)
+ {
+ //寮�鍚堝笜,鍗峰笜涓撶敤
+ return;
+ }
+
+ //鏂瑰悜涓庨檺浣�
+ string caption = Language.StringByID(R.MyInternationalizationString.uDirectionAndLimit);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ if (deviceCurtain.WcdType == 4)
+ {
+ var form = new DeviceCurtain.AutoOpenDirectionAndLimitSettionForm();
+ form.AddForm(deviceCurtain);
+ }
+ else if (deviceCurtain.WcdType == 0)
+ {
+ var form = new DeviceCurtain.SiphonateDirectionAndLimitSettionForm();
+ form.AddForm(deviceCurtain);
+ }
+ };
+ }
+
+ #endregion;
+
+ #region 鈻� 鎵嬫媺鎺у埗(寮�鍚堝笜)___________________
+
+ /// <summary>
+ /// 娣诲姞銆愭墜鎷夋帶鍒躲�戣(寮�鍚堝笜涓撶敤)
+ /// </summary>
+ private void AddHandPullControlRow()
+ {
+ if (deviceEnumInfo.BeloneType != DeviceBeloneType.A绐楀笜)
+ {
+ return;
+ }
+ var deviceCurtain = (Rollershade)this.listNewDevice[0];
+ if (deviceCurtain.WcdType != 4)
+ {
+ //寮�鍚堝笜涓撶敤
+ return;
+ }
+
+ //鎵嬫媺鎺у埗
+ string caption = Language.StringByID(R.MyInternationalizationString.uHandPullControl);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ btnFunction.UseClickStatu = false;
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //寮�鍏冲浘鏍�
+ var btnSwitch = btnFunction.AddMostRightSwitchIcon();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnSwitch.ButtonClickEvent += async (sender, e) =>
+ {
+ //鍒囨崲妯″紡
+ var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, !btnSwitch.IsSelected);
+ if (result == true)
+ {
+ btnSwitch.IsSelected = !btnSwitch.IsSelected;
+ }
+ };
+
+ //娣诲姞灞炴�т笂鎶ョ洃鍚�
+ string mainkeys = LocalDevice.Current.GetDeviceMainKeys(this.listNewDevice[0]);
+ HdlDeviceAttributeLogic.Current.AddAttributeEvent("HandPullControl", "DeviceStatusReport", (device) =>
+ {
+ string checkKey = LocalDevice.Current.GetDeviceMainKeys(device);
+ if (mainkeys != checkKey || device.DeviceStatusReport.CluterID != 258)
+ {
+ return;
+ }
+ foreach (var attriBute in device.DeviceStatusReport.AttriBute)
+ {
+ if (attriBute.AttributeId == 23)
+ {
+ //鎵嬫媺鎺у埗
+ if (0 < (attriBute.AttriButeData & 0x04))
+ {
+ btnSwitch.IsSelected = true;
+ }
+ }
+ }
+ });
+ //鍙戦�佸懡浠�
+ deviceCurtain.ReadCurtainDirectionAndMode();
+ }
+
+ #endregion;
+
+ #region 鈻� 瀹ゅ唴鏈鸿缃�(绌鸿皟)___________________
+
+ /// <summary>
+ /// 娣诲姞銆愬鍐呮満璁剧疆銆戣(绌鸿皟涓撶敤)
+ /// </summary>
+ private void AddIndoorUnitSettionRow()
+ {
+ if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.AirConditioner_ZbGateway)
+ {
+ return;
+ }
+ //瀹ゅ唴鏈鸿缃�
+ string caption = Language.StringByID(R.MyInternationalizationString.uIndoorUnitSettion);
+ var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+ listview.AddChidren(btnFunction);
+ btnFunction.AddLeftCaption(caption, 600);
+ //鍚戝彸鍥炬爣
+ btnFunction.AddRightArrow();
+ //搴曠嚎
+ btnFunction.AddBottomLine();
+ btnFunction.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new DeviceAirConditioner.IndoorUnitListForm();
form.AddForm(listNewDevice[0].DeviceAddr);
};
}
@@ -682,6 +860,7 @@
/// </summary>
public override void CloseForm()
{
+ HdlDeviceAttributeLogic.Current.RemoveEvent("HandPullControl");
//绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋�
HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
--
Gitblit v1.8.0