wxr
2024-09-24 691dbe24f5724f153e07947c7b75bdfea5f0b6d5
HDL_ON/DAL/DriverLayer/Control_Udp.cs
@@ -104,7 +104,7 @@
            try
            {
                //账号没登录不回复
                if ( UserInfo.Current == null || ! UserInfo.Current.IsLogin)
                if ( UserInfo.Current == null )///|| ! UserInfo.Current.IsLogin)
                {
                    return;
                }
@@ -302,7 +302,7 @@
                            break;
                        case SPK.LightRGB:
                            break;
                        case SPK.HvacFloorHeat:
                        case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel:
                        case SPK.FloorHeatStandard:
                            if (f.status.Find((obj)=>obj.key ==FunctionAttributeKey.Mode) == null)
                            {
@@ -393,26 +393,26 @@
                                }
                            }
                            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;
                            //    }
                            //}
                        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;
                    }
                }
@@ -464,21 +464,24 @@
                {
                    case SPK.LightCCT:
                        #region cct light
                        byte b0 = 100;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
                        byte b0 = Convert.ToByte(function.lastBrightness);
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
                        {
                            if (function.trait_on_off.curValue.ToString() == "off")
                            {
                                b0 = 0;
                            }
                            else
                            {
                                b0 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
                            }
                            b0 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                        }
                        else
                        {
                            b0 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                            if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
                            {
                                if (function.trait_on_off.curValue.ToString() == "off")
                                {
                                    b0 = 0;
                                }
                                else
                                {
                                    b0 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
                                }
                            }
                        }
                        var bytes0 = new byte[] { function.bus.LoopId,
                                            b0,
@@ -492,21 +495,24 @@
                        break;
                    case SPK.LightRGB:
                        #region rgb light
                        byte b = 100;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
                        byte b = Convert.ToByte(function.lastBrightness);
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
                        {
                            if (function.trait_on_off.curValue.ToString() == "off")
                            {
                                b = 0;
                            }
                            else
                            {
                                b = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
                            }
                            b = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                        }
                        else
                        {
                            b = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                            if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
                            {
                                if (function.trait_on_off.curValue.ToString() == "off")
                                {
                                    b = 0;
                                }
                                else
                                {
                                    b = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
                                }
                            }
                        }
                        var tempLight = new Light();
                        var bytes = new byte[] { function.bus.LoopId,
@@ -521,21 +527,24 @@
                        break;
                    case SPK.LightDimming:
                        #region dimming light
                        byte b1 = 100;
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
                        byte b1 = Convert.ToByte(function.lastBrightness);
                        if (commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
                        {
                            if (function.trait_on_off.curValue.ToString() == "off")
                            {
                                b1 = 0;
                            }
                            else
                            {
                                b1 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
                            }
                            b1 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                        }
                        else
                        {
                            b1 = Convert.ToByte(function.GetAttrState(FunctionAttributeKey.Brightness));
                            if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff))
                            {
                                if (function.trait_on_off.curValue.ToString() == "off")
                                {
                                    b1 = 0;
                                }
                                else
                                {
                                    b1 = function.lastBrightness == 0 ? (byte)100 : Convert.ToByte(function.lastBrightness);
                                }
                            }
                        }
                        ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] {
                                            function.bus.LoopId,
@@ -726,7 +735,7 @@
                        0,0,0,0,0,0,0,onoff,mode,fan,temp,sanfan});
                        break;
                    case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:
                    case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:case SPK.HvacFloorHeatPanel:
                        var fhTemp = new FloorHeating();
                        if (function.Fh_Mode_Temp.Count == 4)
                        {
@@ -951,7 +960,7 @@
                    case SPK.HvacAC:
                        ControlBytesSend(Command.ReadACMode, subnetId, deviceId, new byte[] { function.bus.LoopId });
                        break;
                    case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:
                    case SPK.HvacFloorHeat:case SPK.FloorHeatStandard:case SPK.HvacFloorHeatPanel:
                        ControlBytesSend(Command.ReadFloorHeat, subnetId, deviceId, new byte[] { function.bus.LoopId });
                        break;
                    case SPK.HvacFan:
@@ -1209,6 +1218,7 @@
        /// </summary>
        public void SearchLocalGateway(bool broadcast = false)
        {
            //MainPage.Log("SearchLocalGateway");
            try
            {
                var sendJob = new JObject { { "id", Control.Ins.msg_id.ToString() }, { "time_stamp", Utlis.GetTimestamp ()} };