From f7d3739023f4d04a4ed2c30c13d9abf8da210da7 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 25 七月 2022 13:58:49 +0800
Subject: [PATCH] 兼容俄语

---
 HDL_ON/DAL/DriverLayer/Control.cs |   84 ++++++++++++++++++++++++++++++++---------
 1 files changed, 65 insertions(+), 19 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index c5cd85e..08092a6 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/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)
@@ -461,7 +461,6 @@
                         var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
                         new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id,resend);
                         MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
-                        //Control.Ins.MsgInfoList.Add($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}"+"\r\n");
                     }
                 }
                 //杩滅▼閫氳
@@ -741,7 +740,7 @@
                  gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId,
                   sid = securityAlarm.sid, status = state, userSecurityId = securityAlarm.userSecurityId
                 } });
-                MainPage.Log($"瀹夐槻鎺у埗缁撴灉:code锛歿result.Code}锛沵sg锛歿result.message}");
+                MainPage.Log($"瀹夐槻鎺у埗缁撴灉:{result.Code}");
             }
             else
             {
@@ -918,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($"灞�鍩熺綉淇℃伅: 瑙e瘑鍚庯細" + 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($"灞�鍩熺綉淇℃伅: 瑙e瘑鍚庯細" + receiveObj.BodyDataString);
+                                //if (receiveObj.Topic.EndsWith("/thing/property/up"))
+                                //{
+                                //    MsgInfoList.Add(revString + "\r\n");
+                                //}
+                            }
                         }
                         else
                         {
@@ -1026,7 +1028,6 @@
         /// <summary>
         /// 鏇存柊璁惧鐘舵��
         /// A鍗忚鏁版嵁
-        /// Tag Link鐘舵�佸鐞�
         /// </summary>
         /// <param name="updateBytes"></param>
         public void UpdataFunctionStatus(string revString, byte[] usefulBytes,bool isCloudData = false)
@@ -1129,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);
@@ -1138,10 +1147,6 @@
                                 RollingShutterPage.UpdataState(localFunction);
                                 break;
                             case SPK.CurtainShades:
-                                break;
-                            case SPK.HvacCac:
-                                Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status);
-                               
                                 break;
                             case SPK.AcStandard:
                             case SPK.HvacAC:
@@ -1262,16 +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.SensorHelp:
+                            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);

--
Gitblit v1.8.0