From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码
---
ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs | 417 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 386 insertions(+), 31 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
index 51f2bcd..f3e6269 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
@@ -277,7 +277,7 @@
}
}
-
+
}
break;
case DeviceType.IASZone:
@@ -559,37 +559,53 @@
break;
case DeviceType.TemperatureSensor:
{
- //缂栬緫鏃剁殑鐘舵�佸��
- string str1 = "";
- string str2 = "";
- if (edit && devices != null)
- {
- //娓╁害鍊�
- str1 = devices["AttriButeData1"];
- //姣旇緝鍏崇郴鍊�
- str2 = devices["Range"];
- }
- var temperatureSensor = common as TemperatureSensor;
- if (temperatureSensor.SensorDiv == 1)
+ //鑾峰彇璁惧绫诲瀷
+ var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { common });
+
+ //绌烘皵璐ㄩ噺浼犳劅鍣�
+ if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
{
- Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
+ AirSonser(flMain, SelectedDeviceStatus, edit, common, devices);
}
else
{
- Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
- }
- Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
- Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
- completeView.Show(4);
- PublicInterface publicInterface = new PublicInterface();
- publicInterface.TemperatureShow(completeView.fraView, common, str2, str1, (relationValueStr, tempValueStr) =>
- {
- SelectedDeviceStatus = "TemperatureSensor";
- Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr);
- Send.dictionary(deviceConditionsInfo, "Range", relationValueStr);
- });
+
+ //缂栬緫鏃剁殑鐘舵�佸��
+ string str1 = "";
+ string str2 = "";
+ string str3 = "";
+ if (edit && devices != null)
+ {
+ //娓╁害鍊�
+ str1 = devices["AttriButeData1"];
+ //姣旇緝鍏崇郴鍊�
+ str2 = devices["Range"];
+
+ }
+ var temperatureSensor = common as TemperatureSensor;
+ if (temperatureSensor.SensorDiv == 1)
+ {
+ str3 = "鈩�";
+ Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
+ }
+ else
+ {
+ str3 = "%";
+ Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
+ }
+ Send.dictionary(deviceConditionsInfo, "AttriButeId", "0");
+ Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
+ completeView.Show(4);
+ PublicInterface publicInterface = new PublicInterface();
+ publicInterface.TemperatureShow(completeView.fraView, str3, str2, str1, (relationValueStr, tempValueStr) =>
+ {
+ SelectedDeviceStatus = "TemperatureSensor";
+ Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr);
+ Send.dictionary(deviceConditionsInfo, "Range", relationValueStr);
+ });
+ }
}
break;
///璋冨厜鐏厜
@@ -643,7 +659,6 @@
var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100;
Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString());
};
-
///鍙栨秷浜嬩欢
closeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -656,7 +671,6 @@
Send.dictionary(switchdictionary, "TaskType", "1");
Send.dictionary(switchdictionary, "Data1", "0");//榛樿鍊�
};
-
//鍙栧弽
takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -1177,6 +1191,8 @@
}
break;
+
+
}
completeView.Btncomplete.MouseUpEventHandler += (sender, e) =>
{
@@ -1246,9 +1262,7 @@
};
}
-
-
- /// <summary>
+ /// <summary>
/// 绌鸿皟妯″紡鐨勭姸鎬�
/// </summary>
/// <param name="modestring"></param>
@@ -1314,5 +1328,346 @@
}
}
+ /// <summary>
+ /// 绌烘皵璐ㄩ噺浼犳劅鍣╒iew(鐗规畩澶勭悊)
+ /// </summary>
+ /// <param name="flMain"></param>
+ /// <param name="SelectedDeviceStatus"></param>
+ /// <param name="edit"></param>
+ /// <param name="common"></param>
+ /// <param name="dic"></param>
+ private static void AirSonser(FrameLayout flMain,string SelectedDeviceStatus,bool edit,CommonDevice common, Dictionary<string, string> dic=null) {
+ flMain.RemoveAll();
+ if (edit&&dic!=null) {
+ AirProperty(flMain, dic, common,"", edit, SelectedDeviceStatus);
+ }
+ else
+ {
+ PublicInterface publicInterface = new PublicInterface();
+ var list0 = publicInterface.GetViewList("绌烘皵璐ㄩ噺浼犳劅鍣�");
+ publicInterface.SingleSelectionShow(flMain, list0, MyInternationalizationString.airqualitysensor, "", (tagText) =>
+ {
+ flMain.RemoveAll();
+ SelectedDeviceStatus = "TemperatureSensor";
+ AirProperty(flMain, dic, common,tagText, edit, SelectedDeviceStatus);
+ }, () => { flMain.RemoveFromParent(); });
+ }
+ }
+ /// <summary>
+ /// 绌烘皵璐ㄩ噺浼犳劅鍣ㄥ睘鎬у��(鐗规畩澶勭悊)
+ /// </summary>
+ /// <param name="flMain"></param>
+ /// <param name="dic"></param>
+ /// <param name="common"></param>
+ /// <param name="tagText"></param>
+ /// <param name="edit"></param>
+ /// <param name="SelectedDeviceStatus"></param>
+ private static void AirProperty(FrameLayout flMain, Dictionary<string, string> dic,CommonDevice common,string tagText,bool edit, string SelectedDeviceStatus) {
+ PublicInterface publicInterface = new PublicInterface();
+ string range = "";
+ string stateText = "";
+ if (edit&& dic!=null)
+ {
+ range = dic["Range"];
+ switch (dic["Cluster_ID"])
+ {
+ case "1066":
+ {
+ if (dic["AttriButeId"] == "57344")
+ {
+ tagText = Language.StringByID(MyInternationalizationString.kongqizhiliang);
+ switch (dic["AttriButeData1"])
+ {
+
+ case "1":
+ {
+ stateText = Language.StringByID(MyInternationalizationString.you);
+ }
+ break;
+ case "2":
+ {
+ stateText = Language.StringByID(MyInternationalizationString.liang);
+ }
+ break;
+ case "3":
+ {
+ stateText = Language.StringByID(MyInternationalizationString.cha);
+ }
+ break;
+ }
+ }
+ else
+ {
+ tagText = Language.StringByID(MyInternationalizationString.pm25);
+ ///Pm2.5
+ int intValue = int.Parse(dic["AttriButeData1"]);
+ if (0 < intValue && intValue < 30)
+ {
+ stateText = Language.StringByID(MyInternationalizationString.pmyou);
+ }
+ else if (36 < intValue && intValue < 75)
+ {
+ stateText = Language.StringByID(MyInternationalizationString.pmliang);
+ }
+ else if (76 < intValue && intValue < 115)
+ {
+ stateText = Language.StringByID(MyInternationalizationString.pmqingdu);
+ }
+ else if (intValue > 115)
+ {
+ stateText = Language.StringByID(MyInternationalizationString.pmzhongdu);
+ }
+
+ }
+ }
+ break;
+ case "1037":
+ {
+ tagText = Language.StringByID(MyInternationalizationString.co2);
+ ///co2
+ int intValue = int.Parse(dic["AttriButeData1"]);
+ if (0 < intValue && intValue < 1000)
+ {
+ stateText = Language.StringByID(MyInternationalizationString.co2qingxin);
+ }
+ else if (1000 < intValue && intValue < 2000)
+ {
+ stateText = Language.StringByID(MyInternationalizationString.co2huizhuo);
+ }
+ else if (2000 < intValue && intValue < 5000)
+ {
+ stateText = Language.StringByID(MyInternationalizationString.co2queyang);
+ }
+ else if (intValue > 5000)
+ {
+ stateText = Language.StringByID(MyInternationalizationString.co2yanzhongqueyang);
+ }
+ }
+ break;
+ case "1026":
+ {
+ tagText = Language.StringByID(MyInternationalizationString.sensortemperature);
+ stateText = dic["AttriButeData1"];
+ }
+ break;
+ case "1029":
+ {
+ tagText = Language.StringByID(MyInternationalizationString.sensorhumidity);
+ stateText = dic["AttriButeData1"];
+ }
+ break;
+ }
+ }
+ Dictionary<string, string> airqualitysensorDic = new Dictionary<string, string>();
+ Send.dictionary(airqualitysensorDic, "Type", "1");
+ Send.dictionary(airqualitysensorDic, "IsValid", "1");
+ Send.dictionary(airqualitysensorDic, "MacAddr", common.DeviceAddr);
+ Send.dictionary(airqualitysensorDic, "Epoint", common.DeviceEpoint.ToString());
+ if (tagText == Language.StringByID(MyInternationalizationString.kongqizhiliang))
+ {
+
+ var list1 = publicInterface.GetViewList("绌烘皵璐ㄩ噺");
+ publicInterface.SingleSelectionShow(flMain, list1, MyInternationalizationString.airqualitysensor, stateText, (strText) =>
+ {
+ SelectedDeviceStatus = "TemperatureSensor";
+ string valuaStr = "";
+ if (strText == Language.StringByID(MyInternationalizationString.you))
+ {
+ valuaStr = "1";
+ }
+ else if (strText == Language.StringByID(MyInternationalizationString.liang))
+ {
+ valuaStr = "2";
+ }
+ else if (strText == Language.StringByID(MyInternationalizationString.cha))
+ {
+ valuaStr = "3";
+ }
+ Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066");
+ Send.dictionary(airqualitysensorDic, "AttriButeId", "57344");
+ Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
+ Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+ Send.dictionary(airqualitysensorDic, "Range", "1");
+ AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+
+
+ }, () => {
+ if (edit) { flMain.RemoveFromParent(); }
+ else
+ {
+ AirSonser(flMain, SelectedDeviceStatus, edit, common);
+ } });
+
+ }
+ else if (tagText == Language.StringByID(MyInternationalizationString.pm25))
+ {
+ var list2 = publicInterface.GetViewList("pm2.5");
+ publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.pm25, stateText, (strText) =>
+ {
+ SelectedDeviceStatus = "TemperatureSensor";
+ string valuaStr = "";
+ if (strText == Language.StringByID(MyInternationalizationString.pmyou))
+ {
+ valuaStr = "18";
+ }
+ else if (strText == Language.StringByID(MyInternationalizationString.pmliang))
+ {
+ valuaStr = "54";
+ }
+ else if (strText == Language.StringByID(MyInternationalizationString.pmqingdu))
+ {
+ valuaStr = "105";
+ }
+ else if (strText == Language.StringByID(MyInternationalizationString.pmzhongdu))
+ {
+ valuaStr = "130";
+ }
+ Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066");
+ Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+ Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
+ Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+ Send.dictionary(airqualitysensorDic, "Range", "1");
+ AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+
+
+ }, () => {
+ if (edit) { flMain.RemoveFromParent(); }
+ else
+ {
+ AirSonser(flMain, SelectedDeviceStatus, edit, common);
+ }
+ });
+
+ }
+ else if (tagText == Language.StringByID(MyInternationalizationString.co2))
+ {
+
+ var list2 = publicInterface.GetViewList("co2");
+ publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.co2, stateText, (strText) =>
+ {
+ SelectedDeviceStatus = "TemperatureSensor";
+ string valuaStr = "";
+ if (strText == Language.StringByID(MyInternationalizationString.co2qingxin))
+ {
+ valuaStr = "500";
+ }
+ else if (strText == Language.StringByID(MyInternationalizationString.co2huizhuo))
+ {
+ valuaStr = "1500";
+ }
+ else if (strText == Language.StringByID(MyInternationalizationString.co2queyang))
+ {
+ valuaStr = "2500";
+ }
+ else if (strText == Language.StringByID(MyInternationalizationString.co2yanzhongqueyang))
+ {
+ valuaStr = "5500";
+ }
+ Send.dictionary(airqualitysensorDic, "Cluster_ID", "1037");
+ Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+ Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
+ Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+ Send.dictionary(airqualitysensorDic, "Range", "1");
+ AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+
+
+ }, () => {
+ if (edit) { flMain.RemoveFromParent(); }
+ else
+ {
+ AirSonser(flMain, SelectedDeviceStatus, edit, common);
+ }
+ });
+
+
+
+ }
+ else if (tagText == Language.StringByID(MyInternationalizationString.sensortemperature))
+ {
+ //缂栬緫鏃剁殑鐘舵�佸��
+ string str1 = range;
+ string str2 = stateText;
+ publicInterface.TemperatureShow1(flMain, tagText, "鈩�", str1, str2, (relationValueStr, tempValueStr) =>
+ {
+
+ SelectedDeviceStatus = "TemperatureSensor";
+ Send.dictionary(airqualitysensorDic, "Cluster_ID", "1026");
+ Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+ Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr);
+ Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+ Send.dictionary(airqualitysensorDic, "Range", relationValueStr);
+ AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+
+
+ }, () =>
+ {
+ if (edit) { flMain.RemoveFromParent(); }
+ else
+ {
+ AirSonser(flMain, SelectedDeviceStatus, edit, common);
+ }
+
+ });
+ }
+ else if (tagText == Language.StringByID(MyInternationalizationString.sensorhumidity))
+ {
+ //缂栬緫鏃剁殑鐘舵�佸��
+ string str1 = range;
+ string str2 = stateText;
+ publicInterface.TemperatureShow1(flMain, tagText, "%", str1, str2, (relationValueStr, tempValueStr) =>
+ {
+ SelectedDeviceStatus = "TemperatureSensor";
+ Send.dictionary(airqualitysensorDic, "Cluster_ID", "1029");
+ Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+ Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr);
+ Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+ Send.dictionary(airqualitysensorDic, "Range", relationValueStr);
+ AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+ }, () => {
+ if (edit) { flMain.RemoveFromParent(); }
+ else
+ {
+ AirSonser(flMain, SelectedDeviceStatus, edit, common);
+ }
+ });
+ }
+
+ }
+ /// <summary>
+ /// 绌烘皵璐ㄩ噺浼犳劅鍣�(鐗规畩澶勭悊)
+ /// </summary>
+ /// <param name="flMain"></param>
+ /// <param name="SelectedDeviceStatus"></param>
+ /// <param name="edit"></param>
+ /// <param name="common"></param>
+ /// <param name="dic"></param>
+ private static void AddDic(FrameLayout flMain, string SelectedDeviceStatus, bool edit, CommonDevice common, Dictionary<string, string> dic )
+ {
+ UserView.HomePage.Instance.ScrollEnabled = true;
+ if (SelectedDeviceStatus != "")
+ {
+ //娣诲姞鏉′欢
+ LogicIfon.AddDeviceconditions(common, dic);
+ }
+ else
+ {
+ if (!edit)
+ {
+ var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal,
+ Language.StringByID(MyInternationalizationString.selectdevicestatuscondition),
+ Language.StringByID(MyInternationalizationString.confrim));
+ alert.Show();
+ return;
+ }
+
+ }
+ flMain.RemoveFromParent();
+ //鑷姩鍖�
+ var logicCommunalPage = new LogicCommunalPage();
+ UserView.HomePage.Instance.AddChidren(logicCommunalPage);
+ UserView.HomePage.Instance.PageIndex += 1;
+ logicCommunalPage.Show(() => { });
+ }
+
}
}
--
Gitblit v1.8.0