From 7167334c0e89dd84827d59e726123d14776e3a09 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 16 六月 2020 11:14:13 +0800 Subject: [PATCH] 2020-06-16-1 --- HDL_ON/DriverLayer/Control_Bus.cs | 889 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 479 insertions(+), 410 deletions(-) diff --git a/HDL_ON/DriverLayer/Control_Bus.cs b/HDL_ON/DriverLayer/Control_Bus.cs index 3993919..b5d7d40 100644 --- a/HDL_ON/DriverLayer/Control_Bus.cs +++ b/HDL_ON/DriverLayer/Control_Bus.cs @@ -1,40 +1,21 @@ 锘縰sing System; using System.Collections.Generic; -using System.Linq; using HDL_ON.DAL; using HDL_ON.DAL.Net; -using HDL_ON.Entity.Enumerative; +using HDL_ON.Entity; +using Shared; +using Shared.Net; namespace HDL_ON { public partial class Control { - public System.DateTime LatestDateTime = System.DateTime.Now; + public DateTime LatestDateTime = DateTime.Now; /// <summary> /// 鎵�鏈夊井淇″涓�绔彛鐨勬帶鍒堕兘浼氭斁鍒拌繖涓泦鍚堥噷 /// </summary> private static List<Control> controlList = new List<Control>(50); - - /// <summary> - /// 鍙戦�佹暟鎹紝绛夊緟鏈夊弽棣� - /// </summary> - /// <returns>The bytes send has return.</returns> - static byte[] ControlBytesSendHasReturn(Command command, byte subnetID, byte deviceID, byte[] gatewayBytes, int sendCount = 3) - { - Control control = new Control(); - control.Send(new Target() - { - IPEndPoint = CommonPage.EndPoint, - Command = command, - SubnetID = subnetID, - DeviceID = deviceID, - AddData = gatewayBytes, - }, sendCount, true); - CommonPage.FindGateway = false; - - return control.UsefulBytes; - } /// <summary> /// 鍙戦�佹暟鎹紝涓嶉渶瑕佺瓑寰呭洖澶� @@ -50,9 +31,74 @@ DeviceID = deviceID, AddData = gatewayBytes, }, sendCount, false); - CommonPage.FindGateway = false; MainPage.Log(command.ToString() + "::" + CommonPage.EndPoint.ToString()); + } + /// <summary> + /// 000E 鎼滅储鍥炲 + /// </summary> + /// <param name="usefullBytes"></param> + static void ReceiveReadRemark(byte[] usefullBytes) + { + try + { + //璐﹀彿娌$櫥褰曚笉鍥炲 + if (MainPage.LoginUser == null || !MainPage.LoginUser.IsLogin) + { + return; + } + + //if (!isHttpListenerStart) + //{ + // //鏁版嵁鎺ユ敹绔彛娌℃墦寮�锛屼笉鍥炲 + // return; + //} + + var sendStr = MainPage.LoginUser.accountString; + + + //濡傛灉IP鍦板潃鑾峰彇鎴愬姛 鏄剧ず鏈�鍚庝竴浣� + var mAddressBytes = new Shared.Net.NetWiFi().IpAddress.GetAddressBytes(); + if (mAddressBytes != null && mAddressBytes.Length == 4) + { + sendStr = (mAddressBytes[3] & 0xFF).ToString() + ":" + sendStr; + } + + if (usefullBytes.Length <= 2) + { + byte[] sendBytes = new byte[20]; + byte[] b1 = CommonPage.MyEncodingGB2312.GetBytes(sendStr); + Array.Copy(b1, 0, sendBytes, 0, 20 < b1.Length ? 20 : b1.Length); + Control.ControlBytesSend(Command.ReadRemarkACK, 0xFF, 0xFF, sendBytes, 1); + + } + else + { + + for (int i = 2, len = usefullBytes.Length; i < len; i++) + { + if (i % 2 == 0) + { + if ((usefullBytes[i] & 0xFF) == 0xFC + && (usefullBytes[i + 1] & 0xFF) == 0xFC + ) + { + + byte[] sendBytes = new byte[20]; + byte[] b1 = CommonPage.MyEncodingGB2312.GetBytes(sendStr); + //Remote_GroupName = CommonPage.MyEncodingGB2312.GetString (b1); + Array.Copy(b1, 0, sendBytes, 0, 20 < b1.Length ? 20 : b1.Length); + Control.ControlBytesSend(Command.ReadRemarkACK, 0xFF, 0xFF, sendBytes, 1); + + break; + } + } + } + + } + + } + catch { } } /// <summary> @@ -69,217 +115,227 @@ { string receiveFlag = string.Format("{0},{1},{2},", subnetID, deviceID, (int)command); - switch ((Command)command) + switch (command) { - case Command.YIPanelDeviceInofACK: - for (int i = 0; i < 4; i++) - { - receiveFlag += string.Format("{0}", usefulBytes[i]); - } - break; - case Command.ReadDoorLockSceneObjACK: - receiveFlag += string.Format("{0},{1},{2},{3},{4}", usefulBytes[0], usefulBytes[1], usefulBytes[2], usefulBytes[3], usefulBytes[4]); - break; - case Command.ReadDoorLockClockACK: - case Command.CreatConnectionACK: + case Command.SetSingleLightACK: receiveFlag += string.Format("{0}", usefulBytes[0]); break; - //闂ㄩ攣,BroadcastDoorLockStateAndAlarm - //骞挎挱闂ㄩ攣鐘舵�佸拰鎶ヨ, - case Command.BroadcastDoorLockStateAndAlarm://骞挎挱闂ㄩ攣鐘舵�佸拰鎶ヨ - receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); - break; - case Command.ReadDoorLockUseRemarkACK: - case Command.ReadSensorPushMessageACK: - case Command.SetSensorPushMessageACK: - case Command.ReadSensorScenceACK: - case Command.ReadAnalogACK: + case Command.SetLogicLoopColorACK: receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]); break; - case Command.SetSensorScenceACK: - receiveFlag += string.Format("{0},{1},{2}", usefulBytes[1], usefulBytes[2], usefulBytes[3]); - break; - case Command.SendRemoteInfoToServerACK: - for (int i = 1; i < 9; i++) - { - receiveFlag += string.Format("{0}", usefulBytes[i]); - } - break; - case Command.BroadcastDryContactStatus://鐢卞共鎺ョ偣骞挎挱鍑烘潵鐨勬暟鎹紝绋嬪簭涓嶅仛鍥炲銆� - receiveFlag += string.Format("{0}", usefulBytes[0]); - break; - case Command.SetSceneACK: - receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); - break; - case Command.SetSeriesACK: - receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); - break; - case Command.UpdataCurtainModelStutasACK: - case Command.SetHotelCurtainACK: - case Command.DownloadInfraredACK: - case Command.SetSensorPushValuesACK: - case Command.ReadSensorPushValuesACK: - receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); - break; - case Command.ReadLightEquipmentAllLoopBrightnessACK: - break; - case Command.SetSingleLightACK: - receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[2]); - break; - case Command.UpLoadInfraredACK: - receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); - break; - case Command.SetCommonACK: - case Command.InfraredChannelControlACK: + case Command.ReadLogicLoopColorACK: case Command.ReadACModeACK: case Command.SetACModeACK: - case Command.Serverx_FH_CMD_ACK: - case Command.ReadSensorHistoryACK: - case Command.SetSensorAutomationTargetLevelEnableACK: - case Command.ReadSensorAutomationLevelTargetEnableACK: + case Command.ReadFloorHeatACK: + case Command.SetFloorHeatACK: receiveFlag += string.Format("{0}", usefulBytes[0]); break; - case Command.ReadFoolHeatACK: - case Command.SetFoolHeatACK: - case Command.SetArmACK: - case Command.ReadArmACK: - receiveFlag += string.Format("{0}", usefulBytes[0]); + case Command.ReadRemark: + //buspro 璇诲娉ㄥ洖澶� + ReceiveReadRemark(usefulBytes); break; - case Command.ReadDeviceModulACK: - case Command.ReadGatewayACK: - case Command.ReadSecurityStatusACK: - receiveFlag = string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); - break; - case Command.UpdataLightDimmingTheLargestLevelACK: - case Command.UpdataLightDimmingMaximumOrMinimumACK: - case Command.WriteManageWirelessNetACK: - case Command.ReadGateWayModelInfoACK: - case Command.ReadGatewayServerIPACK: - case Command.SetGateWayModelInfoACK: - case Command.SetGateWayModelInternetInfoACK: - case Command.ReadDeviceMacACK: - case Command.SetDeviceSubnetIDACK: - case Command.PositioningEquipmentACK: - case Command.PositioningPanelACK: - case Command.GotoConfigModeACK: - case Command.CheckConfigSuccessACK: - case Command.SetACPanelACK: - case Command.ReadACPanelACK: - case Command.ReadTerrestriaHeatRemarkACK: - case Command.UpdateGatewayIpACK: - case Command.ReadWirelessPanelModeACK: - case Command.ReadDrycontactModeACK: - case Command.ReadACFloorHeatingSettingEquipmentACK: - case Command.SetACFloorHeatingSettingEquipmentACK: - case Command.Read43FloorHeatingSettingEquipmentACK: - case Command.Set43FloorHeatingSettingEquipmentACK: - case Command.READ_AIR_ALL_Parameter_ack: - case Command.Set_AIR_ALL_Parameter_ack: - case Command.ReadFloorHeatProbeACK: - case Command.ReadButtonKeyEnableACK: - case Command.UpdateLightDimmingLoopRemakeACK: - case Command.ReadMusicPanelSettingACK: - case Command.ReadMusicPanelEnableACK: - case Command.SetMusicPanelEnableACK: - case Command.SetMusicPanelSettingACK: - case Command.SetGatewayACK: - case Command.ReadGatewayProgrammingModeACK: - case Command.RED_HSFH_TOTAL_ACK: - case Command.RED_HSFH_INFORMATION_ACK: - case Command.RED_HSRM_TOTAL_ACK: - case Command.RED_HSRM_INFORMATION_ACK: - case Command.CLEAR_SYSTEM_HISTORY_ACK: - case Command.SetSensorTargetRemarkACK: - case Command.ReadSensorAutomationEnableListACK: - case Command.SetSensorAutomationEnableListACK: - case Command.SetSensorAutomationListIDACK: - case Command.ReadSensorAutomationListIDACK: - case Command.ReadSensorAutomationNameACK: - case Command.SetSensorAutomationNameACK: - case Command.Set_Floor_Heat_State_ack: - case Command.Read_Floor_Heat_State_ack: - case Command.Read_Air_Condition_Set_ack: - case Command.HornAlarmBroadcast: - case Command.ReadHornLoopCountACK: - case Command.UpdateHornLoopRemakeACK: - case Command.ReadPanelTempTypeACK: - receiveFlag += ""; - break; - case Command.ControlMusicModel1ACK: - receiveFlag += ""; - break; - case Command.ControlMusicModel2ACK: - for (int i = 1; i < usefulBytes.Length; i++) - { - if (usefulBytes[i + 1] == 44) - { - break; - } - receiveFlag += string.Format("{0},", usefulBytes[i]); - } - break; + //case Command.YIPanelDeviceInofACK: + // for (int i = 0; i < 4; i++) + // { + // receiveFlag += string.Format("{0}", usefulBytes[i]); + // } + // break; + //case Command.ReadDoorLockSceneObjACK: + // receiveFlag += string.Format("{0},{1},{2},{3},{4}", usefulBytes[0], usefulBytes[1], usefulBytes[2], usefulBytes[3], usefulBytes[4]); + // break; + //case Command.ReadDoorLockClockACK: + //case Command.CreatConnectionACK: + // receiveFlag += string.Format("{0}", usefulBytes[0]); + // break; + ////闂ㄩ攣,BroadcastDoorLockStateAndAlarm + ////骞挎挱闂ㄩ攣鐘舵�佸拰鎶ヨ, + //case Command.BroadcastDoorLockStateAndAlarm://骞挎挱闂ㄩ攣鐘舵�佸拰鎶ヨ + // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); + // break; + //case Command.ReadDoorLockUseRemarkACK: + //case Command.ReadSensorPushMessageACK: + //case Command.SetSensorPushMessageACK: + //case Command.ReadSensorScenceACK: + //case Command.ReadAnalogACK: + // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]); + // break; + //case Command.SetSensorScenceACK: + // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[1], usefulBytes[2], usefulBytes[3]); + // break; + //case Command.SendRemoteInfoToServerACK: + // for (int i = 1; i < 9; i++) + // { + // receiveFlag += string.Format("{0}", usefulBytes[i]); + // } + // break; + //case Command.BroadcastDryContactStatus://鐢卞共鎺ョ偣骞挎挱鍑烘潵鐨勬暟鎹紝绋嬪簭涓嶅仛鍥炲銆� + // receiveFlag += string.Format("{0}", usefulBytes[0]); + // break; + //case Command.SetSceneACK: + // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); + // break; + //case Command.SetSeriesACK: + // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); + // break; + //case Command.SetCurtainModelStutasACK: + //case Command.SetHotelCurtainACK: + //case Command.DownloadInfraredACK: + //case Command.SetSensorPushValuesACK: + //case Command.ReadSensorPushValuesACK: + // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); + // break; + //case Command.ReadLightEquipmentAllLoopBrightnessACK: + // break; + //case Command.UpLoadInfraredACK: + // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); + // break; + //case Command.SetCommonACK: + //case Command.InfraredChannelControlACK: + //case Command.Serverx_FH_CMD_ACK: + //case Command.ReadSensorHistoryACK: + //case Command.SetSensorAutomationTargetLevelEnableACK: + //case Command.ReadSensorAutomationLevelTargetEnableACK: + // receiveFlag += string.Format("{0}", usefulBytes[0]); + // break; + //case Command.ReadFoolHeatACK: + //case Command.SetFoolHeatACK: + //case Command.SetArmACK: + //case Command.ReadArmACK: + // receiveFlag += string.Format("{0}", usefulBytes[0]); + // break; + //case Command.ReadDeviceModulACK: + //case Command.ReadGatewayACK: + //case Command.ReadSecurityStatusACK: + // receiveFlag = string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); + // break; + //case Command.UpdataLightDimmingTheLargestLevelACK: + //case Command.UpdataLightDimmingMaximumOrMinimumACK: + //case Command.WriteManageWirelessNetACK: + //case Command.ReadGateWayModelInfoACK: + //case Command.ReadGatewayServerIPACK: + //case Command.SetGateWayModelInfoACK: + //case Command.SetGateWayModelInternetInfoACK: + //case Command.ReadDeviceMacACK: + //case Command.SetDeviceSubnetIDACK: + //case Command.PositioningEquipmentACK: + //case Command.PositioningPanelACK: + //case Command.GotoConfigModeACK: + //case Command.CheckConfigSuccessACK: + //case Command.SetACPanelACK: + //case Command.ReadACPanelACK: + //case Command.ReadTerrestriaHeatRemarkACK: + //case Command.UpdateGatewayIpACK: + //case Command.ReadWirelessPanelModeACK: + //case Command.ReadDrycontactModeACK: + //case Command.ReadACFloorHeatingSettingEquipmentACK: + //case Command.SetACFloorHeatingSettingEquipmentACK: + //case Command.Read43FloorHeatingSettingEquipmentACK: + //case Command.Set43FloorHeatingSettingEquipmentACK: + //case Command.READ_AIR_ALL_Parameter_ack: + //case Command.Set_AIR_ALL_Parameter_ack: + //case Command.ReadFloorHeatProbeACK: + //case Command.ReadButtonKeyEnableACK: + //case Command.UpdateLightDimmingLoopRemakeACK: + //case Command.ReadMusicPanelSettingACK: + //case Command.ReadMusicPanelEnableACK: + //case Command.SetMusicPanelEnableACK: + //case Command.SetMusicPanelSettingACK: + //case Command.SetGatewayACK: + //case Command.ReadGatewayProgrammingModeACK: + //case Command.RED_HSFH_TOTAL_ACK: + //case Command.RED_HSFH_INFORMATION_ACK: + //case Command.RED_HSRM_TOTAL_ACK: + //case Command.RED_HSRM_INFORMATION_ACK: + //case Command.CLEAR_SYSTEM_HISTORY_ACK: + //case Command.SetSensorTargetRemarkACK: + //case Command.ReadSensorAutomationEnableListACK: + //case Command.SetSensorAutomationEnableListACK: + //case Command.SetSensorAutomationListIDACK: + //case Command.ReadSensorAutomationListIDACK: + //case Command.ReadSensorAutomationNameACK: + //case Command.SetSensorAutomationNameACK: + //case Command.Set_Floor_Heat_State_ack: + //case Command.Read_Floor_Heat_State_ack: + //case Command.Read_Air_Condition_Set_ack: + //case Command.HornAlarmBroadcast: + //case Command.ReadHornLoopCountACK: + //case Command.UpdateHornLoopRemakeACK: + //case Command.ReadPanelTempTypeACK: + // receiveFlag += ""; + // break; + //case Command.ControlMusicModel1ACK: + // receiveFlag += ""; + // break; + //case Command.ControlMusicModel2ACK: + // for (int i = 1; i < usefulBytes.Length; i++) + // { + // if (usefulBytes[i + 1] == 44) + // { + // break; + // } + // receiveFlag += string.Format("{0},", usefulBytes[i]); + // } + // break; - case Command.Remote3thACK: - receiveFlag = string.Format("{0},", (int)command); - break; - case Command.ReadDeviceLoopInfoACK: - if (usefulBytes[0] == 1) - { - receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[2]); ; - } - else - receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]); - break; - case Command.SetDeviceLoopInfoACK: - case Command.InfraredControlACK: - case Command.SetLogicLoopColorACK: - case Command.SetSecurityByPassACK: - case Command.SetSensorAutomationDateTimeCycleACK: - case Command.ReadSensorAutomationDateTimeCycleACK: - receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]); - break; - case Command.UpdataRemakeACK: - break; - case Command.ReadWirelessPanelButtonKeyACK: - case Command.WriteWirelessPanelButtonKeyACK: - case Command.ReadDryContactStatusACK: - case Command.InstructionPanelKeyACK: - case Command.ReadInstructionPanelKeyACK: - case Command.ReadAnalogValueACK: - case Command.ReadSensorTargetRemarkACK: - case Command.SetHornTargetStateACK: - case Command.ReadHornTargetStateACK: - receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); - break; - case Command.AssignedAddressACK: - case Command.UpdataCurtainModelRunTimeACK: - case Command.ReadCurtainStutasACK: - case Command.ReadLogicLoopColorACK: - case Command.ReadPanleTempACK: - case Command.FreshAirReadACK: - case Command.FreshAirControlACK: - case Command.Set_Air_State_New_ack: - case Command.ReadHornHistoryACK: - case Command.ReadHornLoopsStatusACK: - case Command.ReadHornPushACK: - case Command.SetHornPushACK: - case Command.ReadHornLoopAlarmACK: - case Command.SetHornTargetEnableACK: - case Command.ReadHornTargetEnableACK: - receiveFlag += string.Format("{0}", usefulBytes[0]); - break; - case Command.RemoteFirstACK: - for (int i = 1; i < 1 + 28; i++) - { - receiveFlag += string.Format("{0}", usefulBytes[i]); - } - break; - case Command.RemoteSecoudACK: - for (int i = 0; i < 7; i++) - { - receiveFlag += string.Format("{0}", usefulBytes[i]); - } - break; + //case Command.Remote3thACK: + // receiveFlag = string.Format("{0},", (int)command); + // break; + //case Command.ReadDeviceLoopInfoACK: + // if (usefulBytes[0] == 1) + // { + // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[2]); ; + // } + // else + // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]); + // break; + //case Command.SetDeviceLoopInfoACK: + //case Command.InfraredControlACK: + //case Command.SetSecurityByPassACK: + //case Command.SetSensorAutomationDateTimeCycleACK: + //case Command.ReadSensorAutomationDateTimeCycleACK: + // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]); + // break; + //case Command.UpdataRemakeACK: + // break; + //case Command.ReadWirelessPanelButtonKeyACK: + //case Command.WriteWirelessPanelButtonKeyACK: + //case Command.ReadDryContactStatusACK: + //case Command.InstructionPanelKeyACK: + //case Command.ReadInstructionPanelKeyACK: + //case Command.ReadAnalogValueACK: + //case Command.ReadSensorTargetRemarkACK: + //case Command.SetHornTargetStateACK: + //case Command.ReadHornTargetStateACK: + // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[1]); + // break; + //case Command.AssignedAddressACK: + //case Command.UpdataCurtainModelRunTimeACK: + //case Command.ReadCurtainStutasACK: + //case Command.ReadPanleTempACK: + //case Command.FreshAirReadACK: + //case Command.FreshAirControlACK: + //case Command.Set_Air_State_New_ack: + //case Command.ReadHornHistoryACK: + //case Command.ReadHornLoopsStatusACK: + //case Command.ReadHornPushACK: + //case Command.SetHornPushACK: + //case Command.ReadHornLoopAlarmACK: + //case Command.SetHornTargetEnableACK: + //case Command.ReadHornTargetEnableACK: + // receiveFlag += string.Format("{0}", usefulBytes[0]); + // break; + //case Command.RemoteFirstACK: + // for (int i = 1; i < 1 + 28; i++) + // { + // receiveFlag += string.Format("{0}", usefulBytes[i]); + // } + // break; + //case Command.RemoteSecoudACK: + // for (int i = 0; i < 7; i++) + // { + // receiveFlag += string.Format("{0}", usefulBytes[i]); + // } + // break; default: break; } @@ -431,7 +487,7 @@ { if (Packet.FlagDateTime.AddMilliseconds(1000).Ticks <= System.DateTime.Now.Ticks) { - //System.MainPage.WriteLog ("閲嶅彂鏁版嵁:" + SendFlag); + MainPage.Log("閲嶅彂鏁版嵁:" + SendFlag); BusSocket.AsyncBeginSend(Packet); } System.Threading.Thread.Sleep(100); @@ -459,189 +515,195 @@ switch (target.Command) { - case Command.YIPanelDeviceInof: - for (int i = 0; i < 4; i++) - { - this.sendFlag += string.Format("{0}", target.AddData[i]); - } - break; - case Command.ReadDoorLockSceneObj: - this.SendFlag += string.Format("{0},{1},{2},{3},{4}", target.AddData[0], target.AddData[1], target.AddData[2], target.AddData[3], target.AddData[4]); - break; - case Command.ReadDoorLockClock: - case Command.CreatConnection: - this.SendFlag += string.Format("{0}", target.AddData[0]); - break; - case Command.ReadDoorLockUseRemark: - case Command.ReadSensorPushMessage: - case Command.SetSensorPushMessage: - case Command.SetSensorScence: - case Command.ReadAnalog: - this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); - break; - case Command.ReadSensorScence: - this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); - break; - case Command.SendRemoteInfoToServer: - for (int i = 40; i < 48; i++) - { - this.sendFlag += string.Format("{0}", target.AddData[i]); - } - break; - case Command.SetCommonSwitch: - case Command.InfraredChannelControl: + case Command.SetSingleLight: + case Command.ReadLogicLoopColor: case Command.ReadACMode: case Command.SetACMode: - case Command.ReadFoolHeat: - case Command.SetFoolHeat: - case Command.Serverx_FH_CMD: - case Command.SetArm: - case Command.ReadArm: - case Command.ReadSensorHistory: - case Command.SetSensorAutomationTargetLevelEnable: - case Command.ReadSensorAutomationLevelTargetEnable: - this.SendFlag += string.Format("{0}", target.AddData[0]); - break; - case Command.ReadDeviceModul: - case Command.ReadGateway: - case Command.ReadSecurityStatus: - case Command.ReadHornTargetState: - this.SendFlag = string.Format("{0},{1}", target.AddData[0], target.AddData[1]); - break; - case Command.SetScene: - case Command.SetSeries: - case Command.SetHotelCurtain: - case Command.ReadAnalogValue: - case Command.SetSensorPushValues: - case Command.ReadSensorPushValues: - this.SendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]); - break; - //case Command.ReadOnePortWirelessFROtherInfo: - case Command.UpdataRemake: - case Command.WriteManageWirelessNet: - case Command.UpdataLightDimmingTheLargestLevel: - case Command.UpdataLightDimmingMaximumOrMinimum: - case Command.ReadGateWayModelInfo: - case Command.ReadGatewayServerIP: - case Command.SetGateWayModelInfo: - case Command.SetGateWayModelInternetInfo: - case Command.ReadDeviceMac: - case Command.SetDeviceSubnetID: - case Command.PositioningEquipment: - case Command.PositioningPanel: - case Command.CheckConfigSuccess: - case Command.GotoConfigMode: - case Command.ReadACPanel: - case Command.SetACPanel: - case Command.ReadTerrestriaHeatRemark: - case Command.UpdateGatewayIp: - case Command.ReadWirelessPanelMode: - case Command.ReadDrycontactMode: - case Command.ReadACFloorHeatingSettingEquipment: - case Command.SetACFloorHeatingSettingEquipment: - case Command.Read43FloorHeatingSettingEquipment: - case Command.Set43FloorHeatingSettingEquipment: - case Command.READ_AIR_ALL_Parameter: - case Command.Set_AIR_ALL_Parameter: - case Command.ReadFloorHeatProbe: - case Command.ControlMusicModel: - case Command.ReadButtonKeyEnable: - case Command.UpdateEquipmentLoopRemake: - case Command.SetGateway: - case Command.ReadMusicPanelSetting: - case Command.ReadMusicPanelEnable: - case Command.SetMusicPanelEnable: - case Command.SetMusicPanelSetting: - case Command.ReadGatewayProgrammingMode: - case Command.RED_HSFH_TOTAL: - case Command.RED_HSFH_INFORMATION: - case Command.RED_HSRM_TOTAL: - case Command.RED_HSRM_INFORMATION: - case Command.CLEAR_SYSTEM_HISTORY: - case Command.SetSensorTargetRemark: - case Command.ReadSensorAutomationEnableList: - case Command.SetSensorAutomationEnableList: - case Command.SetSensorAutomationListID: - case Command.ReadSensorAutomationListID: - case Command.SetSensorAutomationName: - case Command.ReadSensorAutomationName: - case Command.Set_Floor_Heat_State: - case Command.Read_Floor_Heat_State: - case Command.Read_Air_Condition_Set: - case Command.UpdateHornLoopRemake: - case Command.ReadHornLoopCount: - case Command.ReadPanelTempType: - this.SendFlag += ""; - break; - case Command.ControlMusicModel2: - for (int i = 1; i < target.AddData.Length; i++) - { - if (target.AddData[i + 1] == 0x0D) - { - break; - } - this.sendFlag += string.Format("{0},", target.AddData[i]); - } - break; - case Command.Remote3th: - this.SendFlag = string.Format("{0},", (int)target.Command + 1); - break; - case Command.ReadDeviceLoopInfo: - if (target.AddData[0] == 1)//鐗规畩澶勭悊鐏厜绫伙紝DMX妯″潡姣忎竴涓洖璺笉鍥哄畾灏忕被锛屾牴鎹叿浣撹缃潵鍥炲 - this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]); - else - this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); - break; - case Command.SetDeviceLoopInfo: - case Command.InfraredControl: - case Command.SetLogicLoopColor: - case Command.SetSecurityByPass: - case Command.SetSensorAutomationDateTimeCycle: - case Command.ReadSensorAutomationDateTimeCycle: - this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); - break; - case Command.ReadWirelessPanelButtonKey: - case Command.WriteWirelessPanelButtonKey: - case Command.ReadDryContactStatus: - case Command.UpdataCurtainModelStutas: - case Command.SetSingleLight: - case Command.DownloadInfrared: - case Command.UpLoadInfrared: - case Command.InstructionPanelKey: - case Command.ReadInstructionPanelKey: - case Command.ReadSensorTargetRemark: - case Command.SetHornTargetState: - this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]); - break; - case Command.AssignedAddress: - case Command.UpdataCurtainModelRunTime: - case Command.ReadCurtainStatus: - case Command.ReadLogicLoopColor: - case Command.ReadPanleTemp: - case Command.FreshAirRead: - case Command.FreshAirControl: - case Command.Set_Air_State_New: - case Command.ReadHornTargetEnable: - case Command.SetHornTargetEnable: - case Command.ReadHornLoopAlarm: - case Command.SetHornPush: - case Command.ReadHornPush: - case Command.ReadHornHistory: - case Command.ReadHornLoopsStatus: + case Command.ReadFloorHeat: + case Command.SetFloorHeat: this.sendFlag += string.Format("{0}", target.AddData[0]); break; - case Command.RemoteFirst: - for (int i = 0; i < 28; i++) - { - this.sendFlag += string.Format("{0}", target.AddData[i]); - } + case Command.SetLogicLoopColor: + this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); break; - case Command.RemoteSecoud: - for (int i = 0; i < 7; i++) - { - this.sendFlag += string.Format("{0}", target.AddData[i]); - } - break; + //case Command.YIPanelDeviceInof: + // for (int i = 0; i < 4; i++) + // { + // this.sendFlag += string.Format("{0}", target.AddData[i]); + // } + // break; + //case Command.ReadDoorLockSceneObj: + // this.SendFlag += string.Format("{0},{1},{2},{3},{4}", target.AddData[0], target.AddData[1], target.AddData[2], target.AddData[3], target.AddData[4]); + // break; + //case Command.ReadDoorLockClock: + //case Command.CreatConnection: + // this.SendFlag += string.Format("{0}", target.AddData[0]); + // break; + //case Command.ReadDoorLockUseRemark: + //case Command.ReadSensorPushMessage: + //case Command.SetSensorPushMessage: + //case Command.SetSensorScence: + //case Command.ReadAnalog: + // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); + // break; + //case Command.ReadSensorScence: + // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); + // break; + //case Command.SendRemoteInfoToServer: + // for (int i = 40; i < 48; i++) + // { + // this.sendFlag += string.Format("{0}", target.AddData[i]); + // } + // break; + //case Command.SetCommonSwitch: + //case Command.InfraredChannelControl: + //case Command.ReadFoolHeat: + //case Command.SetFoolHeat: + //case Command.Serverx_FH_CMD: + //case Command.SetArm: + //case Command.ReadArm: + //case Command.ReadSensorHistory: + //case Command.SetSensorAutomationTargetLevelEnable: + //case Command.ReadSensorAutomationLevelTargetEnable: + // this.SendFlag += string.Format("{0}", target.AddData[0]); + // break; + //case Command.ReadDeviceModul: + //case Command.ReadGateway: + //case Command.ReadSecurityStatus: + //case Command.ReadHornTargetState: + // this.SendFlag = string.Format("{0},{1}", target.AddData[0], target.AddData[1]); + // break; + //case Command.SetScene: + //case Command.SetSeries: + //case Command.SetHotelCurtain: + //case Command.ReadAnalogValue: + //case Command.SetSensorPushValues: + //case Command.ReadSensorPushValues: + // this.SendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]); + // break; + ////case Command.ReadOnePortWirelessFROtherInfo: + //case Command.UpdataRemake: + //case Command.WriteManageWirelessNet: + //case Command.UpdataLightDimmingTheLargestLevel: + //case Command.UpdataLightDimmingMaximumOrMinimum: + //case Command.ReadGateWayModelInfo: + //case Command.ReadGatewayServerIP: + //case Command.SetGateWayModelInfo: + //case Command.SetGateWayModelInternetInfo: + //case Command.ReadDeviceMac: + //case Command.SetDeviceSubnetID: + //case Command.PositioningEquipment: + //case Command.PositioningPanel: + //case Command.CheckConfigSuccess: + //case Command.GotoConfigMode: + //case Command.ReadACPanel: + //case Command.SetACPanel: + //case Command.ReadTerrestriaHeatRemark: + //case Command.UpdateGatewayIp: + //case Command.ReadWirelessPanelMode: + //case Command.ReadDrycontactMode: + //case Command.ReadACFloorHeatingSettingEquipment: + //case Command.SetACFloorHeatingSettingEquipment: + //case Command.Read43FloorHeatingSettingEquipment: + //case Command.Set43FloorHeatingSettingEquipment: + //case Command.READ_AIR_ALL_Parameter: + //case Command.Set_AIR_ALL_Parameter: + //case Command.ReadFloorHeatProbe: + //case Command.ControlMusicModel: + //case Command.ReadButtonKeyEnable: + //case Command.UpdateEquipmentLoopRemake: + //case Command.SetGateway: + //case Command.ReadMusicPanelSetting: + //case Command.ReadMusicPanelEnable: + //case Command.SetMusicPanelEnable: + //case Command.SetMusicPanelSetting: + //case Command.ReadGatewayProgrammingMode: + //case Command.RED_HSFH_TOTAL: + //case Command.RED_HSFH_INFORMATION: + //case Command.RED_HSRM_TOTAL: + //case Command.RED_HSRM_INFORMATION: + //case Command.CLEAR_SYSTEM_HISTORY: + //case Command.SetSensorTargetRemark: + //case Command.ReadSensorAutomationEnableList: + //case Command.SetSensorAutomationEnableList: + //case Command.SetSensorAutomationListID: + //case Command.ReadSensorAutomationListID: + //case Command.SetSensorAutomationName: + //case Command.ReadSensorAutomationName: + //case Command.Set_Floor_Heat_State: + //case Command.Read_Floor_Heat_State: + //case Command.Read_Air_Condition_Set: + //case Command.UpdateHornLoopRemake: + //case Command.ReadHornLoopCount: + //case Command.ReadPanelTempType: + // this.SendFlag += ""; + // break; + //case Command.ControlMusicModel2: + // for (int i = 1; i < target.AddData.Length; i++) + // { + // if (target.AddData[i + 1] == 0x0D) + // { + // break; + // } + // this.sendFlag += string.Format("{0},", target.AddData[i]); + // } + // break; + //case Command.Remote3th: + // this.SendFlag = string.Format("{0},", (int)target.Command + 1); + // break; + //case Command.ReadDeviceLoopInfo: + // if (target.AddData[0] == 1)//鐗规畩澶勭悊鐏厜绫伙紝DMX妯″潡姣忎竴涓洖璺笉鍥哄畾灏忕被锛屾牴鎹叿浣撹缃潵鍥炲 + // this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]); + // else + // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); + // break; + //case Command.SetDeviceLoopInfo: + //case Command.InfraredControl: + //case Command.SetSecurityByPass: + //case Command.SetSensorAutomationDateTimeCycle: + //case Command.ReadSensorAutomationDateTimeCycle: + // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); + // break; + //case Command.ReadWirelessPanelButtonKey: + //case Command.WriteWirelessPanelButtonKey: + //case Command.ReadDryContactStatus: + //case Command.SetCurtainModelStutas: + //case Command.DownloadInfrared: + //case Command.UpLoadInfrared: + //case Command.InstructionPanelKey: + //case Command.ReadInstructionPanelKey: + //case Command.ReadSensorTargetRemark: + //case Command.SetHornTargetState: + // this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[1]); + // break; + //case Command.AssignedAddress: + //case Command.UpdataCurtainModelRunTime: + //case Command.ReadCurtainStatus: + //case Command.ReadPanleTemp: + //case Command.FreshAirRead: + //case Command.FreshAirControl: + //case Command.Set_Air_State_New: + //case Command.ReadHornTargetEnable: + //case Command.SetHornTargetEnable: + //case Command.ReadHornLoopAlarm: + //case Command.SetHornPush: + //case Command.ReadHornPush: + //case Command.ReadHornHistory: + //case Command.ReadHornLoopsStatus: + // this.sendFlag += string.Format("{0}", target.AddData[0]); + // break; + //case Command.RemoteFirst: + // for (int i = 0; i < 28; i++) + // { + // this.sendFlag += string.Format("{0}", target.AddData[i]); + // } + // break; + //case Command.RemoteSecoud: + // for (int i = 0; i < 7; i++) + // { + // this.sendFlag += string.Format("{0}", target.AddData[i]); + // } + // break; default: //return; break; @@ -661,14 +723,21 @@ /// <param name="sendCount">閲嶅彂娆℃暟</param> public void Send(Target target, int sendCount, bool isWait) { - Packet = new Packet(target.SendBytes, target.IPEndPoint); - Packet.HaveSendCount = 3 - sendCount; - - ini(target); - - if (isWait) + try { - this.wait(); + Packet = new Packet(target.SendBytes, target.IPEndPoint); + Packet.HaveSendCount = 3 - sendCount; + + ini(target); + + if (isWait) + { + this.wait(); + } + } + catch(Exception ex) + { + MainPage.Log($"Send bus data error {ex.Message}"); } } -- Gitblit v1.8.0