From 9c16d3614d9b88c637f967518a329f239fcd3aaf Mon Sep 17 00:00:00 2001 From: lss <316519258@qq.com> Date: 星期五, 12 六月 2020 09:22:04 +0800 Subject: [PATCH] 2020.06.12 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs | 57 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 46 insertions(+), 11 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs index 2e8ec34..48f59b9 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs @@ -173,7 +173,7 @@ //璁惧鎺у埗鐘舵�佸弽棣� else if (reportTopic == "DeviceDefaultAck") { - this.DeviceControlResponePush(JObject.Parse(msgData)); + //this.DeviceControlResponePush(JObject.Parse(msgData)); } //鎾ら槻 else if (topic == gatewayId + "/Security/WithdrawMode_Respon") @@ -406,10 +406,36 @@ else if (report.DeviceStatusReport.CluterID == 8) { locadevice.DeviceStatusReport = report.DeviceStatusReport; - if (locadevice.Type == DeviceType.DimmableLight && report.DeviceStatusReport.AttriBute[0].AttributeId == 0) + if (report.DeviceStatusReport.AttriBute[0].AttributeId == 0) { - //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴� - ((DimmableLight)locadevice).Level = report.DeviceStatusReport.AttriBute[0].AttriButeData; + if (locadevice.Type == DeviceType.DimmableLight) + { + //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴� + ((DimmableLight)locadevice).Level = report.DeviceStatusReport.AttriBute[0].AttriButeData; + } + else if (locadevice.Type == DeviceType.ColorTemperatureLight) + { + //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴� + ((ColorTemperatureLight)locadevice).Level = report.DeviceStatusReport.AttriBute[0].AttriButeData; + } + //宸茬粡鎺ユ敹鍒扮姸鎬� + locadevice.HadReadDeviceStatu = true; + } + } + #endregion + + #region 鈻� 鑹叉俯鏁版嵁 + //鑹叉俯鏁版嵁 + else if (report.DeviceStatusReport.CluterID == 768) + { + locadevice.DeviceStatusReport = report.DeviceStatusReport; + if (report.DeviceStatusReport.AttriBute[0].AttributeId == 0) + { + if (locadevice.Type == DeviceType.ColorTemperatureLight) + { + //姝ゅ睘鎬ц〃鏄庡綋鍓嶈壊娓� + ((ColorTemperatureLight)locadevice).ColorTemperature = report.DeviceStatusReport.AttriBute[0].AttriButeData; + } //宸茬粡鎺ユ敹鍒扮姸鎬� locadevice.HadReadDeviceStatu = true; } @@ -510,10 +536,15 @@ strValue = strValue.Substring(0, strValue.Length - 1); humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); } - //娓╁害浼犳劅鍣� + //婀垮害浼犳劅鍣� if (locadevice is TemperatureSensor) { ((TemperatureSensor)locadevice).Humidity = humidity; + } + //鏂伴鐨勬箍搴︿紶鎰熷櫒 + else if (locadevice is HumiditySensor) + { + ((HumiditySensor)locadevice).Humidity = humidity; } //PM2.5浼犳劅鍣� else if (locadevice is PMSensor) @@ -612,7 +643,7 @@ var info = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockAlarmsResult>(receiveData["Data"].ToString()); if (info.Clusterid == 257) { - //216锛氶攣涓婅缃殑甯稿紑 + //216锛氶攣涓婅缃殑甯稿紑 if (info.AlarmCode == 216) { HdlThreadLogic.Current.RunMain(() => @@ -620,7 +651,7 @@ //鏇存柊闂ㄩ攣娑夊強鐨勫父寮�/甯稿叧鐨勭晫闈� if (UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction != null) { - UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction(device.DeviceAddr + device.DeviceEpoint, true); + UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction(device.DeviceAddr, true); } }); } @@ -840,12 +871,16 @@ HdlThreadLogic.Current.RunThread(async () => { - var result = await Shared.Phone.Device.Logic.SkipView.Exist(3, (ZigBee.Device.DoorLock)device[0]); HdlThreadLogic.Current.RunMain(() => { - //寮瑰嚭寰愭鐨勯偅涓獥鍙� - DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device[0], DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush, - result != 0 ? true : false, ControlCommonResourse.UpdateDoorLockStatusAction); + //鎻愮ず闂ㄩ攣宸茬粡澶辨晥 + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NormallyClosed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + + //鏇存柊闂ㄩ攣娑夊強鐨勫父寮�/甯稿叧鐨勭晫闈� + if (UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction != null) + { + UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction(deviceAddr, false); + } }); }); } -- Gitblit v1.8.0