|  | @ -217,74 +217,76 @@ class EventsResponse(UnknownResponse): | 
			
		
	
		
		
			
				
					|  |  |     """ Hoymiles micro-inverter event log decode helper """ |  |  |     """ Hoymiles micro-inverter event log decode helper """ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     alarm_codes = { |  |  |     alarm_codes = { | 
			
		
	
		
		
			
				
					
					|  |  |             1: 'Inverter start', |  |  |             // HM Error Codes | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             2: 'DTU command failed', |  |  |             1: 'Inverter start', // 0x01 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             121: 'Over temperature protection', |  |  |             2: 'DTU command failed', // 0x02 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             125: 'Grid configuration parameter error', |  |  |             121: 'Over temperature protection', // 0x79 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             126: 'Software error code 126', |  |  |             125: 'Grid configuration parameter error', // 0x7D | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             127: 'Firmware error', |  |  |             126: 'Software error code 126', // 0x7E | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             128: 'Software error code 128', |  |  |             127: 'Firmware error', // 0x7F | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             129: 'Software error code 129', |  |  |             128: 'Software error code 128', // 0x80 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             130: 'Offline', |  |  |             129: 'Software error code 129', // 0x81 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             141: 'Grid overvoltage', |  |  |             130: 'Offline', // 0x82 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             142: 'Average grid overvoltage', |  |  |             141: 'Grid overvoltage', // 0x8D | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             143: 'Grid undervoltage', |  |  |             142: 'Average grid overvoltage', // 0x8E | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             144: 'Grid overfrequency', |  |  |             143: 'Grid undervoltage', // 0x8F | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             145: 'Grid underfrequency', |  |  |             144: 'Grid overfrequency', // 0x90 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             146: 'Rapid grid frequency change', |  |  |             145: 'Grid underfrequency', // 0x91 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             147: 'Power grid outage', |  |  |             146: 'Rapid grid frequency change', // 0x92 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             148: 'Grid disconnection', |  |  |             147: 'Power grid outage', // 0x93 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             149: 'Island detected', |  |  |             148: 'Grid disconnection', // 0x94 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             205: 'Input port 1 & 2 overvoltage', |  |  |             149: 'Island detected', // 0x95 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             206: 'Input port 3 & 4 overvoltage', |  |  |             205: 'Input port 1 & 2 overvoltage', // 0xCD | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             207: 'Input port 1 & 2 undervoltage', |  |  |             206: 'Input port 3 & 4 overvoltage', // 0xCE | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             208: 'Input port 3 & 4 undervoltage', |  |  |             207: 'Input port 1 & 2 undervoltage', // 0xCF | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             209: 'Port 1 no input', |  |  |             208: 'Input port 3 & 4 undervoltage', // 0xD0 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             210: 'Port 2 no input', |  |  |             209: 'Port 1 no input', // 0xD1 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             211: 'Port 3 no input', |  |  |             210: 'Port 2 no input', // 0xD2 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             212: 'Port 4 no input', |  |  |             211: 'Port 3 no input', // 0xD3 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             213: 'PV-1 & PV-2 abnormal wiring', |  |  |             212: 'Port 4 no input', // 0xD4 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             214: 'PV-3 & PV-4 abnormal wiring', |  |  |             213: 'PV-1 & PV-2 abnormal wiring', // 0xD5 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             215: 'PV-1 Input overvoltage', |  |  |             214: 'PV-3 & PV-4 abnormal wiring', // 0xD6 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             216: 'PV-1 Input undervoltage', |  |  |             215: 'PV-1 Input overvoltage', // 0xD7 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             217: 'PV-2 Input overvoltage', |  |  |             216: 'PV-1 Input undervoltage', // 0xD8 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             218: 'PV-2 Input undervoltage', |  |  |             217: 'PV-2 Input overvoltage', // 0xD9 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             219: 'PV-3 Input overvoltage', |  |  |             218: 'PV-2 Input undervoltage', // 0xDA | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             220: 'PV-3 Input undervoltage', |  |  |             219: 'PV-3 Input overvoltage', // 0xDB | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             221: 'PV-4 Input overvoltage', |  |  |             220: 'PV-3 Input undervoltage', // 0xDC | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             222: 'PV-4 Input undervoltage', |  |  |             221: 'PV-4 Input overvoltage', // 0xDD | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             301: 'Hardware error code 301', |  |  |             222: 'PV-4 Input undervoltage', // 0xDE | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             302: 'Hardware error code 302', |  |  |             301: 'Hardware error code 301', // 0x012D | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             303: 'Hardware error code 303', |  |  |             302: 'Hardware error code 302', // 0x012E | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             304: 'Hardware error code 304', |  |  |             303: 'Hardware error code 303', // 0x012F | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             305: 'Hardware error code 305', |  |  |             304: 'Hardware error code 304', // 0x0130 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             306: 'Hardware error code 306', |  |  |             305: 'Hardware error code 305', // 0x0131 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             307: 'Hardware error code 307', |  |  |             306: 'Hardware error code 306', // 0x0132 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             308: 'Hardware error code 308', |  |  |             307: 'Hardware error code 307', // 0x0133 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             309: 'Hardware error code 309', |  |  |             308: 'Hardware error code 308', // 0x0134 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             310: 'Hardware error code 310', |  |  |             309: 'Hardware error code 309', // 0x0135 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             311: 'Hardware error code 311', |  |  |             310: 'Hardware error code 310', // 0x0136 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             312: 'Hardware error code 312', |  |  |             311: 'Hardware error code 311', // 0x0137 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             313: 'Hardware error code 313', |  |  |             312: 'Hardware error code 312', // 0x0138 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             314: 'Hardware error code 314', |  |  |             313: 'Hardware error code 313', // 0x0139 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5041: 'Error code-04 Port 1', |  |  |             314: 'Hardware error code 314', // 0x013A | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5042: 'Error code-04 Port 2', |  |  |             // MI Error Codes | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5043: 'Error code-04 Port 3', |  |  |             5041: 'Error code-04 Port 1', // 0x13B1 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5044: 'Error code-04 Port 4', |  |  |             5042: 'Error code-04 Port 2', // 0x13B2 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5051: 'PV Input 1 Overvoltage/Undervoltage', |  |  |             5043: 'Error code-04 Port 3', // 0x13B3 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5052: 'PV Input 2 Overvoltage/Undervoltage', |  |  |             5044: 'Error code-04 Port 4', // 0x13B4 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5053: 'PV Input 3 Overvoltage/Undervoltage', |  |  |             5051: 'PV Input 1 Overvoltage/Undervoltage', // 0x13BB | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5054: 'PV Input 4 Overvoltage/Undervoltage', |  |  |             5052: 'PV Input 2 Overvoltage/Undervoltage', // 0x13BC | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5060: 'Abnormal bias', |  |  |             5053: 'PV Input 3 Overvoltage/Undervoltage', // 0x13BD | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5070: 'Over temperature protection', |  |  |             5054: 'PV Input 4 Overvoltage/Undervoltage', // 0x13BE | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5080: 'Grid Overvoltage/Undervoltage', |  |  |             5060: 'Abnormal bias', // 0x13C4 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5090: 'Grid Overfrequency/Underfrequency', |  |  |             5070: 'Over temperature protection', // 0x13CE | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5100: 'Island detected', |  |  |             5080: 'Grid Overvoltage/Undervoltage', // 0x13D8 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5120: 'EEPROM reading and writing error', |  |  |             5090: 'Grid Overfrequency/Underfrequency', // 0x13E2 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5150: '10 min value grid overvoltage', |  |  |             5100: 'Island detected', // 0x13EC | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             5200: 'Firmware error', |  |  |             5120: 'EEPROM reading and writing error', // 0x1400 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             8310: 'Shut down', |  |  |             5150: '10 min value grid overvoltage', // 0x141E | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |             9000: 'Microinverter is suspected of being stolen' |  |  |             5200: 'Firmware error', // 0x1450 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |             8310: 'Shut down', // 0x2076 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |             9000: 'Microinverter is suspected of being stolen' // 0x2328 | 
			
		
	
		
		
			
				
					|  |  |             } |  |  |             } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     def __init__(self, *args, **params): |  |  |     def __init__(self, *args, **params): | 
			
		
	
	
		
		
			
				
					|  | 
 |