wxr
2020-11-24 33470790ac0069c7734fb1a5b8b07350950c6dfe
HDL_ON/DAL/DriverLayer/Packet.cs
@@ -54,12 +54,7 @@
        public virtual void Manager()
        {
            try
            {
                //如果当前通讯方式不是本地bus udp则退出
                if(DriverLayer.Control.ins.communicationMode != DriverLayer.CommunicationMode.local_BusUdp)
                {
                    return;
                }
            {
                //对于操作数据库的时间比较长的,可以创建另一个线程处理
                if (!"HDLMIRACLE".Equals(Encoding.ASCII.GetString(Bytes, 4, 10)))
                {
@@ -131,15 +126,18 @@
                                {
                                    if (updataObj.trait_on_off.value.ToString() == "on")
                                    {
                                        if (updataObj.functionType == FunctionType.Fan)
                                        switch (updataObj.functionType)
                                        {
                                            (updataObj as Fan).openLevel = receiveBytes[2];
                                            updataObj.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2];
                                        }
                                        else
                                        {
                                            (updataObj as Light).brightness = receiveBytes[2];
                                            updataObj.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%";
                                            case FunctionType.Fan:
                                                (updataObj as Fan).openLevel = receiveBytes[2];
                                                updataObj.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2];
                                                break;
                                            case FunctionType.Relay:
                                                (updataObj as Light).brightness = receiveBytes[2];
                                                updataObj.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%";
                                                break;
                                            //case FunctionType.Socket:
                                            //    (updataObj as SwitchSocket).
                                        }
                                    }
                                    HomePage.UpdataFunctionStates(updataObj);
@@ -572,10 +570,15 @@
                        }
                        break;
                    case Command.ReadGatewayACK:
                        var mac = ByteToHex16(receiveBytes[5]) + "." + ByteToHex16(receiveBytes[6]) + "." + ByteToHex16(receiveBytes[7]) + "." + ByteToHex16(receiveBytes[8]) + "." + ByteToHex16(receiveBytes[9]) + "." + ByteToHex16(receiveBytes[10]) + "." + ByteToHex16(receiveBytes[11]) + "." + ByteToHex16(receiveBytes[12]);
                        var mac = ByteToHex16(receiveBytes[5]) + ByteToHex16(receiveBytes[6]) + ByteToHex16(receiveBytes[7]) + ByteToHex16(receiveBytes[8]) + ByteToHex16(receiveBytes[9]) + ByteToHex16(receiveBytes[10]) + ByteToHex16(receiveBytes[11]) + ByteToHex16(receiveBytes[12]);
                        var Name = Encoding.GetEncoding("gb2312").GetString(receiveBytes, 13, 20).Trim('\0'); ;
                        MainPage.Log($"name : {Name} ; mac : {mac}");
#if DEBUG
                        DB_ResidenceData.residenceData.residenceGatewayMAC = "4E47323347591243";
#endif
                        if (DB_ResidenceData.residenceData.residenceGatewayMAC == mac)
                        {
                            DriverLayer.Control.ins.gatewayOnline = true;
                            DriverLayer.Control.Ins.GatewayOnline = true;
                        }
                        break;
                }
@@ -643,12 +646,12 @@
                        receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]);
                        break;
                    case Command.ReadRemark:
                        DriverLayer.Control.ins.myUdp.ReceiveReadRemark(usefulBytes);
                        DriverLayer.Control.Ins.myUdp.ReceiveReadRemark(usefulBytes);
                        break;
                    default:
                        break;
                }
                DriverLayer.Control.ins.myUdp.ReceiveRepeatManager(receiveFlag);
                DriverLayer.Control.Ins.myUdp.ReceiveRepeatManager(receiveFlag);
            }
            catch (Exception ex)
            {