wxr
2022-08-04 eb76239882830f3960b8800bb0f2c90ca7b3f378
HDL_ON/DAL/DriverLayer/Control.cs
@@ -1032,6 +1032,12 @@
        /// <param name="updateBytes"></param>
        public void UpdataFunctionStatus(string revString, byte[] usefulBytes,bool isCloudData = false)
        {
            ////test 云端连接成功时,不适用本地数据更新
            //if (Ins.GatewayOnline_Cloud && !isCloudData)
            //{
            //    return;
            //}
            var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(revString);
            if (temp != null)
            {
@@ -1044,11 +1050,15 @@
                        if (Ins.GatewayOnline_Local && isCloudData)//本地链接,除了涂鸦设备数据之外的云端数据不处理
                        {
                            if (FunctionList.List.OtherBrandFunction.Count != 0)
                            if (FunctionList.List.OtherBrandFunction.Count == 0)
                            {
                                MainPage.Log($"A协议更新状态:本地链接,除了涂鸦设备数据之外的云端数据不处理...");
                                return;
                            }
                            else
                            {
                                if (FunctionList.List.OtherBrandFunction.Find((obj) => obj.sid == updateTemp.sid) == null)
                                {
                                    //MainPage.Log($"A协议更新状态:本地链接,除了涂鸦设备数据之外的云端数据不处理...");
                                    return;
                                }
                            }
@@ -1267,15 +1277,58 @@
                            case SPK.SensorSmoke:
                            case SPK.SensorWater:
                            case SPK.ClothesHanger:
                            case SPK.SenesorMegahealth:
                            case SPK.SenesorMegahealth2:
                            case SPK.AirFreshStandard:
                            case SPK.HvacAirFresh:
                            case SPK.SensorGas:
                            case SPK.HvacCac:
                            case SPK.SensorHelp:
                                //设备状态推送
                                //状态更新
                                Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
                                break;
                            case SPK.SenesorMegahealth:
                            case SPK.SenesorMegahealth2:
                                var tempStatus = localFunction.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus);
                                if (tempStatus != null)
                                {
                                    switch (tempStatus.state)
                                    {//0空,1走,2跑,3坐,4跌倒,5站
                                        case "0":
                                            localFunction.lastState = Language.StringByID(StringId.SensorNormalState);
                                            break;
                                        case "1":
                                            localFunction.lastState = Language.StringByID(StringId.SomeoneIn);
                                            break;
                                        case "2":
                                            if (localFunction.extSet.labModel)
                                            {
                                                localFunction.lastState = Language.StringByID(StringId.SomeoneRunning);
                                            }
                                            break;
                                        case "3":
                                            if (localFunction.extSet.labModel)
                                            {
                                                localFunction.lastState = Language.StringByID(StringId.SomeoneSitting);
                                            }
                                            break;
                                        case "4":
                                            localFunction.lastState = Language.StringByID(StringId.SomeoneFell);
                                            break;
                                        case "5":
                                            if (localFunction.extSet.labModel)
                                            {
                                                localFunction.lastState = Language.StringByID(StringId.SomeoneStanding);
                                            }
                                            break;
                                        default:
                                            break;
                                    }
                                }
                                Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
                                break;
                            case SPK.AvMusic:
                            case SPK.MusicStandard:
                                //UI.Music.MusicMain.mMusicMain.RefreshView(updateTemp);