From f500e14c0a994487070380c50c85e0929cbc8e63 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 05 一月 2021 10:48:04 +0800 Subject: [PATCH] 2021-01-05 1.更新 --- Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs | 136 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 115 insertions(+), 21 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs b/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs index 601ab84..5c772f4 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs @@ -26,7 +26,7 @@ //127.0.0.1 if (ip == "0.0.0.0") { try { - ip = System.Net.Dns.GetHostEntry ("homeautomation.havells.com").AddressList [0].ToString (); + ip = System.Net.Dns.GetHostEntry ("smarth-api.havells.com").AddressList [0].ToString (); } catch { } } return new System.Net.IPEndPoint (System.Net.IPAddress.Parse (ip), 9999); @@ -103,7 +103,7 @@ foreach (var bin in usefullBytes) { pushBytesString += bin + ","; } - Console.WriteLine (pushBytesString); + Utlis.WriteLine (pushBytesString); #endif if (DeviceList.Find ((l) => { return l.SubnetID == subnetID && l.DeviceID == deviceID; }) != null) { return; @@ -122,7 +122,7 @@ continue; } DeviceType deviceType_wireless = (DeviceType)(usefullBytes [i] * 256 + usefullBytes [i + 1]); - Console.WriteLine (deviceType_wireless.ToString ()); + Utlis.WriteLine (deviceType_wireless.ToString ()); if (noRemake || MyEncodingGB2312.GetString (usefullBytes, 2, 20).Trim ('\0') == "") { byte [] ddd = CommonPage.MyEncodingGB2312.GetBytes (deviceType_wireless.ToString () + "-" + subnetID.ToString () + "-" + deviceID.ToString ()); byte [] newddd = new byte [20]; @@ -256,7 +256,8 @@ } break; case Command.SetSingleLightACK: - Console.WriteLine ("Command.SetSingleLightACK"); + //Utlis.WriteLine ($"Command.SetSingleLightACK: subnetID:{subnetID} deviceID:{deviceID} 鍥炶矾锛歿usefullBytes [0]}"); + //Utlis.WriteLine ("Command.SetSingleLightACK"); foreach (var room in Room.Lists) { var common = room.DeviceList.Find ((obj) => obj.CommonLoopID == subnetID.ToString () + "_" + deviceID.ToString () + "_" + usefullBytes [0].ToString ()); if (common != null) { @@ -319,6 +320,7 @@ if (!string.IsNullOrEmpty (room.Name)) UserDeviceToLight.UpdateBrighingCount (updateFlag); if (hadBeUpdate) { + UserRoom.UpdataDeviceStatus (common); UserLightPage.UpdateStatus (updateFlag, usefullBytes [2]); UserDeviceToLight.UpdateStatus (updateFlag, usefullBytes [2]); @@ -346,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; + //} } @@ -711,7 +715,7 @@ case "DISPMODE": if (7 <= backResult [1].Length) { music.playMode = int.Parse (backResult [1].Substring (6, 1)); - System.Console.WriteLine ("DISPMODE=====" + music.playMode); + Utlis.WriteLine ("DISPMODE=====" + music.playMode); } break; } @@ -1206,7 +1210,7 @@ continue; } deviceType = (DeviceType)(usefullBytes [iReadDeviceModulACK] * 256 + usefullBytes [iReadDeviceModulACK + 1]); - Console.WriteLine (deviceType.ToString ()); + Utlis.WriteLine (deviceType.ToString ()); string devcieTempName = MyEncodingGB2312.GetString (usefullBytes, 2, 20).Trim ('\0'); if (notHasRemake || MyEncodingGB2312.GetString (usefullBytes, 2, 20).Trim ('\0') == "") { devcieTempName = deviceType.ToString ().Replace (DeviceType.Sensor.ToString (), "") + "-" + deviceID.ToString (); @@ -1239,7 +1243,7 @@ common.isMixBox = true; } else { Application.RunOnMainThread (() => { - MainPage.Loading.Start ("Search for device:" + devcieTempName); + //MainPage.Loading.Start ("Search for device:" + devcieTempName); ++searchTotal; GuideSettingGateway.InitSearchDeviceList (common); for (int k = 1; k <= common.LoopCount; k++) { @@ -1272,6 +1276,14 @@ //} 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 (); + } else if (deviceType1 == DeviceType.ACInfrared) { + //2020-08-28 濡傛灉鏄孩澶栫┖璋冪被鍨嬶紝澶囨敞涓虹┖鐨勮瘽锛岄粯璁や负AC鍚嶅瓧 + devcieLoopName = "AC " + 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); @@ -1590,7 +1602,7 @@ wirelessPanelButtonKey.Name = MyEncodingGB2312.GetString (usefullBytes, 3, 20).Trim ('\0'); wirelessPanelButtonKey.Mode = usefullBytes [23]; ButtonBkeyModelList.Add (wirelessPanelButtonKey.Mode); - System.Console.WriteLine ("璇诲彇闈㈡澘鎸夐敭锛氬洖璺彿锛�" + wirelessPanelButtonKey.LoopID + " 妯″紡锛�" + wirelessPanelButtonKey.Mode); + Utlis.WriteLine ("璇诲彇闈㈡澘鎸夐敭锛氬洖璺彿锛�" + wirelessPanelButtonKey.LoopID + " 妯″紡锛�" + wirelessPanelButtonKey.Mode); IO.FileUtils.SaveEquipmentMessage (wirelessPanelButtonKey, wirelessPanelButtonKey.LoopID.ToString ()); #endregion break; @@ -2067,7 +2079,7 @@ //01 01 59(+30) 02 0D 03 64 00 01 break; case Command.AssignedAddressACK: - Console.WriteLine (usefullBytes [0].ToString ()); + Utlis.WriteLine (usefullBytes [0].ToString ()); if (usefullBytes [0] == 3) { dt = DateTime.Now; } else if (usefullBytes [0] == 4) { @@ -2075,24 +2087,24 @@ } break; case Command.Remote3thACK: - Console.WriteLine (usefullBytes [0]); + Utlis.WriteLine (usefullBytes [0]); break; case Command.DownloadInfraredACK: string loopID_IM = usefullBytes [0] < 10 ? "0" + usefullBytes [0].ToString () : usefullBytes [0].ToString (); if ((InfraredType)usefullBytes [2] != InfraredType.AC) { if ((InfraredType)usefullBytes [2] == InfraredType.NULL) { - Console.WriteLine ("NULL-------------"); + Utlis.WriteLine ("NULL-------------"); } string filePath = "Equipment_InfraredMode_" + subnetID + "_" + deviceID + "_" + loopID_IM; InfraredMode im = Newtonsoft.Json.JsonConvert.DeserializeObject<InfraredMode> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (filePath))); im.InfraredType = (InfraredType)usefullBytes [2]; - Console.WriteLine (im.InfraredType.ToString () + "------------------------------------------------------"); + Utlis.WriteLine (im.InfraredType.ToString () + "------------------------------------------------------"); IO.FileUtils.SaveEquipmentMessage (im, im.LoopID.ToString ()); } break; } } catch (Exception ex) { - Console.WriteLine ("Packet_ReceiveEvent锛�" + ex.ToString ()); + Utlis.WriteLine ("Packet_ReceiveEvent锛�" + ex.ToString ()); } } @@ -2109,6 +2121,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) { @@ -2149,9 +2240,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; @@ -2163,6 +2256,7 @@ UserConfig.Instance.SaveUserConfig (); } } + } if (dePath.Split ('_').Length == 2 && dePath.StartsWith ("GlobalScene")) { @@ -2183,8 +2277,8 @@ outputStream.Flush (); } } catch (Exception ex) { - Console.WriteLine ("httpListener_EventHandler" + ex.ToString ()); - } + Utlis.WriteLine ("httpListener_EventHandler" + ex.ToString ()); + } } /// <summary> -- Gitblit v1.8.0