Browse Source

Merge pull request #1 from tbnobody/pypackage

Added parser for HM-1500
pull/25/head
Jan-Jonas Sämann 2 years ago
committed by GitHub
parent
commit
42bd240083
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      tools/rpi/ahoy.py
  2. 58
      tools/rpi/hoymiles/decoders/__init__.py

4
tools/rpi/ahoy.py

@ -97,9 +97,9 @@ def poll_inverter(inverter):
if mqtt_client: if mqtt_client:
mqtt_send_status(mqtt_client, inverter_ser, data, mqtt_send_status(mqtt_client, inverter_ser, data,
topic=inverter.get('mqtt', {}).get('topic', None) topic=inverter.get('mqtt', {}).get('topic', None))
def mqtt_send_status(broker, interter_ser, data, topic=None): def mqtt_send_status(broker, inverter_ser, data, topic=None):
""" Publish StatusResponse object """ """ Publish StatusResponse object """
if not topic: if not topic:

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

@ -155,42 +155,74 @@ class HM1500_Decode0B(StatusResponse):
return self.unpack('>H', 4)[0]/100 return self.unpack('>H', 4)[0]/100
@property @property
def dc_power_0(self): def dc_power_0(self):
return self.unpack('>H', 6)[0]/10 return self.unpack('>H', 9)[0]/10
@property @property
def dc_energy_total_0(self): def dc_energy_total_0(self):
return self.unpack('>L', 14)[0] return self.unpack('>L', 12)[0]
@property @property
def dc_energy_daily_0(self): def dc_energy_daily_0(self):
return self.unpack('>H', 22)[0] return self.unpack('>H', 20)[0]
@property @property
def dc_voltage_1(self): def dc_voltage_1(self):
return self.unpack('>H', 8)[0]/10 return self.unpack('>H', 2)[0]/10
@property @property
def dc_current_1(self): def dc_current_1(self):
return self.unpack('>H', 10)[0]/100 return self.unpack('>H', 4)[0]/100
@property @property
def dc_power_1(self): def dc_power_1(self):
return self.unpack('>H', 12)[0]/10 return self.unpack('>H', 10)[0]/10
@property @property
def dc_energy_total_1(self): def dc_energy_total_1(self):
return self.unpack('>L', 18)[0] return self.unpack('>L', 16)[0]
@property @property
def dc_energy_daily_1(self): def dc_energy_daily_1(self):
return self.unpack('>H', 24)[0] return self.unpack('>H', 22)[0]
@property
def dc_voltage_2(self):
return self.unpack('>H', 24)[0]/10
@property
def dc_current_2(self):
return self.unpack('>H', 26)[0]/100
@property
def dc_power_2(self):
return self.unpack('>H', 30)[0]/10
@property
def dc_energy_total_2(self):
return self.unpack('>L', 34)[0]
@property
def dc_energy_daily_2(self):
return self.unpack('>H', 42)[0]
@property
def dc_voltage_3(self):
return self.unpack('>H', 24)[0]/10
@property
def dc_current_3(self):
return self.unpack('>H', 28)[0]/100
@property
def dc_power_3(self):
return self.unpack('>H', 32)[0]/10
@property
def dc_energy_total_3(self):
return self.unpack('>L', 40)[0]
@property
def dc_energy_daily_3(self):
return self.unpack('>H', 44)[0]
@property @property
def ac_voltage_0(self): def ac_voltage_0(self):
return self.unpack('>H', 26)[0]/10 return self.unpack('>H', 46)[0]/10
@property @property
def ac_current_0(self): def ac_current_0(self):
return self.unpack('>H', 34)[0]/10 return self.unpack('>H', 54)[0]/10
@property @property
def ac_power_0(self): def ac_power_0(self):
return self.unpack('>H', 30)[0]/10 return self.unpack('>H', 50)[0]/10
@property @property
def frequency(self): def frequency(self):
return self.unpack('>H', 28)[0]/100 return self.unpack('>H', 48)[0]/100
@property @property
def temperature(self): def temperature(self):
return self.unpack('>H', 38)[0]/10 return self.unpack('>H', 58)[0]/10

Loading…
Cancel
Save