wxr
2021-05-12 9acd3887f1f8db40d59f991b1726a61aa7c7637c
HDL_ON/DAL/DriverLayer/Control.cs
@@ -229,7 +229,7 @@
        public void SearchLoaclGateway()
        {
            //2021-01-15 : 住宅没有绑定网关的时候不用搜索,并且不能链接mqtt
            if(DB_ResidenceData.Instance.HomeGateway == null)
            if(DB_ResidenceData.Instance.HomeGateway == null || string.IsNullOrEmpty(DB_ResidenceData.Instance.HomeGateway.gatewayId))
            {
                return;
            }
@@ -336,7 +336,7 @@
                }
            }
            MainPage.Log($"发送数据:{Newtonsoft.Json.JsonConvert.SerializeObject(commandDictionary)}");
            //MainPage.Log($"发送数据:{Newtonsoft.Json.JsonConvert.SerializeObject(commandDictionary)}");
            ///第三方涂鸦设备统一使用远程控制
            switch(function.spk)
@@ -602,8 +602,7 @@
                    }
                }
                MainPage.Log($"局域网信息: {receiveObj.Topic}");
                MainPage.Log($"内容: {res[1]}");
                MainPage.Log($"局域网信息: {receiveObj.Topic}  : 内容: {res[1]}");
                //验证有效数据长度
@@ -623,9 +622,9 @@
                    }
                    var device = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceModule>(bodyJObj.objects.ToString());
                    if (device.device_mac == DB_ResidenceData.Instance.residenceGatewayMAC)
                    if (device.device_mac.ToUpper() == DB_ResidenceData.Instance.HomeGateway.mac.ToUpper())
                    {
                        //MainPage.Log("本地搜索网关成功");
                        MainPage.Log("本地搜索网关成功");
                        Ins.IsSearchLocalGatewaySuccessful = true;
                        Ins.GatewayOnline_Local = true;
                        if (!string.IsNullOrEmpty(device.gatewayId))
@@ -810,36 +809,10 @@
                            case SPK.SensorTVOC:
                            case SPK.SensorTemperature:
                            case SPK.SensorHumidity:
                                var sensor = FunctionList.List.GetEnvirSensorsList().Find((obj) => obj.sid == updateTemp.sid);
                                if (sensor != null)
                                {
                                    localObj = sensor;
                                    foreach (var attr in updateTemp.status)
                                    {
                                        var localAttr = sensor.attributes.Find((obj) => obj.key == attr.key);
                                        if (localAttr != null)
                                        {
                                            localAttr.curValue = attr.value;
                                        }
                                    }
                                    EnvironmentalSciencePage.LoadEvent_UpdataStatus(sensor);
                                }
                                EnvironmentalPage.LoadEvent_UpdataStatus(localFunction);
                                break;
                            case SPK.ElectricSocket:
                                var es = FunctionList.List.GetElectricSocketList().Find((obj) => obj.sid == updateTemp.sid);
                                if (es != null)
                                {
                                    localObj = es;
                                    foreach (var attr in updateTemp.status)
                                    {
                                        var localAttr = es.attributes.Find((obj) => obj.key == attr.key);
                                        if (localAttr != null)
                                        {
                                            localAttr.curValue = attr.value;
                                        }
                                    }
                                    SocketPage.UpdataState(es);
                                }
                                SocketPage.UpdataState(localFunction);
                                break;
                            case SPK.ElectricTV:
                                break;
@@ -852,7 +825,7 @@
                            case SPK.SensorSmoke:
                            case SPK.SensorWater:
                            case SPK.ClothesHanger:
                            case SPK.IrAC:
                            case SPK.AcIr:
                                //设备状态推送
                                Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
                                break;