Browse Source

Update Decodes, group decoders by inverter serial

Seems to be that we can not exactly determine the actual model by
looking at the serial. What we seemingly can guess is how many MPPT and
Phases a range of serials have.

Some Group-Based decoders should be compatible across the group.

A group is now named by the lowest model

  * 1121: HM300 1 MPPT, 1 Phase
  * 1141: HM600 2 MPPT, 1 Phase
  * 1161: HM1200 4 MPPT, 1 Phase
pull/25/head
Jan-Jonas Sämann 3 years ago
parent
commit
3b54b58567
  1. 9
      tools/rpi/hoymiles/__init__.py
  2. 3
      tools/rpi/hoymiles/decoders/__init__.py

9
tools/rpi/hoymiles/__init__.py

@ -72,12 +72,9 @@ class ResponseDecoderFactory:
raise ValueError('Inverter serial while decoding response')
ser_db = [
('HM300', r'^112171......'),
('HM350', r'^112172......'),
('HM600', r'^114172......'),
('HM700', r'^114174......'),
('HM1200', r'^116170......'),
('HM1500', r'^116171......')
('HM300', r'^1121........'),
('HM600', r'^1141........'),
('HM1200', r'^1161........'),
]
ser_str = str(self.inverter_ser)

3
tools/rpi/hoymiles/decoders/__init__.py

@ -127,6 +127,7 @@ class DEBUG_DecodeAny(UnknownResponse):
else:
print(' type short pad1: ' + str(shorts))
# 1141-Series Inverters, 2 MPPT, 1 Phase
class HM600_Decode0B(StatusResponse):
def __init__(self, response):
self.response = response
@ -184,7 +185,7 @@ class HM600_Decode0C(HM600_Decode0B):
self.response = response
# HM-1500
# 1161-Series Inverters, 4 MPPT, 1 Phase
class HM1500_Decode0B(StatusResponse):
def __init__(self, response):
self.response = response

Loading…
Cancel
Save