From 20f70e3446df19bf5d0faaae9f7bd58fd0fc4bcc Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 04 八月 2023 12:06:51 +0800 Subject: [PATCH] 轮询备份 --- Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs | 363 ++++++++++++++++++++++++++++----------------------- 1 files changed, 198 insertions(+), 165 deletions(-) diff --git a/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs b/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs index 2daf543..e76b52c 100644 --- a/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs +++ b/Crabtree/SmartHome/UI/SimpleControl/CommonPage.cs @@ -955,8 +955,8 @@ Array.Copy (ddd, 0, newddd, 0, 20 < ddd.Length ? 20 : ddd.Length); Array.Copy (newddd, 0, usefullBytes, 13, 20 < newddd.Length ? 20 : newddd.Length); } - switch (deviceType) { - case DeviceType.SuperWireless: + + if (usefullBytes [2] == 254 && usefullBytes [3] > 4) { #region SuperWireless superWireless = new SuperWireless (); string superWirelessPath = "Equipment_" + typeof (OnePortWirelessFR).Name + "_" + subnetID + "_" + deviceID; @@ -986,172 +986,205 @@ Application.RunOnMainThread (() => { GuideAddGateway.InitGatewayRowView (superWireless); }); - //IO.FileUtils.SaveEquipmentMessage (superWireless); - //System.Threading.Tasks.Task.Run (() => { - // if (string.IsNullOrEmpty (UserConfig.Current.RemoteModeFile)) { - // var gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, superWireless.SubnetID, superWireless.DeviceID, new byte [] { }); - // if (gatewayBytes!=null&&gatewayBytes [0] == 2) { - // UserConfig.Current.RemoteModeFile = "Equipment_" + superWireless.Type.ToString () + "_" + superWireless.SubnetID.ToString () + "_" + superWireless.DeviceID.ToString (); - // UserConfig.Current.SaveUserConfig (); - // } - // } - //}); #endregion - break; - case DeviceType.OnePortWirelessFR: - #region - OnePortWirelessFR onePortWirelessFR = new OnePortWirelessFR (); - string wirelessPath = "Equipment_" + typeof (OnePortWirelessFR).Name + "_" + subnetID + "_" + deviceID; - var bytes = IO.FileUtils.ReadFile (wirelessPath); - if (bytes.Length > 1) { - onePortWirelessFR = Newtonsoft.Json.JsonConvert.DeserializeObject<OnePortWirelessFR> (MyEncodingUTF8.GetString (bytes)); - } - onePortWirelessFR.SubnetID = subnetID; - onePortWirelessFR.DeviceID = deviceID; - onePortWirelessFR.ChNumberCount = usefullBytes [4]; - onePortWirelessFR.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); - onePortWirelessFR.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= - onePortWirelessFR.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; - onePortWirelessFR.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; - onePortWirelessFR.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; - onePortWirelessFR.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; - onePortWirelessFR.DHCP = usefullBytes [51] == 0 ? false : true; - if (usefullBytes.Length == 80) { - onePortWirelessFR.EncryptionFlag = usefullBytes [53]; - onePortWirelessFR.Password = MyEncodingGB2312.GetString (usefullBytes, 54, 8).Trim ('\0'); - onePortWirelessFR.WirelessBand = usefullBytes [62]; - onePortWirelessFR.WirelessChannel = usefullBytes [63]; - onePortWirelessFR.WirelessPassword = MyEncodingGB2312.GetString (usefullBytes, 64, 16).Trim ('\0'); - } - GateWayList.Add (onePortWirelessFR); - if (onePortWirelessFR.Name == "") { - onePortWirelessFR.Name = onePortWirelessFR.CommonLoopID.ToString (); - } - Application.RunOnMainThread (() => { - GuideAddGateway.InitGatewayRowView (onePortWirelessFR); - }); - //IO.FileUtils.SaveEquipmentMessage (onePortWirelessFR); - //System.Threading.Tasks.Task.Run (() => { - // if (string.IsNullOrEmpty (UserConfig.Current.RemoteModeFile)) { - // var gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, onePortWirelessFR.SubnetID, onePortWirelessFR.DeviceID, new byte [] { }); - // if (gatewayBytes!=null&&gatewayBytes [0] == 2) { - // UserConfig.Current.RemoteModeFile = "Equipment_" + onePortWirelessFR.Type.ToString () + "_" + onePortWirelessFR.SubnetID.ToString () + "_" + onePortWirelessFR.DeviceID.ToString (); - // UserConfig.Current.SaveUserConfig (); - // } - // } - //}); - #endregion - break; - case DeviceType.OnePortBus: - #region - OnePortBus onePortBus = new OnePortBus (); - string onePath = "Equipment_" + typeof (OnePortBus).Name + "_" + subnetID + "_" + deviceID; - var bytesOne = IO.FileUtils.ReadFile (onePath); - if (bytesOne.Length > 1) { - onePortBus = Newtonsoft.Json.JsonConvert.DeserializeObject<OnePortBus> (MyEncodingUTF8.GetString (bytesOne)); - } - onePortBus.SubnetID = subnetID; - onePortBus.DeviceID = deviceID; - onePortBus.ChNumberCount = usefullBytes [4]; - onePortBus.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); - onePortBus.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0'); ; - onePortBus.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; - onePortBus.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; - onePortBus.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; - onePortBus.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; - onePortBus.DHCP = usefullBytes [51] == 0 ? false : true; - //onePortBus.SubnetID = usefullBytes [52]; - if (usefullBytes.Length == 53 + 1 + 8) { - onePortBus.EncryptionFlag = usefullBytes [53]; - onePortBus.Password = MyEncodingGB2312.GetString (usefullBytes, 54, 8).Trim ('\0'); - } - GateWayList.Add (onePortBus); - if (onePortBus.Name == "") { - onePortBus.Name = onePortBus.CommonLoopID.ToString (); - } - Application.RunOnMainThread (() => { - GuideAddGateway.InitGatewayRowView (onePortBus); - }); - //IO.FileUtils.SaveEquipmentMessage (onePortBus); - //System.Threading.Tasks.Task.Run (() => { - // if (string.IsNullOrEmpty (UserConfig.Current.RemoteModeFile)) { - // var gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, onePortBus.SubnetID, onePortBus.DeviceID, new byte [] { }); - // if (gatewayBytes!=null&&gatewayBytes [0] == 2) { - // UserConfig.Current.RemoteModeFile = "Equipment_" + onePortBus.Type.ToString () + "_" + onePortBus.SubnetID.ToString () + "_" + onePortBus.DeviceID.ToString (); - // UserConfig.Current.SaveUserConfig (); - // } - // } - //}); - #endregion - break; - case DeviceType.RCU: - RCU RCU_Device = new RCU (); - string RCU_DevicePath = "Equipment_" + typeof (RCU).Name + "_" + subnetID + "_" + deviceID; - var RCU_DeviceBytes = IO.FileUtils.ReadFile (RCU_DevicePath); - if (RCU_DeviceBytes.Length > 1) { - RCU_Device = Newtonsoft.Json.JsonConvert.DeserializeObject<RCU> (MyEncodingUTF8.GetString (RCU_DeviceBytes)); - } - RCU_Device.SubnetID = subnetID; - RCU_Device.DeviceID = deviceID; - RCU_Device.LoopID = usefullBytes [4]; - RCU_Device.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); - RCU_Device.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= - RCU_Device.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; - RCU_Device.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; - RCU_Device.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; - RCU_Device.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; - RCU_Device.DHCP = usefullBytes [51] == 0 ? false : true; - RCU_Device.LinkNetworkLine = true; - GateWayList.Add (RCU_Device); - if (RCU_Device.Name == "") { - RCU_Device.Name = RCU_Device.CommonLoopID.ToString (); - } - //IO.FileUtils.SaveEquipmentMessage (RCU_Device); - break; - case DeviceType.MusicModel: - MusicModel mm = new MusicModel (); - GateWayList.Add (mm); - mm.SubnetID = subnetID; - mm.DeviceID = deviceID; - mm.ChNumberCount = usefullBytes [4]; - mm.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); - mm.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= - mm.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; - mm.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; - mm.IPMAC = (char)usefullBytes [41] + "." + (char)usefullBytes [42] + "." + (char)usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; - mm.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; - mm.DHCP = 0; - if (mm.Name == "") { - mm.Name = mm.CommonLoopID.ToString (); - } - IO.FileUtils.SaveEquipmentMessage (mm); - IO.FileUtils.SaveEquipmentMessage (mm, "1"); - break; - case DeviceType.MusicA31: - MusicA31 mm31 = new MusicA31 (); - GateWayList.Add (mm31); - mm31.SubnetID = subnetID; - mm31.DeviceID = deviceID; - mm31.ChNumberCount = usefullBytes [4]; - mm31.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); - mm31.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= - mm31.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; - mm31.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; - mm31.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; - mm31.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; - mm31.DHCP = usefullBytes [51]; - if (mm31.Name == "") { - mm31.Name = mm31.CommonLoopID.ToString (); - } - //mm31.SubnetID - IO.FileUtils.SaveEquipmentMessage (mm31); - IO.FileUtils.SaveEquipmentMessage (mm31, "1"); - break; - default: + } else { + switch (deviceType) { + case DeviceType.SuperWireless: + #region + SuperWireless superWireless = new SuperWireless (); + string superWirelessPath = "Equipment_" + typeof (OnePortWirelessFR).Name + "_" + subnetID + "_" + deviceID; + var superWirelessbytes = IO.FileUtils.ReadFile (superWirelessPath); + if (superWirelessbytes.Length > 1) { + superWireless = Newtonsoft.Json.JsonConvert.DeserializeObject<SuperWireless> (MyEncodingUTF8.GetString (superWirelessbytes)); + } + superWireless.SubnetID = subnetID; + superWireless.DeviceID = deviceID; + superWireless.ChNumberCount = usefullBytes [4]; + superWireless.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); - break; + superWireless.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= + superWireless.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; + superWireless.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; + superWireless.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; + superWireless.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; + superWireless.DHCP = usefullBytes [51] == 0 ? false : true; + if (usefullBytes.Length == 80) { + superWireless.EncryptionFlag = usefullBytes [53]; + superWireless.Password = MyEncodingGB2312.GetString (usefullBytes, 54, 8).Trim ('\0'); + superWireless.WirelessBand = usefullBytes [62]; + superWireless.WirelessChannel = usefullBytes [63]; + superWireless.WirelessPassword = MyEncodingGB2312.GetString (usefullBytes, 64, 16).Trim ('\0'); + } + GateWayList.Add (superWireless); + Application.RunOnMainThread (() => { + GuideAddGateway.InitGatewayRowView (superWireless); + }); + //IO.FileUtils.SaveEquipmentMessage (superWireless); + //System.Threading.Tasks.Task.Run (() => { + // if (string.IsNullOrEmpty (UserConfig.Current.RemoteModeFile)) { + // var gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, superWireless.SubnetID, superWireless.DeviceID, new byte [] { }); + // if (gatewayBytes!=null&&gatewayBytes [0] == 2) { + // UserConfig.Current.RemoteModeFile = "Equipment_" + superWireless.Type.ToString () + "_" + superWireless.SubnetID.ToString () + "_" + superWireless.DeviceID.ToString (); + // UserConfig.Current.SaveUserConfig (); + // } + // } + //}); + #endregion + break; + case DeviceType.OnePortWirelessFR: + #region + OnePortWirelessFR onePortWirelessFR = new OnePortWirelessFR (); + string wirelessPath = "Equipment_" + typeof (OnePortWirelessFR).Name + "_" + subnetID + "_" + deviceID; + var bytes = IO.FileUtils.ReadFile (wirelessPath); + if (bytes.Length > 1) { + onePortWirelessFR = Newtonsoft.Json.JsonConvert.DeserializeObject<OnePortWirelessFR> (MyEncodingUTF8.GetString (bytes)); + } + onePortWirelessFR.SubnetID = subnetID; + onePortWirelessFR.DeviceID = deviceID; + onePortWirelessFR.ChNumberCount = usefullBytes [4]; + onePortWirelessFR.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); + onePortWirelessFR.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= + onePortWirelessFR.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; + onePortWirelessFR.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; + onePortWirelessFR.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; + onePortWirelessFR.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; + onePortWirelessFR.DHCP = usefullBytes [51] == 0 ? false : true; + if (usefullBytes.Length == 80) { + onePortWirelessFR.EncryptionFlag = usefullBytes [53]; + onePortWirelessFR.Password = MyEncodingGB2312.GetString (usefullBytes, 54, 8).Trim ('\0'); + onePortWirelessFR.WirelessBand = usefullBytes [62]; + onePortWirelessFR.WirelessChannel = usefullBytes [63]; + onePortWirelessFR.WirelessPassword = MyEncodingGB2312.GetString (usefullBytes, 64, 16).Trim ('\0'); + } + GateWayList.Add (onePortWirelessFR); + if (onePortWirelessFR.Name == "") { + onePortWirelessFR.Name = onePortWirelessFR.CommonLoopID.ToString (); + } + Application.RunOnMainThread (() => { + GuideAddGateway.InitGatewayRowView (onePortWirelessFR); + }); + //IO.FileUtils.SaveEquipmentMessage (onePortWirelessFR); + //System.Threading.Tasks.Task.Run (() => { + // if (string.IsNullOrEmpty (UserConfig.Current.RemoteModeFile)) { + // var gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, onePortWirelessFR.SubnetID, onePortWirelessFR.DeviceID, new byte [] { }); + // if (gatewayBytes!=null&&gatewayBytes [0] == 2) { + // UserConfig.Current.RemoteModeFile = "Equipment_" + onePortWirelessFR.Type.ToString () + "_" + onePortWirelessFR.SubnetID.ToString () + "_" + onePortWirelessFR.DeviceID.ToString (); + // UserConfig.Current.SaveUserConfig (); + // } + // } + //}); + #endregion + break; + case DeviceType.OnePortBus: + #region + OnePortBus onePortBus = new OnePortBus (); + string onePath = "Equipment_" + typeof (OnePortBus).Name + "_" + subnetID + "_" + deviceID; + var bytesOne = IO.FileUtils.ReadFile (onePath); + if (bytesOne.Length > 1) { + onePortBus = Newtonsoft.Json.JsonConvert.DeserializeObject<OnePortBus> (MyEncodingUTF8.GetString (bytesOne)); + } + onePortBus.SubnetID = subnetID; + onePortBus.DeviceID = deviceID; + onePortBus.ChNumberCount = usefullBytes [4]; + onePortBus.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); + onePortBus.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0'); ; + onePortBus.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; + onePortBus.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; + onePortBus.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; + onePortBus.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; + onePortBus.DHCP = usefullBytes [51] == 0 ? false : true; + //onePortBus.SubnetID = usefullBytes [52]; + if (usefullBytes.Length == 53 + 1 + 8) { + onePortBus.EncryptionFlag = usefullBytes [53]; + onePortBus.Password = MyEncodingGB2312.GetString (usefullBytes, 54, 8).Trim ('\0'); + } + GateWayList.Add (onePortBus); + if (onePortBus.Name == "") { + onePortBus.Name = onePortBus.CommonLoopID.ToString (); + } + Application.RunOnMainThread (() => { + GuideAddGateway.InitGatewayRowView (onePortBus); + }); + //IO.FileUtils.SaveEquipmentMessage (onePortBus); + //System.Threading.Tasks.Task.Run (() => { + // if (string.IsNullOrEmpty (UserConfig.Current.RemoteModeFile)) { + // var gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, onePortBus.SubnetID, onePortBus.DeviceID, new byte [] { }); + // if (gatewayBytes!=null&&gatewayBytes [0] == 2) { + // UserConfig.Current.RemoteModeFile = "Equipment_" + onePortBus.Type.ToString () + "_" + onePortBus.SubnetID.ToString () + "_" + onePortBus.DeviceID.ToString (); + // UserConfig.Current.SaveUserConfig (); + // } + // } + //}); + #endregion + break; + case DeviceType.RCU: + RCU RCU_Device = new RCU (); + string RCU_DevicePath = "Equipment_" + typeof (RCU).Name + "_" + subnetID + "_" + deviceID; + var RCU_DeviceBytes = IO.FileUtils.ReadFile (RCU_DevicePath); + if (RCU_DeviceBytes.Length > 1) { + RCU_Device = Newtonsoft.Json.JsonConvert.DeserializeObject<RCU> (MyEncodingUTF8.GetString (RCU_DeviceBytes)); + } + RCU_Device.SubnetID = subnetID; + RCU_Device.DeviceID = deviceID; + RCU_Device.LoopID = usefullBytes [4]; + RCU_Device.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); + RCU_Device.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= + RCU_Device.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; + RCU_Device.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; + RCU_Device.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; + RCU_Device.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; + RCU_Device.DHCP = usefullBytes [51] == 0 ? false : true; + RCU_Device.LinkNetworkLine = true; + GateWayList.Add (RCU_Device); + if (RCU_Device.Name == "") { + RCU_Device.Name = RCU_Device.CommonLoopID.ToString (); + } + //IO.FileUtils.SaveEquipmentMessage (RCU_Device); + break; + case DeviceType.MusicModel: + MusicModel mm = new MusicModel (); + GateWayList.Add (mm); + mm.SubnetID = subnetID; + mm.DeviceID = deviceID; + mm.ChNumberCount = usefullBytes [4]; + mm.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); + mm.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= + mm.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; + mm.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; + mm.IPMAC = (char)usefullBytes [41] + "." + (char)usefullBytes [42] + "." + (char)usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; + mm.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; + mm.DHCP = 0; + if (mm.Name == "") { + mm.Name = mm.CommonLoopID.ToString (); + } + IO.FileUtils.SaveEquipmentMessage (mm); + IO.FileUtils.SaveEquipmentMessage (mm, "1"); + break; + case DeviceType.MusicA31: + MusicA31 mm31 = new MusicA31 (); + GateWayList.Add (mm31); + mm31.SubnetID = subnetID; + mm31.DeviceID = deviceID; + mm31.ChNumberCount = usefullBytes [4]; + mm31.MAC = byteToHex16 (usefullBytes [5]) + "." + byteToHex16 (usefullBytes [6]) + "." + byteToHex16 (usefullBytes [7]) + "." + byteToHex16 (usefullBytes [8]) + "." + byteToHex16 (usefullBytes [9]) + "." + byteToHex16 (usefullBytes [10]) + "." + byteToHex16 (usefullBytes [11]) + "." + byteToHex16 (usefullBytes [12]); + mm31.Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0');//============= + mm31.IPAddress = usefullBytes [33] + "." + usefullBytes [34] + "." + usefullBytes [35] + "." + usefullBytes [36]; + mm31.RouteIPAddress = usefullBytes [37] + "." + usefullBytes [38] + "." + usefullBytes [39] + "." + usefullBytes [40]; + mm31.IPMAC = usefullBytes [41] + "." + usefullBytes [42] + "." + usefullBytes [43] + "." + usefullBytes [44] + "." + usefullBytes [45] + "." + usefullBytes [46]; + mm31.SubnetMask = usefullBytes [47] + "." + usefullBytes [48] + "." + usefullBytes [49] + "." + usefullBytes [50]; + mm31.DHCP = usefullBytes [51]; + if (mm31.Name == "") { + mm31.Name = mm31.CommonLoopID.ToString (); + } + //mm31.SubnetID + IO.FileUtils.SaveEquipmentMessage (mm31); + IO.FileUtils.SaveEquipmentMessage (mm31, "1"); + break; + default: + + break; + } } - //GuideAddGateway.InitGatewayRowView (new Common () { // SubnetID = subnetID, DeviceID = deviceID, Name = MyEncodingGB2312.GetString (usefullBytes, 13, 20).Trim ('\0') //}); -- Gitblit v1.8.0