mirror of
https://github.com/alexhopeoconnor/SunGather.git
synced 2026-10-23 11:02:10 +10:00
Fix type, Serial on initial run or lvl 3
This commit is contained in:
+11
-11
@@ -27,7 +27,7 @@ class SungrowInverter():
|
|||||||
self.inverter_config = {
|
self.inverter_config = {
|
||||||
"slave": config_inverter.get('slave'),
|
"slave": config_inverter.get('slave'),
|
||||||
"model": config_inverter.get('model'),
|
"model": config_inverter.get('model'),
|
||||||
"serial": config_inverter.get('serial'),
|
"serial": config_inverter.get('serial'),
|
||||||
"level": config_inverter.get('level'),
|
"level": config_inverter.get('level'),
|
||||||
"use_local_time": config_inverter.get('use_local_time'),
|
"use_local_time": config_inverter.get('use_local_time'),
|
||||||
"smart_meter": config_inverter.get('smart_meter'),
|
"smart_meter": config_inverter.get('smart_meter'),
|
||||||
@@ -112,22 +112,22 @@ class SungrowInverter():
|
|||||||
self.registers.pop()
|
self.registers.pop()
|
||||||
break
|
break
|
||||||
|
|
||||||
if self.inverter_config.get('serial'):
|
if self.inverter_config.get('serial_number'):
|
||||||
logging.info(f"Bypassing Serial Detection, Using config: {self.inverter_config.get('serial')}")
|
logging.info(f"Bypassing Serial Detection, Using config: {self.inverter_config.get('serial_number')}")
|
||||||
else:
|
else:
|
||||||
# Load just the register to detect model, then we can load the rest of registers based on returned model
|
# Load just the register to detect serial number, then we can load the rest of registers based on returned model
|
||||||
for register in registersfile['registers'][0]['read']:
|
for register in registersfile['registers'][0]['read']:
|
||||||
if register.get('name') == "serial":
|
if register.get('name') == "serial_number":
|
||||||
register['type'] = "read"
|
register['type'] = "read"
|
||||||
self.registers.append(register)
|
self.registers.append(register)
|
||||||
if self.load_registers(register['type'], register['address'] -1, 5): # Needs to be address -1
|
if self.load_registers(register['type'], register['address'] -1, 10): # Needs to be address -1
|
||||||
if isinstance(self.latest_scrape.get('serial'),int):
|
if isinstance(self.latest_scrape.get('serial_number'),int):
|
||||||
logging.warning(f"Unknown Type Code Detected: {self.latest_scrape.get('serial')}")
|
logging.warning(f"Unknown Type Code Detected: {self.latest_scrape.get('serial_number')}")
|
||||||
else:
|
else:
|
||||||
self.inverter_config['model'] = self.latest_scrape.get('serial')
|
self.inverter_config['serial_number'] = self.latest_scrape.get('serial_number')
|
||||||
logging.info(f"Detected Serial: {self.inverter_config.get('serial')}")
|
logging.info(f"Detected Serial: {self.inverter_config.get('serial_number')}")
|
||||||
else:
|
else:
|
||||||
logging.info(f'Serial detection failed, please set model in config.py')
|
logging.info(f'Serial detection failed, please set serial number in config.py')
|
||||||
self.registers.pop()
|
self.registers.pop()
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user