增加日志推送,增加房态变化的时候 断电功能

This commit is contained in:
2026-02-03 08:53:47 +08:00
parent e4610f1ffa
commit 1d77141ffe
21 changed files with 229 additions and 26 deletions

View File

@@ -246,7 +246,7 @@ namespace RCUHost.Implement
d1.device_id = hostNumber;
d1.frame_id = zhenhao;
d1.cmd_word = "0F";
d1.udp_raw = Tools.ByteToString(data);
d1.udp_raw = data;
d1.direction = "下发";
List<ts_controlitem> lll3 = new List<ts_controlitem>();

View File

@@ -406,6 +406,7 @@ namespace RCUHost.Implement
DataTongJi.TotalCount.TryAdd(TotalKey, u);
}
//logger.Error("升级拉取指令:" + Tools.ByteToString(data));
udpClient.Send(data, data.Length, endPoint);
// 使用同一个 Socket 发送回复
//udpClient.SendTo(data, endPoint);
@@ -1247,6 +1248,10 @@ namespace RCUHost.Implement
byte cmdType = context111.SystemHeader.Value.CmdType;
if (cmdType == 0x68)
{
logger.Error("收到升级返回:" + Tools.ByteToString(gga.Data));
}
ushort MyFrameNO = context111.SystemHeader.Value.FrameNo;
byte[] framenolist = BitConverter.GetBytes(MyFrameNO);
@@ -1274,6 +1279,7 @@ namespace RCUHost.Implement
o.CurrentStatus = "on";
o.CurrentTime = DateTime.Now;
o.EndPoint = EndPointStr;
o.UnixTime = Tools.GetUnixTime();
//新来的数据
var n = Newtonsoft.Json.JsonConvert.SerializeObject(o);
@@ -1358,7 +1364,7 @@ namespace RCUHost.Implement
d1.device_id = HostNNN;
d1.frame_id = MyFrameNO;
d1.cmd_word = "0F";
d1.udp_raw = Tools.ByteToString(OriginalByte);
d1.udp_raw = OriginalByte;
d1.direction = "上报";
string sss = Newtonsoft.Json.JsonConvert.SerializeObject(d1);
CSRedisCacheHelper.Publish("redis-0X36-0X0F", sss);
@@ -1857,7 +1863,7 @@ namespace RCUHost.Implement
d1.device_id = HostNNN;
d1.frame_id = MyFrameNO;
d1.cmd_word = "36";
d1.udp_raw = Tools.ByteToString(OriginalByte);
d1.udp_raw = OriginalByte;
d1.direction = "上报";
List<ts_deviceitem> lll1 = new List<ts_deviceitem>();

View File

@@ -827,21 +827,21 @@ namespace RCUHost.Implement
#endregion
case DeviceType.AirConditioner://空调
#region
//status = device.Value.StatusReceiver >> 15;//开关
//int mode = (device.Value.StatusReceiver >> 13) & 0x03;//模式
//int fanSpeed = (device.Value.StatusReceiver >> 11) & 0x03;//风速
//int valve = (device.Value.StatusReceiver >> 10) & 0x01;//阀门
//int temperature = (device.Value.StatusReceiver >> 5) & 0x1F;//设定温度
//int currentTemp = device.Value.StatusReceiver & 0x01F;//当前温度(室内温度)
int StatusReceiver = device.Value.StatusReceiver;
status = StatusReceiver >> 15;//开关
int mode = (StatusReceiver >> 12) & 0x03;//模式
int fanSpeed = (StatusReceiver >> 11) & 0x03;//风速
int valve = (StatusReceiver >> 10) & 0x01;//阀门
int temperature = (StatusReceiver >> 5) & 0x1F;//设定温度
int currentTemp = StatusReceiver & 0x01F;//当前温度(室内温度)
status = device.Value.StatusReceiver >> 15;//开关
int mode = (device.Value.StatusReceiver >> 13) & 0x03;//模式
int fanSpeed = (device.Value.StatusReceiver >> 11) & 0x03;//风速
int valve = (device.Value.StatusReceiver >> 10) & 0x01;//阀门
int temperature = (device.Value.StatusReceiver >> 5) & 0x1F;//设定温度
int currentTemp = device.Value.StatusReceiver & 0x01F;//当前温度(室内温度)
//status = StatusReceiver >> 15;//开关
//int mode = (StatusReceiver >> 12) & 0x03;//模式
//int fanSpeed = (StatusReceiver >> 11) & 0x03;//风速
//int valve = (StatusReceiver >> 10) & 0x01;//阀门
//int temperature = (StatusReceiver >> 5) & 0x1F;//设定温度
//int currentTemp = StatusReceiver & 0x01F;//当前温度(室内温度)
#region
if (status == 1)//设备开
{

View File

@@ -85,6 +85,8 @@ namespace RCUHost.Implement
public override void Process(ReceiverContext context1)
{
int startIndex = StructConverter.SizeOf(context1.SystemHeader);
//var mydata = Tools.ByteToString(context1.Data);
//logger.Error(string.Format("升级返回:{0}", mydata));
UpdateHostPacketReply? reply1 = DecodeUpdateHostPacketReply(context1.Data, startIndex);
var TTT = new Tuple<ReceiverContext, UpdateHostPacketReply?>(context1, reply1);
//logger.Error(string.Format("收到tftp升级回复命令{0}:{1}{2},解析结果:{3}", context.RemoteEndPoint.Address.ToString(), context.RemoteEndPoint.Port, Tools.ByteToString(context.Data), reply.HasValue));
@@ -96,8 +98,8 @@ namespace RCUHost.Implement
var context = NNN.Item1;
var reply = NNN.Item2;
var updateHostWorker = this.updateHostList.FirstOrDefault(r => r.Host.HostNumber == context.SystemHeader.Value.HostNumber.ToString());
var data= Tools.ByteToString( context1.Data);
logger.Error(string.Format("主机{0}升级返回:{1}", context.SystemHeader.Value.HostNumber.ToString(),data));
var data = Tools.ByteToString(context1.Data);
logger.Error(string.Format("主机{0}升级返回:{1}", context.SystemHeader.Value.HostNumber.ToString(), data));
if (updateHostWorker == null)
{
return;
@@ -215,10 +217,10 @@ namespace RCUHost.Implement
/// <param name="updateFileMd5">升级文件MD5值</param>
private void SendUpdateRequest(Host host, string updateFileMd5, ushort blockNum, byte fileType, string fileName)
{
logger.Error("主机升级:"+host.SysHotel.Code+":"+host.RoomNumber+" FileMd5:"+updateFileMd5+" FileName:"+fileName);
logger.Error("主机升级:" + host.SysHotel.Code + ":" + host.RoomNumber + " FileMd5:" + updateFileMd5 + " FileName:" + fileName);
byte[] data = CreateUpdateRequestPacket(updateFileMd5, blockNum, fileType, fileName);
logger.Error("升级HostNumber为"+host.HostNumber);
logger.Error("升级指令为:"+Tools.ByteToString(data));
logger.Error("升级HostNumber为" + host.HostNumber);
logger.Error("升级指令为:" + Tools.ByteToString(data));
Send(data, host.HostNumber, host.MAC);// host.IP, host.Port);
}
/// <summary>