Added heather algorithm

This commit is contained in:
marcel
2024-01-17 16:07:02 +01:00
parent 439a6b6a1f
commit e99422412e
11 changed files with 1587 additions and 88 deletions

View File

@@ -52,6 +52,10 @@ class EpeverChargeController(minimalmodbus.Instrument):
@retry(wait_fixed=200, stop_max_attempt_number=5)
def retriable_read_bit(self, registeraddress, functioncode):
return self.read_bit(registeraddress, functioncode)
@retry(wait_fixed=200, stop_max_attempt_number=5)
def retriable_write_bit(self, registeraddress, data, functioncode):
return self.write_bit(registeraddress, data, functioncode)
#Address range 0x3000
def get_id(self):
@@ -60,7 +64,7 @@ class EpeverChargeController(minimalmodbus.Instrument):
def get_wind_direction(self):
"""PV array rated current"""
return self.retriable_read_register(1, 0, 4)
return self.retriable_read_register(1, 1, 4)
def get_wind_speedl(self):
"""PV array rated power (low 16 bits)"""
@@ -93,3 +97,17 @@ class EpeverChargeController(minimalmodbus.Instrument):
def get_pressure(self):
"""Charging mode: 0x0001 = PWM"""
return self.retriable_read_register(9, 1, 4)
def get_temperature_backup(self):
"""Charging mode: 0x0001 = PWM"""
return self.retriable_read_register(13, 2, 4)
def get_status_bits(self):
"""Charging mode: 0x0001 = PWM"""
return self.retriable_read_register(14, 0, 4)
def enable_heater(self):
self.retriable_write_bit(0, 1, 5)
def disable_heater(self):
self.retriable_write_bit(0, 0, 5)

View File

@@ -594,7 +594,9 @@ elif dump_file:
dump_all_registers()
else:
status = 1
print("Enable heater function")
controller.enable_heater()
while (1):
time.sleep(3) # Sleep for 3 seconds
print ("Retrieving all known registers.")
@@ -608,6 +610,8 @@ else:
rawdat['Temperature'] = controller.get_temperature()
rawdat['Humidity'] = controller.get_humidity()
rawdat['Pressure'] = controller.get_pressure()
rawdat['Temp backup'] = controller.get_temperature_backup()
rawdat['Status bits'] = controller.get_status_bits()
print (json.dumps(rawdat, indent=1, sort_keys=False))