From e990a9737e423d7005506a569e98fb4032fceb46 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 29 三月 2021 09:15:08 +0800 Subject: [PATCH] Merge branch 'temp-wxr' into WJC --- HDL_ON/DAL/DriverLayer/Packet.cs | 122 +++++++++++++++++++++++++++++----------- 1 files changed, 89 insertions(+), 33 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs index b99f6dd..ad530d3 100644 --- a/HDL_ON/DAL/DriverLayer/Packet.cs +++ b/HDL_ON/DAL/DriverLayer/Packet.cs @@ -315,7 +315,7 @@ if (function.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { function.SetAttrState(FunctionAttributeKey.TempType, receiveBytes[1].ToString()); - function.SetAttrState(FunctionAttributeKey.IndoorTemp, receiveBytes[2].ToString()); + function.SetAttrState(FunctionAttributeKey.RoomTemp, receiveBytes[2].ToString()); function.trait_on_off.curValue = receiveBytes[8] == 1 ? "on" : "off"; acFunction.SetMode(receiveBytes[9],function); acFunction.SetFan(receiveBytes[10],function); @@ -405,38 +405,44 @@ { function.Fh_Mode_Temp.Add("away", receiveBytes[7]); } - - switch (function.GetAttrState(FunctionAttributeKey.Mode)) + if (function.GetAttribute(FunctionAttributeKey.Mode) == null) { - case "normal": - function.lastState = Language.StringByID(StringId.Normal); - function.SetAttrState(FunctionAttributeKey.SetTemp,receiveBytes[4].ToString()); - break; - case "day": - function.lastState = Language.StringByID(StringId.Day); - function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[5].ToString()); - break; - case "night": - function.lastState = Language.StringByID(StringId.Night); - function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[6].ToString()); - break; - case "timer": - function.lastState = Language.StringByID(StringId.Auto); - if (receiveBytes[8] == 0) - { - function.SetAttrState(FunctionAttributeKey.TimeFlag, 0); + function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[4].ToString()); + } + else + { + switch (function.GetAttrState(FunctionAttributeKey.Mode)) + { + case "normal": + function.lastState = Language.StringByID(StringId.Normal); + function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[4].ToString()); + break; + case "day": + function.lastState = Language.StringByID(StringId.Day); function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[5].ToString()); - } - else - { - function.SetAttrState(FunctionAttributeKey.TimeFlag, 1); + break; + case "night": + function.lastState = Language.StringByID(StringId.Night); function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[6].ToString()); - } - break; - case "away": - function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[7].ToString()); - function.lastState = Language.StringByID(StringId.Away); - break; + break; + case "timer": + function.lastState = Language.StringByID(StringId.Auto); + if (receiveBytes[8] == 0) + { + function.SetAttrState(FunctionAttributeKey.TimeFlag, 0); + function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[5].ToString()); + } + else + { + function.SetAttrState(FunctionAttributeKey.TimeFlag, 1); + function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[6].ToString()); + } + break; + case "away": + function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[7].ToString()); + function.lastState = Language.StringByID(StringId.Away); + break; + } } var indoorTemp = 0; if (receiveBytes[9] > 128) @@ -446,9 +452,16 @@ { indoorTemp = receiveBytes[9]; } - function.SetAttrState(FunctionAttributeKey.IndoorTemp, indoorTemp); + function.SetAttrState(FunctionAttributeKey.RoomTemp, indoorTemp); - function.lastState += " " + function.GetAttrState(FunctionAttributeKey.Mode) + new FloorHeating().GetTempUnitString(function); + if (function.GetAttribute(FunctionAttributeKey.Mode) == null) + { + function.lastState = ""; + } + else + { + function.lastState += " " + function.GetAttrState(FunctionAttributeKey.Mode) + new FloorHeating().GetTempUnitString(function); + } RoomPage.UpdataStates(function); FunctionPage.UpdataStates(function); HomePage.UpdataFunctionStates(function); @@ -621,7 +634,7 @@ { if (ac.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) { - ac.SetAttrState(FunctionAttributeKey.IndoorTemp, receiveBytes[1].ToString()); + ac.SetAttrState(FunctionAttributeKey.RoomTemp, receiveBytes[1].ToString()); FunctionPage.UpdataStates(ac); } } @@ -636,6 +649,45 @@ Control.Ins.IsSearchLocalGatewaySuccessful = true; Control.Ins.GatewayOnline_Local = true; DAL.Mqtt.MqttClient.DisConnectRemote();//鏂紑mqtt + } + break; + case Command.FreshAirControlACK_JinMao: + case Command.FreshAirReadACK_JinMao: + var airFresh = FunctionList.List.GetAirFreshList().Find((obj) => obj.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]); + if (airFresh != null) + { + /// 3 寮�鍏� 0-鍏虫満锛�1-寮�鏈� + /// 4 杩愯妯″紡 1-閫氶锛�2-鍔犳箍 humidification/fan + /// 5 鑺傝兘鑸掗�傞�夋嫨 1-鑸掗�傦紝2-鑺傝兘 true/false + /// 6 椋庨�熸。浣� 0-鑷姩锛�1-1妗o紝2-2妗o紝3-3妗� level_1/level_2/level_3/auto + /// 7 婀垮害璁惧畾 % + /// 8 瀹ゅ唴娓╁害鍊� 鈩� + /// 9 瀹ゅ唴婀垮害鍊� 鈩� + /// 10 杩囨护缃戝墿浣� % + /// 11 杩囨护缃戜娇鐢ㄨ秴鏃� 1 瓒呮椂 0 鏃� true/false + airFresh.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[2] == 0 ? "off" : "on"); + airFresh.SetAttrState(FunctionAttributeKey.Mode, receiveBytes[3] == 1 ? "humidification" : "fan"); + airFresh.SetAttrState(FunctionAttributeKey.Energy, receiveBytes[4] == 1 ? "true" : "false"); + switch (receiveBytes[5]) + { + case 0: + airFresh.SetAttrState(FunctionAttributeKey.FanSpeed, "auto"); + break; + case 1: + airFresh.SetAttrState(FunctionAttributeKey.FanSpeed, "level_1"); + break; + case 2: + airFresh.SetAttrState(FunctionAttributeKey.FanSpeed, "level_2"); + break; + case 3: + airFresh.SetAttrState(FunctionAttributeKey.FanSpeed, "level_3"); + break; + } + airFresh.SetAttrState(FunctionAttributeKey.Humidity, receiveBytes[6].ToString()); + airFresh.SetAttrState(FunctionAttributeKey.IndoorTemp, receiveBytes[7].ToString()); + airFresh.SetAttrState(FunctionAttributeKey.IndoorHumidity, receiveBytes[8].ToString()); + airFresh.SetAttrState(FunctionAttributeKey.FilterRemain, receiveBytes[9].ToString()); + airFresh.SetAttrState(FunctionAttributeKey.FilterTimeout, receiveBytes[10] == 1 ? "true" : "false"); } break; } @@ -672,6 +724,10 @@ switch (command) { case Command.SetSingleLightACK: + case Command.FreshAirReadACK: + case Command.FreshAirControlACK: + case Command.FreshAirReadACK_JinMao: + case Command.FreshAirControlACK_JinMao: receiveFlag += string.Format("{0}", usefulBytes[0]); break; case Command.SetLogicLoopColorACK: -- Gitblit v1.8.0