mirror of
https://gitee.com/js-yhsec/energy_storage.git
synced 2026-05-28 03:09:24 +08:00
调试修改MQTT通讯解析
This commit is contained in:
@@ -10,9 +10,9 @@ class MqttClient;
|
||||
|
||||
struct TempHumUnit
|
||||
{
|
||||
int temp {0};
|
||||
int hum {0};
|
||||
TempHumUnit(int temp, int hum) : temp(temp), hum(hum) {};
|
||||
float temp {0};
|
||||
float hum {0};
|
||||
TempHumUnit(float temp, float hum) : temp(temp), hum(hum) {};
|
||||
TempHumUnit() {}
|
||||
};
|
||||
|
||||
@@ -20,7 +20,7 @@ struct Fire40Unit
|
||||
{
|
||||
//主控数量 R uint16 1 0x0002
|
||||
//主控ID R uint16 1 0x0003
|
||||
//主控状态 R uint16 0:正常 1:预警 2:火警 0x0004
|
||||
int statusMain {0}; //主控状态 R uint16 0:正常 1:预警 2:火警 0x0004
|
||||
//主控硬件版本 R uint16[2] 主控硬件版本 0x0005~0x0006
|
||||
//主控软件版本 R uint16[2] 主控软件版本 0x0007~0x0008
|
||||
//主电状态 R uint16 0:使用市电 1:使用备电 0x0009
|
||||
@@ -28,12 +28,12 @@ struct Fire40Unit
|
||||
//备电电压 R uint32 0.1V 0x000C
|
||||
//可用容量 R uint32 0.01Ah 0x000E
|
||||
//可充放容量 R uint32 0.01Ah 0x0010
|
||||
//警铃是否使用 R uint16 0x0012
|
||||
//警铃状态 R uint16 0:无效 1:掉线 2:正常 3:启动 0x0013
|
||||
//瓶头阀是否使用 R uint16 0x0014
|
||||
//瓶头阀状态 R uint16 0:无效 1:掉线 2:正常 3:启动 0x0015
|
||||
//手报是否使用 R uint16 0x0016
|
||||
//手报状态 R uint16 0:无效 1:掉线 2:正常 3:启动 0x0017
|
||||
int usedAlarm {0}; //警铃是否使用 R uint16 0x0012
|
||||
int statusAlarm {0}; //警铃状态 R uint16 0:无效 1:掉线 2:正常 3:启动 0x0013
|
||||
int usedValve {0}; //瓶头阀是否使用 R uint16 0x0014
|
||||
int statusValve {0}; //瓶头阀状态 R uint16 0:无效 1:掉线 2:正常 3:启动 0x0015
|
||||
int usedMCP {0}; //手报是否使用 R uint16 0x0016
|
||||
int statusMCP {0}; //手报状态 R uint16 0:无效 1:掉线 2:正常 3:启动 0x0017 // Manual Call Point (MCP)
|
||||
//簇控制器数量 R uint16 0x0018
|
||||
//复合探测器总数量 R uint16 0x0019
|
||||
//烟雾探测器总数量 R uint16 0x001A
|
||||
@@ -98,21 +98,29 @@ public:
|
||||
void addDevice(int deviceId, std::shared_ptr<Device> device);
|
||||
void addDevice(Fields& fields);
|
||||
std::shared_ptr<Device> getDevice(int deviceId);
|
||||
|
||||
void groupDevice();
|
||||
|
||||
std::shared_ptr<Device> getDeviceByType(int deviceType, std::string code);
|
||||
void getDeviceByType(int typeId, std::vector<std::shared_ptr<Device>>& res);
|
||||
int getDeviceCount(int category);
|
||||
void getDeviceByGroup(int category, std::vector<std::shared_ptr<Device>>& res);
|
||||
void getDeviceByCategory(int category, std::vector<std::shared_ptr<Device>>& res);
|
||||
|
||||
void setWorkMode(int modeId);
|
||||
void setPolicy(int policyId);
|
||||
|
||||
void writeRuntimeData(std::string dt, int npos);
|
||||
void writeStatistic(std::string dt);
|
||||
|
||||
void initMqtt();
|
||||
void polling();
|
||||
void setGarewayWorkMode();
|
||||
|
||||
void setRuntimeData(string addr, int val);
|
||||
void setTHData(int deviceNo, string addr, int val);
|
||||
void setFire40Data(int deviceNo, string addr, int val);
|
||||
void setCoolingData(int deviceNo, string addr, int val);
|
||||
|
||||
public:
|
||||
int stationId {};
|
||||
std::string name;
|
||||
@@ -127,6 +135,8 @@ public:
|
||||
int workModeId {}; // 运行模式
|
||||
int runPolicyId {}; // 运行策略
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// === 系统统计 ===
|
||||
// 累计发电量,单位:kWh
|
||||
@@ -179,13 +189,13 @@ public:
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// === 设备信息 ===
|
||||
std::unordered_map<int, std::shared_ptr<Device>> mapDevice;
|
||||
std::map<int, std::vector<std::shared_ptr<Device>>> mapDeviceGroup;
|
||||
std::map<int, std::map<std::string, std::shared_ptr<Device>>> mapDeviceGroup;
|
||||
|
||||
|
||||
// 温湿度信息
|
||||
std::map<int, TempHumUnit> mapTempHumUnit;
|
||||
// 消防4.0信息
|
||||
std::map<int, int> mapFire40Unit;
|
||||
std::map<int, Fire40Unit> mapFire40Unit;
|
||||
// 冷机信息
|
||||
std::map<int, CoolingUnit> mapCoolingUnit;
|
||||
// 空调信息
|
||||
@@ -195,5 +205,32 @@ public:
|
||||
/// === MQTT client
|
||||
std::shared_ptr<MqttClient> mqttCli {nullptr};
|
||||
|
||||
|
||||
|
||||
struct {
|
||||
int64_t ts;
|
||||
|
||||
double totalElectIn; //总充电电量 R uint32 1kWh 6659(0x112D) 0x112C
|
||||
double totalElectOut; //总放电电量 R uint32 1kWh 4925(0x112F) 0x112E
|
||||
double totalIncomeIn; //总充电费用 R uint32 1RMB 6605(0x1131) 0x1130
|
||||
double totalIncomeOut; //总放电费用 R uint32 1RMB 4949(0x1133) 0x1132
|
||||
double totalIncome; //总收益 R int32 1RMB -1 0x1134
|
||||
//储能充放电时段hh R uint16 时 336 0x01 0x121C
|
||||
//储能充放电时段mm R uint16 分 0 0x01 0x121D
|
||||
//储能充放电时段ss R uint16 秒 0 0x01 0x121E
|
||||
|
||||
double totalDurationIn;
|
||||
double totalDurationOut;
|
||||
|
||||
double dayElectIn; // 日充电电量 R uint32 1kWh 0 0x110E
|
||||
double dayElectOut; // 日放电电量 R uint32 1kWh 0 0x1110
|
||||
double dayIncomeIn; // 日充电费用 R uint32 1RMB 0 0x1112
|
||||
double dayIncomeOut; // 日放电费用 R uint32 1RMB 0 0x1114
|
||||
double dayIncome; // 日收益 R int32 1RMB 0 0x1116
|
||||
|
||||
} statData;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||
struct {
|
||||
} runtimeData;
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user