wxr
2021-07-01 43b0d5870d528f23ecd6aeceb6cfd4325188b46f
HDL_ON/DAL/DriverLayer/Control.cs
@@ -283,6 +283,30 @@
        /// </summary>
        public void ControlScene(Scene scene)
        {
            //体验模式
            if(MainPage.NoLoginMode)
            {
                foreach(var sceneFunction in scene.functions)
                {
                    var revString = "";
                    var upDataObj = new AlinkFunctionStatusObj();
                    upDataObj.id = "999";
                    upDataObj.objects = new List<AlinkStatusData>();
                    var asd = new AlinkStatusData() { deviceId = sceneFunction.localFunction.deviceId, sid = sceneFunction.sid };
                    var status1 = new List<AttributesStatus>();
                    foreach (var dic in sceneFunction.status)
                    {
                        status1.Add(new AttributesStatus() { key = dic.key, value = dic.value });
                    }
                    asd.status = status1;
                    upDataObj.objects.Add(asd);
                    revString = Newtonsoft.Json.JsonConvert.SerializeObject(upDataObj);
                    UpdataFunctionStatus(revString, null, true);
                }
                return;
            }
            //远程或者控制link网关场景
            if (!Ins.GatewayOnline_Local || DB_ResidenceData.Instance.GatewayType == 1)
            {
                new System.Threading.Thread(() =>
@@ -336,10 +360,31 @@
                }
            }
            ///dome控制
            if (MainPage.NoLoginMode)
            {
                var revString = "";
                var upDataObj = new AlinkFunctionStatusObj();
                upDataObj.id = "999";
                upDataObj.objects = new List<AlinkStatusData>();
                var asd = new AlinkStatusData() { deviceId = function.deviceId, sid = function.sid };
                var status1 = new List<AttributesStatus>();
                foreach (var dic in commandDictionary)
                {
                    status1.Add(new AttributesStatus() { key = dic.Key, value = dic.Value });
                }
                asd.status = status1;
                upDataObj.objects.Add(asd);
                revString = Newtonsoft.Json.JsonConvert.SerializeObject(upDataObj);
                UpdataFunctionStatus(revString, null, true);
                return;
            }
            //MainPage.Log($"发送数据:{Newtonsoft.Json.JsonConvert.SerializeObject(commandDictionary)}");
            ///第三方涂鸦设备统一使用远程控制
            switch(function.spk)
            switch (function.spk)
            {
                case SPK.ElectricTuyaAirCleaner:
                case SPK.ElectricTuyaFan:
@@ -414,6 +459,23 @@
        /// </summary>
        public void SwtichFunctions(bool open,List<Function> functions)
        {
            //dome模式控制
            if(MainPage.NoLoginMode)
            {
                new System.Threading.Thread(() =>
                {
                    foreach (var temp in functions)
                    {
                        Dictionary<string, string> d1 = new Dictionary<string, string>();
                        d1.Add(FunctionAttributeKey.OnOff, open ? "on" : "off");
                        SendWriteCommand(temp, d1);
                        System.Threading.Thread.Sleep(100);
                    }
                })
                { IsBackground = true }.Start();
                return;
            }
            var count = 0;
            var logString = open ? "打开\r\n" : "关闭\r\n";
            List<ApiAlinkControlActionObj> actionObjs = new List<ApiAlinkControlActionObj>();
@@ -559,7 +621,7 @@
            }
        }
        /// <summary>
        /// 转换通讯数据
        /// 转换发送数据
        /// </summary>
        public byte[] ConvertSendBodyData(string topic, string bodyDataString)
        {