From 10b78a1626106f18a6b2f68bd2b8cafd2a99683c Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 12 八月 2020 11:31:59 +0800 Subject: [PATCH] 2020-08-12 4.喜爱页面,增加房间场景添加支持。 5.Alexa,添加设备页面增加修改备注功能,点击OK后,增加设备备注名字不匹配然后自动更新操作。 --- Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs | 104 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 96 insertions(+), 8 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs b/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs index 3d6bd2c..ac206b1 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs @@ -348,12 +348,14 @@ UserDeviceToLight.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 + usefullBytes [3]); UserRoom.UpdataEnergy (usefullBytes [0], common.Type + "_" + updateFlag, usefullBytes [2] * 256 + usefullBytes [3]); break; - } else if (usefullBytes [0] == 11) { - UserDeviceToSocket.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); - UserDeviceToLight.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); - UserRoom.UpdataEnergy (usefullBytes [0], common.Type + "_" + updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); - break; } + //2020-07-01 瀹㈡埛鎻愬嚭闅愯棌kwh + //else if (usefullBytes [0] == 11) { + // UserDeviceToSocket.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); + // UserDeviceToLight.UpdataEnergy (usefullBytes [0], updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); + // UserRoom.UpdataEnergy (usefullBytes [0], common.Type + "_" + updateFlag, usefullBytes [2] * 256 * 256 * 256 + usefullBytes [3] * 256 * 256 + usefullBytes [4] * 256 + usefullBytes [5]); + // break; + //} } @@ -1274,6 +1276,11 @@ //} else if (deviceType1.ToString ().Contains ("Switch")) { // devcieLoopName = "Relay SW" + usefullBytes [2].ToString (); //} + + //2020-07-03 濡傛灉鏄孩澶栨ā鍧楃被鍨嬶紝澶囨敞涓虹┖鐨勮瘽锛岄粯璁や负TV鍚嶅瓧 + if (deviceType1 == DeviceType.InfraredMode) { + devcieLoopName = "TV " + usefullBytes [2].ToString (); + } byte [] ddd = CommonPage.MyEncodingGB2312.GetBytes (devcieLoopName); byte [] newddd = new byte [20]; Array.Copy (ddd, 0, newddd, 0, 20 < ddd.Length ? 20 : ddd.Length); @@ -2112,6 +2119,85 @@ return s;// } + //static void httpListener_EventHandler (System.Collections.Specialized.NameValueCollection nameValueCollection, System.IO.Stream outputStream, System.IO.Stream inputStream) + //{ + // //if (!isHttpListenerStart) { + // // return; + // //} + // try { + // //System.Net.WebClient webClient = new System.Net.WebClient (); + // //byte []bytes= webClient.DownloadData("http://ip:6001/GetAllFiles"); + // // System.Text.Encoding.UTF8.GetString (bytes); + // //List<string> list = new List<string> (); + // //foreach(string s in list) { + // // byte [] bytes = webClient.DownloadData ("http://ip:6001/Get"+s); + // // FileUtils.WriteFileByBytes (s, bytes); + // //} + + // if (nameValueCollection ["Command"] != null && nameValueCollection ["Command"].StartsWith ("Get")) { + // string tempFileName = nameValueCollection ["Command"].Replace ("Get", ""); + // if ("AllFiles" == tempFileName) { + // byte [] bytes = System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (IO.FileUtils.ReadFiles ())); + // outputStream.Write (bytes, 0, bytes.Length); + // outputStream.Flush (); + // } else { + // byte [] bytes; + // if (!IO.FileUtils.Exists (tempFileName)) { + // bytes = System.Text.Encoding.UTF8.GetBytes ("鏂囦欢鍚嶄笉瀛樺湪锛�"); + // outputStream.Write (bytes, 0, bytes.Length); + // outputStream.Flush (); + // return; + // } + // System.IO.FileStream fs = new System.IO.FileStream (Application.RootPath + tempFileName, System.IO.FileMode.Open); + // bytes = new byte [fs.Length]; + // fs.Read (bytes, 0, bytes.Length); + // fs.Close (); + // outputStream.Write (bytes, 0, bytes.Length); + // outputStream.Flush (); + // } + // } else if (nameValueCollection ["Command"].StartsWith ("Upload")) { + // string path = Application.RootPath + nameValueCollection ["Command"].Replace ("Upload", ""); + // string dePath = nameValueCollection ["Command"].Replace ("Upload", ""); + // if (dePath.StartsWith ("Room_")) { + // new Room ().Add (dePath); + // } + // if (dePath.Split ('_').Length == 5) { + // if (dePath.Split ('_') [1] == (typeof (OnePortBus).Name) || dePath.Split ('_') [1] == (typeof (OnePortWirelessFR).Name)) { + // UserConfig.Instance.RemoteModeFile = dePath; + // UserConfig.Instance.SaveUserConfig (); + // } + // if (dePath.Split ('_') [1] == (typeof (SecurityModul).Name)) { + // if (UserConfig.Instance.HideDeviceTypes.Contains ((R.MyInternationalizationString.Security))) { + // UserConfig.Instance.HideDeviceTypes.Remove (R.MyInternationalizationString.Security); + // UserConfig.Instance.SaveUserConfig (); + // } + // } + // } + + // if (dePath.Split ('_').Length == 2 && dePath.StartsWith ("GlobalScene")) { + // var sceneFileList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (Scene.GlobalSceneFilePath))); + // if (!sceneFileList.Contains (dePath)) { + // sceneFileList.Add (dePath); + // IO.FileUtils.WriteFileByBytes (Scene.GlobalSceneFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (sceneFileList))); + // } + // } + // //Utlis.WriteLine ("鎺ユ敹"+path); + // FileUtils.WriteFileByInputStream (path, inputStream); + // Common common = Newtonsoft.Json.JsonConvert.DeserializeObject<Common> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (path))); + // if (common.DeviceTextID == R.MyInternationalizationString.ElectricalControl) { + // UserConfig.Instance.SocketList.Add (common.CommonLoopID); + // } + // } else { + // byte [] bytes = System.Text.Encoding.UTF8.GetBytes ("璇锋眰鍛戒护鏃犳晥锛�"); + // outputStream.Write (bytes, 0, bytes.Length); + // outputStream.Flush (); + // } + // } catch (Exception ex) { + // Utlis.WriteLine ("httpListener_EventHandler" + ex.ToString ()); + // } + //} + + static void httpListener_EventHandler (System.Collections.Specialized.NameValueCollection nameValueCollection, System.IO.Stream outputStream, System.IO.Stream inputStream) { //if (!isHttpListenerStart) { @@ -2151,9 +2237,11 @@ } else if (nameValueCollection ["Command"].StartsWith ("Upload")) { string path = Application.RootPath + nameValueCollection ["Command"].Replace ("Upload", ""); string dePath = nameValueCollection ["Command"].Replace ("Upload", ""); - if (dePath.StartsWith ("Room_")) { + if (dePath.Contains ("Room_")) { new Room ().Add (dePath); } + + if (dePath.Split ('_').Length == 5) { if (dePath.Split ('_') [1] == (typeof (OnePortBus).Name) || dePath.Split ('_') [1] == (typeof (OnePortWirelessFR).Name)) { UserConfig.Instance.RemoteModeFile = dePath; @@ -2165,6 +2253,7 @@ UserConfig.Instance.SaveUserConfig (); } } + } if (dePath.Split ('_').Length == 2 && dePath.StartsWith ("GlobalScene")) { @@ -2174,7 +2263,6 @@ IO.FileUtils.WriteFileByBytes (Scene.GlobalSceneFilePath, CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (sceneFileList))); } } - //Utlis.WriteLine ("鎺ユ敹"+path); FileUtils.WriteFileByInputStream (path, inputStream); Common common = Newtonsoft.Json.JsonConvert.DeserializeObject<Common> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (path))); if (common.DeviceTextID == R.MyInternationalizationString.ElectricalControl) { @@ -2187,7 +2275,7 @@ } } catch (Exception ex) { Utlis.WriteLine ("httpListener_EventHandler" + ex.ToString ()); - } + } } /// <summary> -- Gitblit v1.8.0