|  | @ -343,10 +343,14 @@ class HardwareInfoResponse(UnknownResponse): | 
			
		
	
		
		
			
				
					|  |  |         }; |  |  |         }; | 
			
		
	
		
		
			
				
					|  |  |         self.response = bytes('\x27\x1a\x07\xe5\x04\x4d\x03\x4a\x00\x68\x00\x00\x00\x00\xe6\xfb', 'latin1') |  |  |         self.response = bytes('\x27\x1a\x07\xe5\x04\x4d\x03\x4a\x00\x68\x00\x00\x00\x00\xe6\xfb', 'latin1') | 
			
		
	
		
		
			
				
					|  |  |         """ |  |  |         """ | 
			
		
	
		
		
			
				
					
					|  |  |         fw_version, fw_build_yyyy, fw_build_mmdd, fw_build_hhmm, hw_id = struct.unpack('>HHHHH', self.response[0:10]) |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |     def __dict__(self): | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         """ Base values, availabe in each __dict__ call """ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         responce_info = self.response |  |  |         responce_info = self.response | 
			
		
	
		
		
			
				
					
					|  |  |         logging.debug(f'HardwareInfoResponse: {struct.unpack(">HHHHHHHH", responce_info)}') |  |  |         logging.info(f'HardwareInfoResponse: {struct.unpack(">HHHHHHHH", responce_info)}') | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         fw_version, fw_build_yyyy, fw_build_mmdd, fw_build_hhmm, hw_id = struct.unpack('>HHHHH', self.response[0:10]) | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |         fw_version_maj = int((fw_version / 10000)) |  |  |         fw_version_maj = int((fw_version / 10000)) | 
			
		
	
		
		
			
				
					|  |  |         fw_version_min = int((fw_version % 10000) / 100) |  |  |         fw_version_min = int((fw_version % 10000) / 100) | 
			
		
	
	
		
		
			
				
					|  | @ -355,10 +359,22 @@ class HardwareInfoResponse(UnknownResponse): | 
			
		
	
		
		
			
				
					|  |  |         fw_build_dd = int(fw_build_mmdd % 100) |  |  |         fw_build_dd = int(fw_build_mmdd % 100) | 
			
		
	
		
		
			
				
					|  |  |         fw_build_HH = int(fw_build_hhmm / 100) |  |  |         fw_build_HH = int(fw_build_hhmm / 100) | 
			
		
	
		
		
			
				
					|  |  |         fw_build_MM = int(fw_build_hhmm % 100) |  |  |         fw_build_MM = int(fw_build_hhmm % 100) | 
			
		
	
		
		
			
				
					
					|  |  |         logging.debug(f'Firmware: {fw_version_maj}.{fw_version_min}.{fw_version_pat} '\ |  |  |         logging.info(f'Firmware: {fw_version_maj}.{fw_version_min}.{fw_version_pat} '\ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |                       f'build at {fw_build_dd:>02}/{fw_build_mm:>02}/{fw_build_yyyy}T{fw_build_HH:>02}:{fw_build_MM:>02}, '\ |  |  |                       f'build at {fw_build_dd:>02}/{fw_build_mm:>02}/{fw_build_yyyy}T{fw_build_HH:>02}:{fw_build_MM:>02}, '\ | 
			
		
	
		
		
			
				
					|  |  |                       f'HW revision {hw_id}') |  |  |                       f'HW revision {hw_id}') | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data = super().__dict__() | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_ver_maj'] = fw_version_maj | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_ver_min'] = fw_version_min | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_ver_pat'] = fw_version_pat | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_build_yy'] = fw_build_yyyy | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_build_mm'] = fw_build_mm | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_build_dd'] = fw_build_dd | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_build_HH'] = fw_build_HH | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_build_MM'] = fw_build_MM | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         data['FW_HW_ID'] = hw_id | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         return data | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class DebugDecodeAny(UnknownResponse): |  |  | class DebugDecodeAny(UnknownResponse): | 
			
		
	
		
		
			
				
					|  |  |     """Default decoder""" |  |  |     """Default decoder""" | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -405,10 +421,10 @@ class DebugDecodeAny(UnknownResponse): | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | # 1121-Series Intervers, 1 MPPT, 1 Phase |  |  | # 1121-Series Intervers, 1 MPPT, 1 Phase | 
			
		
	
		
		
			
				
					|  |  | class Hm300Decode01(HardwareInfoResponse): |  |  | class Hm300Decode01(HardwareInfoResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Firmware version / date """ |  |  |     """ 1121-series Firmware version / date """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm300Decode02(EventsResponse): |  |  | class Hm300Decode02(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter generic events log """ |  |  |     """ 1121-series Inverter generic events log """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm300Decode0B(StatusResponse): |  |  | class Hm300Decode0B(StatusResponse): | 
			
		
	
		
		
			
				
					|  |  |     """ 1121-series mirco-inverters status data """ |  |  |     """ 1121-series mirco-inverters status data """ | 
			
		
	
	
		
		
			
				
					|  | @ -469,18 +485,18 @@ class Hm300Decode0C(Hm300Decode0B): | 
			
		
	
		
		
			
				
					|  |  |     """ 1121-series mirco-inverters status data """ |  |  |     """ 1121-series mirco-inverters status data """ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm300Decode11(EventsResponse): |  |  | class Hm300Decode11(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter generic events log """ |  |  |     """ 1121-series Inverter generic events log """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm300Decode12(EventsResponse): |  |  | class Hm300Decode12(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter major events log """ |  |  |     """ 1121-series Inverter major events log """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | # 1141-Series Inverters, 2 MPPT, 1 Phase |  |  | # 1141-Series Inverters, 2 MPPT, 1 Phase | 
			
		
	
		
		
			
				
					|  |  | class Hm600Decode01(HardwareInfoResponse): |  |  | class Hm600Decode01(HardwareInfoResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Firmware version / date """ |  |  |     """ 1141-Series Firmware version / date """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm600Decode02(EventsResponse): |  |  | class Hm600Decode02(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter generic events log """ |  |  |     """ 1141-Series Inverter generic events log """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm600Decode0B(StatusResponse): |  |  | class Hm600Decode0B(StatusResponse): | 
			
		
	
		
		
			
				
					|  |  |     """ 1141-series mirco-inverters status data """ |  |  |     """ 1141-series mirco-inverters status data """ | 
			
		
	
	
		
		
			
				
					|  | @ -576,18 +592,18 @@ class Hm600Decode0C(Hm600Decode0B): | 
			
		
	
		
		
			
				
					|  |  |     """ 1141-series mirco-inverters status data """ |  |  |     """ 1141-series mirco-inverters status data """ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm600Decode11(EventsResponse): |  |  | class Hm600Decode11(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter generic events log """ |  |  |     """ 1141-Series Inverter generic events log """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm600Decode12(EventsResponse): |  |  | class Hm600Decode12(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter major events log """ |  |  |     """ 1141-Series Inverter major events log """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | # 1161-Series Inverters, 2 MPPT, 1 Phase |  |  | # 1161-Series Inverters, 2 MPPT, 1 Phase | 
			
		
	
		
		
			
				
					|  |  | class Hm1200Decode01(HardwareInfoResponse): |  |  | class Hm1200Decode01(HardwareInfoResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Firmware version / date """ |  |  |     """ 1161-Series Firmware version / date """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm1200Decode02(EventsResponse): |  |  | class Hm1200Decode02(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter generic events log """ |  |  |     """ 1161-Series Inverter generic events log """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm1200Decode0B(StatusResponse): |  |  | class Hm1200Decode0B(StatusResponse): | 
			
		
	
		
		
			
				
					|  |  |     """ 1161-series mirco-inverters status data """ |  |  |     """ 1161-series mirco-inverters status data """ | 
			
		
	
	
		
		
			
				
					|  | @ -737,7 +753,7 @@ class Hm1200Decode0C(Hm1200Decode0B): | 
			
		
	
		
		
			
				
					|  |  |     """ 1161-series mirco-inverters status data """ |  |  |     """ 1161-series mirco-inverters status data """ | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm1200Decode11(EventsResponse): |  |  | class Hm1200Decode11(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter generic events log """ |  |  |     """ 1161-Series Inverter generic events log """ | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | class Hm1200Decode12(EventsResponse): |  |  | class Hm1200Decode12(EventsResponse): | 
			
		
	
		
		
			
				
					
					|  |  |     """ Inverter major events log """ |  |  |     """ 1161-Series Inverter major events log """ | 
			
				
				
			
		
	
		
		
	
	
		
		
			
				
					|  | 
 |