ich greife mit pymodbus auf meine Wechselrichter zu.
Seit der Umstellung auf venv-Umgebung funktionieren nicht einmal die kleinsten Scripte
Code: Alles auswählen
parser = argparse.ArgumentParser()
parser.add_argument("adresse", type=int, help="Inverter Adresse")
parser.add_argument("register", type=int, help="Input-Register")
args = parser.parse_args()
inverter_adresse = args.adresse
modbus_register = args.register
client = ModbusSerialClient(
port="/dev/ttyUSB0",
startbit = 1,
databits=8,
parity="N",
stopbits=2,
errorcheck="crc",
baudrate=9600,
method="RTU",
timeout=1
)
client.connect()
result = client.read_input_registers(modbus_register, 1, inverter_adresse)
print(result.registers)
client.close()
Jetzt hänge ich etwas in den Seilen.Traceback (most recent call last):
File "/var/www/html/solarsteuerung-3phasig/Tool/readinputregister.py", line 21, in <module>
client = ModbusSerialClient(
^^^^^^^^^^^^^^^^^^^
TypeError: ModbusSerialClient.__init__() got an unexpected keyword argument 'startbit'
Ich rufe über venv auf:
Ohne venv (älteres Rasperry-Pi-OS) funktioniert das./home/pi/solar/bin/python3 /var/www/html/solarsteuerung-3phasig/Tool/readinputregister.py 1 18
Das neuere Betriebssystem verlangt venv, was ja auch besser und sicherer ist.
Gruß Ralf