wei
2020-12-22 d07d62be7111d78b2aaa44c9cdee23a7d22b4dda
HDL_ON/DAL/DriverLayer/Control.cs
@@ -178,14 +178,6 @@
            }
        }
        ///// <summary>
        ///// 改变通讯方式
        ///// </summary>
        //public void ChangeCommunicationMode(CommunicationMode communicationMode)
        //{
        //    this.communicationMode = communicationMode;
        //}
        /// <summary>
        /// 搜索本地网关列表
        /// </summary>
@@ -233,6 +225,8 @@
                        //本地搜索不到网关
                        if (!Ins.IsRemote)
                        {
                            //连接mqtt前,先断开--2020-12-21
                            DAL.Mqtt.MqttClient.DisConnectRemote();
                            Ins.IsRemote = true;
                            DAL.Mqtt.MqttClient.InitState();
                        }
@@ -240,7 +234,6 @@
                })
                { IsBackground = true }.Start();
            }
        }
        /// <summary>
@@ -273,6 +266,28 @@
        {
            function.usageCount++;
            function.refreshTime = DateTime.Now;
            //如果是控制调光的开时,亮度值不能为0
            if (commandDictionary.Count > 2)
            {
                if (commandDictionary.ContainsKey(FunctionAttributeKey.OnOff) && commandDictionary.ContainsKey(FunctionAttributeKey.Brightness))
                {
                    if (commandDictionary[FunctionAttributeKey.OnOff] == "on")
                    {
                        if (commandDictionary[FunctionAttributeKey.Brightness] == "0")
                        {
                            commandDictionary[FunctionAttributeKey.Brightness] = "100";
                        }
                    }
                    if (commandDictionary[FunctionAttributeKey.OnOff] == "off")
                    {
                        if (commandDictionary[FunctionAttributeKey.Brightness] != "0")
                        {
                            commandDictionary[FunctionAttributeKey.Brightness] = "0";
                        }
                    }
                }
            }
            //远程通讯
            if (Ins.IsRemote)
@@ -307,6 +322,7 @@
                    var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj);
                    var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
                    new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id);
                    MainPage.Log($"发送HDL-Link数据:{functionControlDataJson}");
                }
            }
        }
@@ -358,6 +374,7 @@
                    };
                    var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(readDataObj);
                    var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ReadStatus, functionControlDataJson);
                    MainPage.Log($"发送HDL-Link数据:{functionControlDataJson}");
                    new Control_Udp().SendLocalHdlLinkData(sendBytes, readDataObj.id);
                }
            }
@@ -418,7 +435,7 @@
            string sendDataString = topicString + lengthString + bodyDataString;
            byte[] sendDataBytes = Encoding.ASCII.GetBytes(sendDataString);
            MainPage.Log($"转换HDL-Link数据\r\n{sendDataString}\r\n");
            //MainPage.Log($"转换HDL-Link数据\r\n{sendDataString}\r\n");
            return sendDataBytes;
        }
@@ -458,6 +475,10 @@
                            break;
                    }
                }
                MainPage.Log($"time 1 :{receiveObj.Topic}");
                //验证有效数据长度
                //if (res[1].Length != receiveObj.Length)
                //{
@@ -492,6 +513,7 @@
                    }
                }
                else if (receiveObj.Topic == CommunicationTopic.ct.ReadStatus + "_reply" ||
                    receiveObj.Topic == CommunicationTopic.ct.ControlFunctionTopic + "_reply" ||
                    receiveObj.Topic == CommunicationTopic.ct.GatewayUpStatus)
                {
                    //TODO 暂时不传正确的数据上去,如果后面要优化前面这些代码
@@ -547,7 +569,7 @@
                                                localAttr.curValue = attr.value;
                                            }
                                        }
                                        MainPage.Log($"{localSwitch.trait_on_off.curValue}: ");
                                        //rgb.lastState = Language.StringByID(StringId.Brightness) + " : " + rgb.brightness + "%";
                                        RelayPage.UpdataState(localSwitch);
                                    }
                                    break;
@@ -618,7 +640,7 @@
                                            }
                                        }
                                        lightCCT.lastState = Language.StringByID(StringId.Brightness) + " : " + lightCCT.brightness + "%";
                                        DimmerPage.UpdataStates(lightCCT);
                                        ColorTureLampPage.UpdataStates(lightCCT);
                                    }
                                    break;
                                case SPK.CurtainSwitch: