| | |
| | | //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); |
| | |
| | | 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; |
| | | //} |
| | | } |
| | | |
| | | |
| | |
| | | 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++) { |
| | |
| | | //} 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); |
| | |
| | | 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) { |
| | |
| | | } 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; |
| | |
| | | UserConfig.Instance.SaveUserConfig (); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | if (dePath.Split ('_').Length == 2 && dePath.StartsWith ("GlobalScene")) { |
| | |
| | | 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) { |
| | |
| | | } |
| | | } catch (Exception ex) { |
| | | Utlis.WriteLine ("httpListener_EventHandler" + ex.ToString ()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |