Modbus: Werte auslesen und setzen

Begonnen von ivor, 24 Juni 2019, 21:13:09

Vorheriges Thema - Nächstes Thema

ivor


Hallo zusammen

Ich bin noch ziemlich am Anfang was FHEM angeht, hab erste Schritte mit Rauchmelder, Temperatur etc. aber schon hingekriegt.

Aktuell möchte ich ein Modbus/DALI Konverter in Betrieb nehmen, wobei ich es nicht hinkriege, die aktuelle Helligkeit der Lampe abzufragen.

Der Konverter ist ein Modbus TCP master auf DALI Bus Konverter. Auf der DALI Seite hängt zur Zeit ein DALI Dimmer mit einer einfachen Lampe.

Ich habe mit mbtget (https://github.com/sourceperl/mbtget) den Konverter getestet und kann die Lampe ein/ausschalten und dimmen:

Aktuelle Helligkeit abfragen:
[24.Jun 2019 20:57:20]-[root@ireland:/tmp/mbtget/blib/script]-$ ./mbtget -n 1 -a 0 -u 2 -d 172.27.55.81
Tx
[F9 F5 00 00 00 06 02] 03 00 00 00 01

Rx
[F9 F5 00 00 00 05 02] 03 02 A9 00

values:
  1 (ad 00000): 43264
[24.Jun 2019 20:57:20]-[root@ireland:/tmp/mbtget/blib/script]-$


Helligkeit setzen:
[24.Jun 2019 20:58:00]-[root@ireland:/tmp/mbtget/blib/script]-$ ./mbtget -w6 65000 -a 0 -d 172.27.55.81
Tx
[13 C0 00 00 00 06 01] 06 00 00 FD E8

Rx
[13 C0 00 00 00 06 01] 06 00 00 FD E8

word write ok
[24.Jun 2019 20:59:11]-[root@ireland:/tmp/mbtget/blib/script]-$


Anbei die verwendeten Parameter von mbtget:
[24.Jun 2019 20:57:58]-[root@ireland:/tmp/mbtget/blib/script]-$ ./mbtget -h
usage : mbtget [-hvdsf] [-2c]
               [-u unit_id] [-a address] [-n number_value]
               [-r[12347]] [-w5 bit_value] [-w6 word_value]
               [-p port] [-t timeout] serveur

command line :
  -d                    : set dump mode (show tx/rx frame in hex)
  -w6 word_value        : write a word (function 6)
  -u unit_id            : set the modbus "unit id"
  -a modbus_address     : set modbus address (default 0)
  -n value_number       : number of values to read
[24.Jun 2019 20:58:00]-[root@ireland:/tmp/mbtget/blib/script]-$


Aber irgendwie kriege ich das in FHEM nicht hin:
Mit
define ModBus2Dali01A ModbusAttr 0 10 172.27.55.81:502 TCP
wollte ich das ganze mal definieren, FHEM sagt auch "opened" und wenn ich einen tcpdump mache, sehe ich anfangs auch eine Kommunikation, danach aber nicht mehr - müsste ja alle 10 Sekunden was passieren.

Nun fehlen mir aber noch die attr Zeilen etc. aber da stehe ich an, hab einiges gem. Wiki probiert, auch versucht anhand diversen anderen Modbus-Foren Beiträge was zusammenzukriegen, jedoch ohne Erfolg.

Mein erstes Ziel wäre nur mal die aktuelle Helligkeit anzeigen lassen und danach auch ein/auszuschalten, bzw. zu dimmen, die Modbus Werte dafür sind zwischen 0 (aus / 0%) und 65256 für 100%.

Diese Lampe wird via Modbus Register 0 angesprochen (sie nennen das "ADV")
(Doku: http://www.adfweb.com/download/filefold/MN67845_ENG.pdf)

Vielleicht hat mir jemand ein paar Schnippsel für die Konfig, dass ich etwas weiter komme?

Besten Dank

Ivo