Added heather algorithm
This commit is contained in:
Binary file not shown.
@@ -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)
|
||||
|
@@ -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))
|
||||
|
||||
|
Reference in New Issue
Block a user