Compare commits

..

No commits in common. "49224447bcea7ec26904d73d6ee687ee847a7ae1" and "7a203753c8dbbe08aed3131687a9f734e76b4503" have entirely different histories.

2 changed files with 4 additions and 31 deletions

View File

@ -1,2 +0,0 @@
bottle==0.13.4
pymodbus==3.14.0

View File

@ -21,7 +21,7 @@ class Registers:
def read_uint16(self, address, scale=None):
self.check_address(address)
value = self.lower.registers[address]
value = self.lower.getRegister(address)
return self.scale(value, scale)
def read_int16(self, address, scale=None):
@ -65,27 +65,6 @@ class CommonBlock:
self.serial = regs.read_bytes(50, 32)
self.device = regs.read_uint16(66)
meter_types = { 201: 'single',
202: 'split_single',
203: 'wye_three',
204: 'delta_three', }
class MeterInfo:
def __init__(self, regs):
self.did = regs.read_uint16(0)
self.info_len = regs.read_uint16(1)
self.manufacturer = regs.read_bytes(2,32)
self.model = regs.read_bytes(18,32)
self.option = regs.read_bytes(34,16)
self.version = regs.read_bytes(42,16)
self.serial = regs.read_bytes(50,32)
self.device = regs.read_uint16(66)
typ = regs.read_uint16(67)
self.type = meter_types.get(typ, typ)
self.data_len = regs.read_uint16(68)
meter_events_bits = { 2: 'Power Failure',
3: 'Under Voltage',
4: 'Low PF',
@ -175,7 +154,7 @@ class InverterBlock:
class Inverter:
def __init__(self, host, port=1502, device=1):
self._conn = ModbusTcpClient(host, port=port)
self._conn = ModbusTcpClient(host, port)
self._device = 1
def connect(self):
@ -186,7 +165,7 @@ class Inverter:
if device is None:
device = self._device
self.connect()
rs = self._conn.read_holding_registers(addr, count=length, device_id=device)
rs = self._conn.read_holding_registers(addr, length, slave=device)
return Registers(rs, length)
def header(self, base):
@ -201,7 +180,3 @@ class Inverter:
def meter(self, n):
base = 40190 + 174*n
return Meter(self.registers(base, 105))
def meter_info(self, n):
base = 40121 + 174*n
return MeterInfo(self.registers(base, 69))