wxr
2024-07-02 b822232f0743d22e5bd3847eb993894bf090b214
HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -302,7 +302,8 @@
                            break;
                        case SPK.LightRGB:
                            break;
                        case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:
                        case SPK.HvacFloorHeat:
                        case SPK.FloorHeatStandard:
                            if (f.status.Find((obj)=>obj.key ==FunctionAttributeKey.Mode) == null)
                            {
                                foreach (var dic in f.status)
@@ -391,6 +392,27 @@
                                    break;
                                }
                            }
                            break;
                        case SPK.OtherCommon://2024-02-01 15:19:28  刚加的,不发布,客服遇到的问题
                            //foreach (var attr in f.status)
                            //{
                            //    if (attr.key == FunctionAttributeKey.OnOff)
                            //    {
                            //        byte onOffValue = 0;
                            //        switch (attr.value)
                            //        {
                            //            case "on":
                            //                onOffValue = 0;
                            //                break;
                            //            case "off":
                            //                onOffValue = 255;
                            //                break;
                            //        }
                            //        ControlBytesSend(Command.SetCommonSwitch, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID,
                            //            new byte[] { f.localFunction.bus.LoopId, onOffValue });
                            //        break;
                            //    }
                            //}
                            break;
                    }
                }
@@ -803,6 +825,86 @@
                    case SPK.PanelSocket:
                        ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.LoopId, function.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0 });
                        break;
                    case SPK.AirFreshJinmao:case SPK.HvacAirFreshJinmao:
                        #region AirFresh
                        //1   新风编号    1~200
                        //2   类型 第三方类型  0:金茂新风
                        //3   开关  0 - 关机,1 - 开机
                        byte switchValue = 0;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff) == true
                            && commandDictionary[FunctionAttributeKey.OnOff] == "on")
                        {
                            switchValue = 1;
                        }
                        //4   运行模式    1 - 通风,2 - 加湿
                        byte airFreshMode = 1;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Mode) == true
                            && commandDictionary[FunctionAttributeKey.Mode] == "humidification")
                        {
                            airFreshMode = 2;
                        }
                        //5   节能舒适选择  1 - 舒适,2 - 节能
                        byte airFreshEnergy = 1;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Energy) == true
                           && commandDictionary[FunctionAttributeKey.Energy] == "true")
                        {
                            airFreshEnergy = 2;
                        }
                        //6   风速档位    0 - 自动,1 - 1档,2 - 2档,3 - 3档
                        byte airFreshFan = 0;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.FanSpeed) == true)
                        {
                            switch (commandDictionary[FunctionAttributeKey.FanSpeed])
                            {
                                case "auto":
                                    airFreshFan = 0;
                                    break;
                                case "level_1":
                                    airFreshFan = 1;
                                    break;
                                case "level_2":
                                    airFreshFan = 2;
                                    break;
                                case "level_3":
                                    airFreshFan = 3;
                                    break;
                            }
                        }
                        //7   湿度设定 %
                        byte hum = 0;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Humidity) == true)
                        {
                            hum = Convert.ToByte(commandDictionary[FunctionAttributeKey.Humidity]);
                        }
                        //8   室内温度值   ℃
                        byte indoorTemp_airFrsh = 0;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.IndoorTemp) == true)
                        {
                            indoorTemp_airFrsh = Convert.ToByte(commandDictionary[FunctionAttributeKey.IndoorTemp]);
                        }
                        byte indoorHumidity_airFrsh = 0;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.IndoorHumidity) == true)
                        {
                            indoorHumidity_airFrsh = Convert.ToByte(commandDictionary[FunctionAttributeKey.IndoorHumidity]);
                        }
                        //9   室内湿度值   ℃
                        //10  过滤网剩余 %
                        //11  过滤网使用超时 1 超时 0 无
                        ControlBytesSend(Command.FreshAirControl_JinMao, subnetId, deviceId, new byte[] {
                                    function.bus.LoopId,0, switchValue ,
                                    airFreshMode,airFreshEnergy,
                                    airFreshFan,
                                    hum,
                                    indoorTemp_airFrsh,
                                    indoorHumidity_airFrsh,
                                    //Convert.ToByte( function.GetAttrState(FunctionAttributeKey.FilterRemain)),
                                    //function.GetAttrState(FunctionAttributeKey.FilterTimeout) =="true"?1:0,
                                    0,0
                                });
                        #endregion
                        break;
                }
                #region 发送命令立即更新UI
                //HomePage.UpdataFunctionStates(function);
@@ -875,6 +977,10 @@
                    case SPK.SensorCO2:
                        ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { 5, 7, function.bus.LoopId });
                        break;
                    case SPK.AirFreshJinmao:
                    case SPK.HvacAirFreshJinmao:
                        ControlBytesSend(Command.FreshAirRead_JinMao, subnetId, deviceId, new byte[] { function.bus.LoopId });
                        break;
                }
            }
            catch (Exception ex)