Browse Source

Prepare decoder template for HM-1500

pull/25/head
Jan-Jonas Sämann 3 years ago
parent
commit
9026dfa4bc
  1. 3
      tools/rpi/hoymiles/__init__.py
  2. 53
      tools/rpi/hoymiles/decoders/__init__.py

3
tools/rpi/hoymiles/__init__.py

@ -76,7 +76,8 @@ class ResponseDecoderFactory:
('HM350', r'^112172......'),
('HM600', r'^114172......'),
('HM700', r'^114174......'),
('HM1200', r'^116170......')
('HM1200', r'^116170......'),
('HM1500', r'^116171......')
]
ser_str = str(self.inverter_ser)

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

@ -141,3 +141,56 @@ class HM600_Decode0C(HM600_Decode0B):
def __init__(self, response):
self.response = response
# HM-1500
class HM1500_Decode0B(StatusResponse):
def __init__(self, response):
self.response = response
@property
def dc_voltage_0(self):
return self.unpack('>H', 2)[0]/10
@property
def dc_current_0(self):
return self.unpack('>H', 4)[0]/100
@property
def dc_power_0(self):
return self.unpack('>H', 6)[0]/10
@property
def dc_energy_total_0(self):
return self.unpack('>L', 14)[0]
@property
def dc_energy_daily_0(self):
return self.unpack('>H', 22)[0]
@property
def dc_voltage_1(self):
return self.unpack('>H', 8)[0]/10
@property
def dc_current_1(self):
return self.unpack('>H', 10)[0]/100
@property
def dc_power_1(self):
return self.unpack('>H', 12)[0]/10
@property
def dc_energy_total_1(self):
return self.unpack('>L', 18)[0]
@property
def dc_energy_daily_1(self):
return self.unpack('>H', 24)[0]
@property
def ac_voltage_0(self):
return self.unpack('>H', 26)[0]/10
@property
def ac_current_0(self):
return self.unpack('>H', 34)[0]/10
@property
def ac_power_0(self):
return self.unpack('>H', 30)[0]/10
@property
def frequency(self):
return self.unpack('>H', 28)[0]/100
@property
def temperature(self):
return self.unpack('>H', 38)[0]/10

Loading…
Cancel
Save