|  |  | @ -17,15 +17,15 @@ union serial_u { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | // units
 | 
			
		
	
		
			
				
					|  |  |  | enum {UNIT_V = 0, UNIT_A, UNIT_W,  UNIT_WH, UNIT_KWH, UNIT_HZ, UNIT_C, UNIT_PCT, UNIT_VA}; | 
			
		
	
		
			
				
					|  |  |  | const char* const units[] = {"V", "A", "W", "Wh", "kWh", "Hz", "°C", "%","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", "%","VAr",""}; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | // field types
 | 
			
		
	
		
			
				
					|  |  |  | 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", | 
			
		
	
		
			
				
					|  |  |  |         "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
 | 
			
		
	
		
			
				
					|  |  |  | 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_F,   UNIT_HZ,  CH0, 16, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { 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_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_F,   UNIT_HZ,  CH0, 28, 2, 100  }, | 
			
		
	
		
			
				
					|  |  |  |     { 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_YT,  UNIT_KWH, CH0, CALC_YT_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_PCT, UNIT_PCT, CH0, 56, 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_YT,  UNIT_KWH, CH0, CALC_YT_CH0,  0, CMD_CALC }, | 
			
		
	
		
			
				
					|  |  |  |     { FLD_PDC, UNIT_W,   CH0, CALC_PDC_CH0, 0, CMD_CALC }, | 
			
		
	
	
		
			
				
					|  |  | 
 |