From a45fe56aeeac8f28a9891b83362954067c8166dc Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期五, 14 八月 2020 09:07:05 +0800 Subject: [PATCH] 请合并新代码,更改多功能面板绑定表重复问题 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 60 insertions(+), 5 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs index 71bc66b..a1d3219 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs @@ -251,6 +251,51 @@ } #endregion + #region 鈻� 鐢甸噺鎺ㄩ�� + //鐢甸噺鎺ㄩ�� + if (report.DeviceStatusReport.CluterID == 1) + { + foreach (var attData in report.DeviceStatusReport.AttriBute) + { + //鐢甸噺 + if (attData.AttributeId == 33) + { + string receiptData = string.Empty; + //涓や釜涓や釜浣嶇疆鏇挎崲 + for (int i = attData.AttriButeDataHex.Length - 1; i >= 0; i = i - 2) + { + receiptData += attData.AttriButeDataHex[i - 1].ToString() + attData.AttriButeDataHex[i].ToString(); + } + int batteryValue = Convert.ToInt32(receiptData, 16); + //浣庝簬20%,鍒欎唬琛ㄧ數閲忎綆 + locadevice.IsBatteryDown = batteryValue < 20; + } + //宸茬粡鎺ユ敹鍒扮姸鎬� + locadevice.HadReadDeviceStatu = true; + } + } + + #endregion + + #region 鈻� 铚傞福鍣ㄦ帹閫� + //铚傞福鍣ㄦ暟鎹� + else if (report.DeviceStatusReport.CluterID == 1282) + { + //mini澶滅伅 + if (Common.LocalDevice.Current.IsMiniLight(locadevice) == true) + { + foreach (var attData in report.DeviceStatusReport.AttriBute) + { + if (attData.AttributeId == 0) + { + //杩欎釜鏄姤璀︽寔缁椂闂�(澶т簬2绉掓椂,鏍囪涓鸿繕鍦ㄥ搷鐫�) + ((ColorTemperatureLight)locadevice).IsBuzzerRing = attData.AttriButeData > 2 ? true : false; + } + } + } + } + #endregion + #region 鈻� 绐楀笜鏁版嵁 //绐楀笜鏁版嵁 else if (report.DeviceStatusReport.CluterID == 258) @@ -420,6 +465,12 @@ } //宸茬粡鎺ユ敹鍒扮姸鎬� locadevice.HadReadDeviceStatu = true; + + if (locadevice is LightBase) + { + //褰撴帴鏀跺埌浜害鍊兼椂,榛樿鎵撳紑 + ((LightBase)locadevice).OnOffStatus = 1; + } } } #endregion @@ -491,7 +542,7 @@ //娓╁害浼犳劅鍣� if (locadevice is TemperatureSensor) { - ((TemperatureSensor)locadevice).Temperatrue = temperatrue; + ((TemperatureSensor)locadevice).currentTemperature = temperatrue; } //PM2.5浼犳劅鍣� else if (locadevice is PMSensor) @@ -500,6 +551,8 @@ } //宸茬粡鎺ユ敹鍒扮姸鎬� locadevice.HadReadDeviceStatu = true; + //娓╁害鍊奸渶瑕佷繚瀛� + locadevice.ReSave(); } } } @@ -540,21 +593,23 @@ //婀垮害浼犳劅鍣� if (locadevice is TemperatureSensor) { - ((TemperatureSensor)locadevice).Humidity = humidity; + ((TemperatureSensor)locadevice).currentHumidity = humidity; } //鏂伴鐨勬箍搴︿紶鎰熷櫒 else if (locadevice is HumiditySensor) { - ((HumiditySensor)locadevice).Humidity = humidity; + ((HumiditySensor)locadevice).currentHumidity = humidity; } //PM2.5浼犳劅鍣� else if (locadevice is PMSensor) { ((PMSensor)locadevice).currentHumidity = (int)humidity; } + //宸茬粡鎺ユ敹鍒扮姸鎬� + locadevice.HadReadDeviceStatu = true; + //婀垮害鍊奸渶瑕佷繚瀛� + locadevice.ReSave(); } - //宸茬粡鎺ユ敹鍒扮姸鎬� - locadevice.HadReadDeviceStatu = true; } } #endregion -- Gitblit v1.8.0