|
@ -17,15 +17,15 @@ union serial_u { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// units
|
|
|
// units
|
|
|
enum {UNIT_V = 0, UNIT_A, UNIT_W, UNIT_WH, UNIT_KWH, UNIT_HZ, UNIT_C, UNIT_PCT, UNIT_VA}; |
|
|
enum {UNIT_V = 0, UNIT_A, UNIT_W, UNIT_WH, UNIT_KWH, UNIT_HZ, UNIT_C, UNIT_PCT, UNIT_VA, UNIT_ALARM_MES_ID}; |
|
|
const char* const units[] = {"V", "A", "W", "Wh", "kWh", "Hz", "°C", "%","VA"}; |
|
|
const char* const units[] = {"V", "A", "W", "Wh", "kWh", "Hz", "°C", "%","VAr",""}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// field types
|
|
|
// field types
|
|
|
enum {FLD_UDC = 0, FLD_IDC, FLD_PDC, FLD_YD, FLD_YW, FLD_YT, |
|
|
enum {FLD_UDC = 0, FLD_IDC, FLD_PDC, FLD_YD, FLD_YW, FLD_YT, |
|
|
FLD_UAC, FLD_IAC, FLD_PAC, FLD_F, FLD_T, FLD_PCT, FLD_EFF, FLD_IRR, FLD_PRA}; |
|
|
FLD_UAC, FLD_IAC, FLD_PAC, FLD_F, FLD_T, FLD_PCT, FLD_EFF, FLD_IRR, FLD_PRA,FLD_ALARM_MES_ID}; |
|
|
const char* const fields[] = {"U_DC", "I_DC", "P_DC", "YieldDay", "YieldWeek", "YieldTotal", |
|
|
const char* const fields[] = {"U_DC", "I_DC", "P_DC", "YieldDay", "YieldWeek", "YieldTotal", |
|
|
"U_AC", "I_AC", "P_AC", "Freq", "Temp", "Pct", "Efficiency", "Irradiation","P_ACr"}; |
|
|
"U_AC", "I_AC", "P_AC", "Freq", "Temp", "Pct", "Efficiency", "Irradiation","P_ACr","ALARM_MES_ID"}; |
|
|
|
|
|
|
|
|
// mqtt discovery device classes
|
|
|
// mqtt discovery device classes
|
|
|
enum {DEVICE_CLS_NONE = 0, DEVICE_CLS_CURRENT, DEVICE_CLS_ENERGY, DEVICE_CLS_PWR, DEVICE_CLS_VOLTAGE, DEVICE_CLS_FREQ, DEVICE_CLS_TEMP}; |
|
|
enum {DEVICE_CLS_NONE = 0, DEVICE_CLS_CURRENT, DEVICE_CLS_ENERGY, DEVICE_CLS_PWR, DEVICE_CLS_VOLTAGE, DEVICE_CLS_FREQ, DEVICE_CLS_TEMP}; |
|
@ -98,6 +98,7 @@ const byteAssign_t hm1chAssignment[] = { |
|
|
{ FLD_PRA, UNIT_VA, CH0, 20, 2, 10 }, |
|
|
{ FLD_PRA, UNIT_VA, CH0, 20, 2, 10 }, |
|
|
{ FLD_F, UNIT_HZ, CH0, 16, 2, 100 }, |
|
|
{ FLD_F, UNIT_HZ, CH0, 16, 2, 100 }, |
|
|
{ FLD_T, UNIT_C, CH0, 26, 2, 10 }, |
|
|
{ FLD_T, UNIT_C, CH0, 26, 2, 10 }, |
|
|
|
|
|
{ FLD_ALARM_MES_ID, UNIT_ALARM_MES_ID, CH0, 28, 2, 1 }, |
|
|
{ FLD_PDC, UNIT_W, CH0, CALC_PDC_CH0, 0, CMD_CALC }, |
|
|
{ FLD_PDC, UNIT_W, CH0, CALC_PDC_CH0, 0, CMD_CALC }, |
|
|
{ FLD_EFF, UNIT_PCT, CH0, CALC_EFF_CH0, 0, CMD_CALC } |
|
|
{ FLD_EFF, UNIT_PCT, CH0, CALC_EFF_CH0, 0, CMD_CALC } |
|
|
}; |
|
|
}; |
|
@ -128,6 +129,7 @@ const byteAssign_t hm2chAssignment[] = { |
|
|
{ FLD_PRA, UNIT_VA, CH0, 32, 2, 10 }, |
|
|
{ FLD_PRA, UNIT_VA, CH0, 32, 2, 10 }, |
|
|
{ FLD_F, UNIT_HZ, CH0, 28, 2, 100 }, |
|
|
{ FLD_F, UNIT_HZ, CH0, 28, 2, 100 }, |
|
|
{ FLD_T, UNIT_C, CH0, 38, 2, 10 }, |
|
|
{ FLD_T, UNIT_C, CH0, 38, 2, 10 }, |
|
|
|
|
|
{ FLD_ALARM_MES_ID, UNIT_ALARM_MES_ID, CH0, 40, 2, 1 }, |
|
|
{ FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, |
|
|
{ FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, |
|
|
{ FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC }, |
|
|
{ FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC }, |
|
|
{ FLD_PDC, UNIT_W, CH0, CALC_PDC_CH0, 0, CMD_CALC }, |
|
|
{ FLD_PDC, UNIT_W, CH0, CALC_PDC_CH0, 0, CMD_CALC }, |
|
@ -176,6 +178,7 @@ const byteAssign_t hm4chAssignment[] = { |
|
|
{ FLD_F, UNIT_HZ, CH0, 48, 2, 100 }, |
|
|
{ FLD_F, UNIT_HZ, CH0, 48, 2, 100 }, |
|
|
{ FLD_PCT, UNIT_PCT, CH0, 56, 2, 10 }, |
|
|
{ FLD_PCT, UNIT_PCT, CH0, 56, 2, 10 }, |
|
|
{ FLD_T, UNIT_C, CH0, 58, 2, 10 }, |
|
|
{ FLD_T, UNIT_C, CH0, 58, 2, 10 }, |
|
|
|
|
|
{ FLD_ALARM_MES_ID, UNIT_ALARM_MES_ID, CH0, 60, 2, 1 }, |
|
|
{ FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, |
|
|
{ FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, |
|
|
{ FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC }, |
|
|
{ FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC }, |
|
|
{ FLD_PDC, UNIT_W, CH0, CALC_PDC_CH0, 0, CMD_CALC }, |
|
|
{ FLD_PDC, UNIT_W, CH0, CALC_PDC_CH0, 0, CMD_CALC }, |
|
|