wxr
2022-07-25 f7d3739023f4d04a4ed2c30c13d9abf8da210da7
HDL_ON/DAL/DriverLayer/Control.cs
@@ -94,7 +94,7 @@
            }
            set
            {
                //if (_GatewayOnline_Local != value)
                if (_GatewayOnline_Local != value)
                {
                    _GatewayOnline_Local = value;
                    if (value)
@@ -129,7 +129,7 @@
            }
            set
            {
                //if (_GatewayOnline_Cloud != value)
                if (_GatewayOnline_Cloud != value)
                {
                    _GatewayOnline_Cloud = value;
                    if(GatewayOnline_Local)
@@ -917,13 +917,16 @@
                            byte[] bodyBytes = new byte[receiveObj.Length];
                            Array.Copy(originalReceiveBytes, topicBytes.Length + 4, bodyBytes, 0, receiveObj.Length);
                            byte[] receiveBytes = Securitys.EncryptionService.AesDecryptPayload(bodyBytes, DB_ResidenceData.Instance.CurrentRegion.localSecret);
                            var revString = Encoding.UTF8.GetString(receiveBytes);
                            receiveObj.BodyDataString = revString;
                            MainPage.Log($"局域网信息: 解密后:" + receiveObj.BodyDataString);
                            //if (receiveObj.Topic.EndsWith("/thing/property/up"))
                            //{
                            //    MsgInfoList.Add(revString + "\r\n");
                            //}
                            if (receiveBytes != null)
                            {
                                var revString = Encoding.UTF8.GetString(receiveBytes);
                                receiveObj.BodyDataString = revString;
                                MainPage.Log($"局域网信息: 解密后:" + receiveObj.BodyDataString);
                                //if (receiveObj.Topic.EndsWith("/thing/property/up"))
                                //{
                                //    MsgInfoList.Add(revString + "\r\n");
                                //}
                            }
                        }
                        else
                        {
@@ -1127,6 +1130,14 @@
                                localFunction.lastState = localFunction.trait_on_off.curValue.ToString() == "on" ? Language.StringByID(StringId.Open) : Language.StringByID(StringId.Close);
                                CurtainModulePage.UpdataState(localFunction);
                                break;
                            case SPK.CurtainDream:
                                if(localFunction.GetAttrState(FunctionAttributeKey.Percent) == "0")
                                {
                                    localFunction.SetAttrState(FunctionAttributeKey.OnOff, "off");
                                }
                                localFunction.lastState = localFunction.trait_on_off.curValue.ToString() == "on" ? Language.StringByID(StringId.Open) : Language.StringByID(StringId.Close);
                                CurtainDreamPage.UpdataState(localFunction);
                                break;
                            case SPK.CurtainTrietex:
                                localFunction.lastState = Language.StringByID(StringId.Open) + localFunction.GetAttrState(FunctionAttributeKey.Percent) + "%";
                                MotorCurtainPage.UpdataState(localFunction);
@@ -1256,15 +1267,57 @@
                            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:
                                //设备状态推送
                                //状态更新
                                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);