| | |
| | | { |
| | | ddd += bb + ","; |
| | | } |
| | | MainPage.Log(ddd); |
| | | MainPage.Log($"bus命令:"+ ((int)command) + " : 数据:" + ddd); |
| | | #endif |
| | | //处理是否要重发数据 |
| | | ManagerReceive(subnetID, deviceID, command, usefulBytes); |
| | |
| | | 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); |
| | |
| | | { |
| | | 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) |
| | |
| | | { |
| | | 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); |
| | |
| | | sensor.SetAttrState(FunctionAttributeKey.Value, Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString()); |
| | | break; |
| | | } |
| | | EnvironmentalSciencePage.LoadEvent_UpdataStatus(sensor); |
| | | EnvironmentalPage.LoadEvent_UpdataStatus(sensor); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | break; |
| | | } |
| | | EnvironmentalSciencePage.LoadEvent_UpdataStatus(sensor); |
| | | EnvironmentalPage.LoadEvent_UpdataStatus(sensor); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | if (ac.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0]) |
| | | { |
| | | ac.SetAttrState(FunctionAttributeKey.IndoorTemp, receiveBytes[1].ToString()); |
| | | ac.SetAttrState(FunctionAttributeKey.RoomTemp, receiveBytes[1].ToString()); |
| | | FunctionPage.UpdataStates(ac); |
| | | } |
| | | } |
| | |
| | | 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档,2-2档,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 ? "fan" : "humidification"); |
| | | airFresh.SetAttrState(FunctionAttributeKey.Energy, receiveBytes[4] == 1 ? "false" : "true"); |
| | | 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"); |
| | | //设备状态推送 |
| | | Stan.HdlFormLogic.Current.DeviceStatuPush(airFresh, true); |
| | | } |
| | | break; |
| | | } |
| | |
| | | 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: |