ocaj schreef op zaterdag 16 oktober 2021 @ 10:45:
[...]
Als je toch gaat omsmurfen kun je ook een generiek modbus-tool gebruiken.
Je moet dan wel even in de juiste modbus-registers duiken.
Ik gebruik tegenwoordig mbrtu:
https://github.com/gitaeuber/mbrtu
Voor mijn SDM220 (maar is gelijk aan 120) krijg je dan bijvoorbeeld:
code:
1
| mbrtu -d /dev/ttyUSB_kwh -p N -a 2 -P -tF32_dcba -n 14 -r0x00 -n 2 -r0x1E -n 6 -r0x46 |
De output daarvan smurf ik dan naar behoefte om naar mysql/json/mqtt .
Hartelijk dank voor deze suggestie. Ik zou heel graag met een command line tooltje mijn modbus devices uitlezen, maar helaas loop ik vast op de installatieinstructies. Zou je me met een paar zaken willen helpen? Er staat.
Requirements
libmodbus libmodbus >= 3.1.3
Installation
compile static libmodbus library
copy the resulting libmodbus.a to /usr/local/lib or into this directory and adapt Makefile
$ make
$ make install
Het begint met de requirements voor libmodbus. Hoe kom ik daar aan? Want het commando
sudo apt-get install libmodbus geeft
E: Unable to locate package libmodbus
Dan de regel "compile static libmodbus library". Klinkt waarschijnlijk eenvoudig voor een expert, maar hoe doe je zoiets?
En dan moet ik libmodbus.a naar "this directory" kopieren. Welke directory is dat?
En hoe "adapt" je makefile?
Ik heb al wel een commando in elkaar gepuzzeld om adres 0x5000 (uint64, dus 4 registers van 16 bits) uit te kunnen lezen: (even onder elkaar voor het overzicht)
mbrtu
-d /dev/ttyUSB-RS485
-b 9600 (mag weg, want 9600 is default)
-p E (mag weg, want even is default)
-s 1 (mag weg, want 1 is default bij even parity)
-a 2 (adres van modbus device)
-f 3 (read holding register)
-P (format output, maar even kijken wat dat oplevert)
-n 4 (vier 16 bit registers voor een uint64?)
-r 0x5000
-t uint64
Ik vraag me nog af of die laatste nodig is, omdat jij ook nergens zoiets gebruikt.
Excuses voor deze newbie-vragen. Ik ben ondertussen aardig handig met de Pi commando's, maar hier kom ik even niet uit.
WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 ERV + Ubbink AirExcellent.