From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 01 十二月 2021 16:32:57 +0800 Subject: [PATCH] 2021-12-01-01 --- HDL_ON/DAL/DriverLayer/Packet.cs | 48 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 33 insertions(+), 15 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs index 5994565..3e07ff2 100644 --- a/HDL_ON/DAL/DriverLayer/Packet.cs +++ b/HDL_ON/DAL/DriverLayer/Packet.cs @@ -133,11 +133,12 @@ { if (updataObj.spk != SPK.LightRGB) { - updataObj.trait_on_off.curValue = receiveBytes[2] > 0 ? "on" : "off"; + updataObj.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[2] > 0 ? "on" : "off"); if (updataObj.trait_on_off.curValue.ToString() == "on") { switch (updataObj.spk) { + case SPK.HvacFan: case SPK.ElectricFan: updataObj.SetAttrState(FunctionAttributeKey.OpenLevel, receiveBytes[2].ToString()); updataObj.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2]; @@ -160,6 +161,7 @@ case SPK.LightDimming: DimmerPage.UpdataStates(updataObj); break; + case SPK.HvacFan: case SPK.ElectricFan: FanPage.UpdataState(updataObj); break; @@ -177,7 +179,7 @@ { if (light.spk != SPK.LightRGB) { - light.trait_on_off.curValue = receiveBytes[light.bus.LoopId] == 0 ? "off" : "on"; + light.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[light.bus.LoopId] == 0 ? "off" : "on"); if (light.trait_on_off.curValue.ToString() == "on") { light.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[i+1].ToString()); @@ -216,9 +218,11 @@ switch (function.spk) { case SPK.ElectricFan: + case SPK.HvacFan: FanPage.UpdataState(function); break; case SPK.ElectricSocket: + case SPK.PanelSocket: SocketPage.UpdataState(function); break; } @@ -234,7 +238,7 @@ { if (lightTeme.spk == SPK.LightRGB) { - lightTeme.trait_on_off.curValue = receiveBytes[1] > 0 ? "on" : "off"; + lightTeme.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] > 0 ? "on" : "off"); if (receiveBytes[1] > 0) { lightTeme.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[1].ToString()); @@ -249,7 +253,7 @@ RGBPage.UpdataStates(lightTeme); }else if(lightTeme.spk == SPK.LightCCT) { - lightTeme.trait_on_off.curValue = receiveBytes[1] > 0 ? "on" : "off"; + lightTeme.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] > 0 ? "on" : "off"); if (receiveBytes[1] > 0) { lightTeme.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[1].ToString()); @@ -276,11 +280,11 @@ { if (receiveBytes[1] > 1) { - curtain.trait_on_off.curValue = "on"; + curtain.SetAttrState(FunctionAttributeKey.OnOff, "on"); } else { - curtain.trait_on_off.curValue = "off"; + curtain.SetAttrState(FunctionAttributeKey.OnOff, "off"); } curtain.SetAttrState(FunctionAttributeKey.Percent, receiveBytes[1].ToString()); curtain.lastState = Language.StringByID(StringId.Open) + curtain.GetAttrState(FunctionAttributeKey.Percent) + "%"; @@ -292,14 +296,15 @@ switch (receiveBytes[1]) { case 0: - curtain.trait_on_off.curValue = "stop"; - break; + curtain.SetAttrState(FunctionAttributeKey.OnOff, "stop"); + return; case 1: - curtain.trait_on_off.curValue = "on"; + curtain.SetAttrState(FunctionAttributeKey.OnOff, "on"); + //curtain. curtain.lastState = Language.StringByID(StringId.Open); break; case 2: - curtain.trait_on_off.curValue = "off"; + curtain.SetAttrState(FunctionAttributeKey.OnOff, "off"); curtain.lastState = Language.StringByID(StringId.Close); break; } @@ -332,7 +337,7 @@ { function.SetAttrState(FunctionAttributeKey.TempType, receiveBytes[1].ToString()); function.SetAttrState(FunctionAttributeKey.RoomTemp, receiveBytes[2].ToString()); - function.trait_on_off.curValue = receiveBytes[8] == 1 ? "on" : "off"; + function.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[8] == 1 ? "on" : "off"); acFunction.SetMode(receiveBytes[9],function); acFunction.SetFan(receiveBytes[10],function); function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[11].ToString()); @@ -375,7 +380,8 @@ FunctionPage.UpdataStates(function); HomePage.UpdataFunctionStates(function); ClassificationPage.UpdataInfo(function); - ACPage.UpdataStates(function); + Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(function.sid, function.status); + } } break; @@ -386,7 +392,7 @@ if (function.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { function.SetAttrState(FunctionAttributeKey.TempType, receiveBytes[2]); - function.trait_on_off.curValue = receiveBytes[1] % 2 == 0 ? "off" : "on"; + function.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] % 2 == 0 ? "off" : "on"); new FloorHeating().SetModeIndex(receiveBytes[3],function); if (function.Fh_Mode_Temp.ContainsKey("normal")) @@ -519,21 +525,27 @@ case SPK.SensorTemperature: byte[] tempBytes = new byte[] { receiveBytes[24], receiveBytes[25], receiveBytes[26], receiveBytes[27] }; sensor.SetAttrState(FunctionAttributeKey.Value,Math.Round(BitConverter.ToSingle(tempBytes, 0), 1).ToString()); + sensor.SetAttrState(sensor.spk,Math.Round(BitConverter.ToSingle(tempBytes, 0), 1).ToString()); break; case SPK.SensorHumidity: sensor.SetAttrState(FunctionAttributeKey.Value, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10).ToString()); + sensor.SetAttrState(sensor.spk, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10).ToString()); break; case SPK.SensorTVOC: sensor.SetAttrState(FunctionAttributeKey.Value, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100).ToString()); + sensor.SetAttrState(sensor.spk, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100).ToString()); break; case SPK.SensorPm25: sensor.SetAttrState(FunctionAttributeKey.Value,Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString()); + sensor.SetAttrState(sensor.spk,Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString()); break; case SPK.SensorCO2: sensor.SetAttrState(FunctionAttributeKey.Value, Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString()); + sensor.SetAttrState(sensor.spk, Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString()); break; } EnvironmentalPage.LoadEvent_UpdataStatus(sensor); + //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(sensor); } } } @@ -571,13 +583,16 @@ { case 1: sensor.SetAttrState(FunctionAttributeKey.Value,( (receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]).ToString()); + sensor.SetAttrState(sensor.spk,( (receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]).ToString()); break; case 2: sensor.SetAttrState(FunctionAttributeKey.Value,( -1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8])).ToString()); + sensor.SetAttrState(sensor.spk,( -1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8])).ToString()); break; case 3: byte[] tempBytes = new byte[] { receiveBytes[5], receiveBytes[6], receiveBytes[7], receiveBytes[8] }; sensor.SetAttrState(FunctionAttributeKey.Value,( Math.Round(BitConverter.ToSingle(tempBytes, 0), 1)).ToString()); + sensor.SetAttrState(sensor.spk,( Math.Round(BitConverter.ToSingle(tempBytes, 0), 1)).ToString()); break; } switch (receiveBytes[4]) @@ -587,9 +602,12 @@ { var value = Convert.ToInt32(sensor.GetAttrState(FunctionAttributeKey.Value)); sensor.SetAttrState(FunctionAttributeKey.Value, (value /= 100000).ToString()); + sensor.SetAttrState(sensor.spk, (value /= 100000).ToString()); } break; } + + //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(sensor); EnvironmentalPage.LoadEvent_UpdataStatus(sensor); } } @@ -618,7 +636,7 @@ switch (receiveBytes[0]) { case 3:// - function.trait_on_off.curValue = receiveBytes[1] == 1 ? "on" : "off"; + function.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] == 1 ? "on" : "off"); break; case 4: case 7: @@ -640,7 +658,7 @@ FunctionPage.UpdataStates(function); HomePage.UpdataFunctionStates(function); ClassificationPage.UpdataInfo(function); - ACPage.UpdataStates(function); + Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(function.sid, function.status); } } break; -- Gitblit v1.8.0