Neues Modul für Geräte mit Modbus Schnittstelle über RS232 bzw. RS485

Begonnen von StefanStrobel, 12 Juli 2014, 14:50:22

Vorheriges Thema - Nächstes Thema

Allgaeuer

Hallo Stefan,

auf dich ist Verlass.
Die Module sind aufgespielt und morgen melde ich mich wieder mit dem Testergebnis.

Gruß Allgäuer

Allgaeuer

Hallo Stefan,

super -> keine Warnings oder Verbindungs-Timeouts mehr mit den neuen Modulen.

Danke und Gruß,

Allgäuer

Bjoernar

Bei mir läuft es auch

Gesendet von meinem Moto G (4) mit Tapatalk


StefanStrobel

Vielen Dank für das Feedback.
Dann checke ich die Module morgen mal wieder ins SVN ein.

Gruß
   Stefan

Bjoernar

...Wir haben zu danken.!

Gesendet von meinem Moto G (4) mit Tapatalk


tante ju

Hi,

Nutzen seit über einem Jahr das Modbus-Modul und meist funktioniert es auch sehr gut. Da ich aber zunehmend Probleme mit dem Bus habe (hausgemacht, im wahrsten Sinne des Wortes), wollte ich den Bus aufteilen und über zwei serielle Schnittstellen führen.

Allerdings scheint das nicht zu funktionieren. Wenn ich einen zweiten Modbus definiere und Devices vom Typ ModbusAttr darauf umziehe und FHEM neu starte, dann hängt es entweder komplett, wenn die beiden Modbus-Definitionen direkt untereinander liegen oder aber alle Devices verwenden, trotz anderem IODev, den zuletzt definierten Modbus, was von ihrer Position in der Config abhängig ist.
Hier scheint die Verbindung mittels IODev nicht ganz sauber zu sein.

Anderes Problem:
Hat sich eigentlich jemand mal daran gemacht, für das serielle Interface mittels termios RS485 für die Interfaces einzuschalten? Zur Zeit muß ich aus FHEM noch ein extra Programm aufrufen, da meine seriellen Interfaces erst auf RS485-Modus umgeschaltet werden müssen, um die Leitungstreiber zu aktivieren.

wthiess

Hallo
Ich benütze auch 2 usb Adapter. Ohne Probleme.
Poste mal deine config. Deinen Modbus Verkabelungsplan inkl. Kabellängen und deine Hardware.

Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

StefanStrobel

Hallo tante ju,

Bitte poste doch mal ein Log bei Verbose 5 (sowohl Modbus als auch ModbusAttr) - vielleicht kann ich dann erkennen, wo das Problem mit den IODevs liegt.

Gruss
    Stefan

tante ju

Zitat von: StefanStrobel am 05 Januar 2017, 11:41:46
Hallo tante ju,

Bitte poste doch mal ein Log bei Verbose 5 (sowohl Modbus als auch ModbusAttr) - vielleicht kann ich dann erkennen, wo das Problem mit den IODevs liegt.

Für die verbose 5 in den Devices muss ich das die Tage nochmal umbauen. Hier ein global verbose 5:

2017.01.04 22:18:11 3: Opening ModBusLine device /dev/ttySC0
2017.01.04 22:18:11 3: Setting ModBusLine serial parameters to 57600,8,N,1
2017.01.04 22:18:11 3: ModBusLine device opened
2017.01.04 22:18:11 3: TestSensor1: defined with id 1, interval 4, destination Device ModBusLine, protocol RTU
2017.01.04 22:18:11 3: KG_AZ_LichtMod1: defined with id 2, interval 5, destination Device ModBusLine, protocol RTU
2017.01.04 22:18:11 3: Opening ModbusUVT device /dev/ttyMAX0
2017.01.04 22:18:11 3: Setting ModbusUVT serial parameters to 57600,8,N,1
2017.01.04 22:18:11 3: ModbusUVT device opened
2017.01.04 22:18:11 3: EG_Tuerschild: defined with id 3, interval 4, destination Device ModbusUVT, protocol RTU
2017.01.04 22:19:57 3: KG.Schmutzsumpf.Pegel: defined with id 5, interval 30, destination Device ModbusUVT, protocol RTU


Was man sieht: Nach der Definition des zweiten Modbus sind alle Devices dem zugeordnet, was sie aber eigentlich nicht sein sollten.

Und wenn in der Config dieses so steht:
define ModBusLine Modbus /dev/ttySC0@57600
attr ModBusLine dropQueueDoubles 1
attr ModBusLine room modbus
define ModbusUVT Modbus /dev/ttyMAX0@57600
attr ModbusUVT DbLogExclude .*
attr ModbusUVT dropQueueDoubles 1
attr ModbusUVT room modbus


dann hängt sich FHEM beim öffnen des zweiten Kanals weg. Da hilft nur noch reboot.

Es müssen ein paar Devices zwischen den beiden Definitionen sein.

wthiess

Hallo Stefan!

Habe heute update gemacht. Thermostat Lüftung und Zähler laufen wie gewohnt.

Danke
Wolfgang

Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

StefanStrobel

Hallo tante ju,

lass Dich nicht vom Log beim Starten von Fhem täuschen. Wenn der define-Befehl abgearbeitet wird, sind die Attribute noch nicht gesetzt. Deshalb sagt Fhem zunächst "defined with id 3, interval 4, destination Device ModbusUVT" auch wenn ein IODev Attribut auf ein anderes serielles Devive zeigt. Sobald dann später beim Starten das Attribut verarbeitet wird, ändert sich die Zuordnung. Bei einem längeren Log-Auszug mit verbose 5 sollte das alles deutlich werden.

Ich schau aber trotzdem mal ob ich das nicht umbauen kann, so dass hier keine verwirrenden Meldungen mehr kommen. Auch das mit Deinem Hänger ist seltsam. Hier wäre ein detailliertes Log sehr hilfreich.

Gruss / Thanx
    Stefan

tante ju

Zitat von: StefanStrobel am 06 Januar 2017, 14:52:52
Hallo tante ju,

lass Dich nicht vom Log beim Starten von Fhem täuschen. Wenn der define-Befehl abgearbeitet wird, sind die Attribute noch nicht gesetzt. Deshalb sagt Fhem zunächst "defined with id 3, interval 4, destination Device ModbusUVT" auch wenn ein IODev Attribut auf ein anderes serielles Devive zeigt. Sobald dann später beim Starten das Attribut verarbeitet wird, ändert sich die Zuordnung. Bei einem längeren Log-Auszug mit verbose 5 sollte das alles deutlich werden.

Ich schau aber trotzdem mal ob ich das nicht umbauen kann, so dass hier keine verwirrenden Meldungen mehr kommen. Auch das mit Deinem Hänger ist seltsam. Hier wäre ein detailliertes Log sehr hilfreich.

Ich wollte gerade ein Log 5 posten, in dem man sieht, daß anscheinend zwischen der (falschen) define Meldung und was gemacht wird, eine Diskrepanz besteht :-) Ok, das ist bekannt. Gut zu wissen.

Mit dem Hänger gibt es kein detailliertes Log. Da steht es einfach. Hatte ach schon gesucht. Für mich sieht es so aus, als ob der Fehler in DevIo liegt.

StefanStrobel

Ich habe gerade auch nochmal mit zwei seriellen Adaptern getestet. Beide in der fhem.cfg direkt nacheinander als Modbus definiert. Kein Problem.
Was ist denn bei Dir der letzte Eintrag im Log, bevor Fhem hängt?

Gruss
    Stefan

tante ju

Zitat von: StefanStrobel am 06 Januar 2017, 15:48:33
Ich habe gerade auch nochmal mit zwei seriellen Adaptern getestet. Beide in der fhem.cfg direkt nacheinander als Modbus definiert. Kein Problem.
Was ist denn bei Dir der letzte Eintrag im Log, bevor Fhem hängt?

Ist verhext. Habe die Config umgestellt und neu gestartet und kein Problem. Im heutigen Update war kein DevIO drin, nur ein Modbus update. Keine Ahnung, warum es jetzt nicht hängt. Werde aber später mal auch wieder den Bus trennen und ein Device umhängen und dann mal sehen, ob es sich wiederholt.


der-Lolo

Wow, das hat lange gedauert - aber, endlich redet der WMZ Multical602 mit FHEM.
Jetzt kommen dort aber zahlen raus die ich so nicht zuordnen kann...

Kann mal jemand mit einem Zaunpfahl winken und mir erklären wie ich nun die Werte des Zählers verarbeite und interpretiere?

Danke!

Zitatscan-h256
hex=eb86, len=2, string=.., s=-30997, s>=-5242, S=34539, S>=60294
2017-01-07 09:34:33
scan-h257
hex=40b1, len=2, string=@., s=-20160, s>=16561, S=45376, S>=16561
2017-01-07 09:34:34
scan-h258
hex=0000, len=2, string=.., s=0, s>=0, S=0, S>=0
2017-01-07 09:34:35
scan-h259
hex=448a, len=2, string=D., s=-30140, s>=17546, S=35396, S>=17546
2017-01-07 09:34:36
scan-h260
hex=0a3d, len=2, string=.=, s=15626, s>=2621, S=15626, S>=2621
2017-01-07 09:34:37
scan-h261
hex=44b7, len=2, string=D., s=-18620, s>=17591, S=46916, S>=17591
2017-01-07 09:34:38
scan-h262
hex=cccd, len=2, string=.., s=-12852, s>=-13107, S=52684, S>=52429
2017-01-07 09:34:39
scan-h263
hex=409c, len=2, string=@., s=-25536, s>=16540, S=40000, S>=16540
2017-01-07 09:34:40
scan-h264
hex=3d70, len=2, string==p, s=28733, s>=15728, S=28733, S>=15728
2017-01-07 09:34:41
scan-h265
hex=41de, len=2, string=A., s=-8639, s>=16862, S=56897, S>=16862
2017-01-07 09:34:42
scan-h266
hex=5c29, len=2, string=\), s=10588, s>=23593, S=10588, S>=23593
2017-01-07 09:34:43

Internals:
   CFGFN
   DEF        35 30
   DEST
   INTERVAL   30
   IODev      ModbusRTU
   MODBUSID   35
   ModuleVersion 3.5.9 - 21.12.2016
   NAME       WMZ
   NOTIFYDEV  global
   NR         287
   NTFY_ORDER 50-WMZ
   PROTOCOL   RTU
   STATE      opened
   TYPE       ModbusAttr
   Readings:
     2017-01-07 09:34:33   scan-h256       hex=eb86, len=2, string=.., s=-30997, s>=-5242, S=34539, S>=60294
     2017-01-07 09:34:34   scan-h257       hex=40b1, len=2, string=@., s=-20160, s>=16561, S=45376, S>=16561
     2017-01-07 09:34:35   scan-h258       hex=0000, len=2, string=.., s=0, s>=0, S=0, S>=0
     2017-01-07 09:34:36   scan-h259       hex=448a, len=2, string=D., s=-30140, s>=17546, S=35396, S>=17546
     2017-01-07 09:34:37   scan-h260       hex=0a3d, len=2, string=.=, s=15626, s>=2621, S=15626, S>=2621
     2017-01-07 09:34:38   scan-h261       hex=44b7, len=2, string=D., s=-18620, s>=17591, S=46916, S>=17591
     2017-01-07 09:34:39   scan-h262       hex=cccd, len=2, string=.., s=-12852, s>=-13107, S=52684, S>=52429
     2017-01-07 09:34:40   scan-h263       hex=409c, len=2, string=@., s=-25536, s>=16540, S=40000, S>=16540
     2017-01-07 09:34:41   scan-h264       hex=3d70, len=2, string==p, s=28733, s>=15728, S=28733, S>=15728
     2017-01-07 09:34:42   scan-h265       hex=41de, len=2, string=A., s=-8639, s>=16862, S=56897, S>=16862
     2017-01-07 09:34:43   scan-h266       hex=5c29, len=2, string=\), s=10588, s>=23593, S=10588, S>=23593
   Gotreadings:
     scan-h266  hex=5c29, len=2, string=\), s=10588, s>=23593, S=10588, S>=23593
   Helper:
     lrecv      1483778083.61497
     lsend      1483778083.59541
   Lastread:
     h256       1483778073.62914
     h257       1483778074.59905
     h258       1483778075.6083
     h259       1483778076.60962
     h260       1483778077.61272
     h261       1483778078.61528
     h262       1483778079.61735
     h263       1483778080.61961
     h264       1483778081.65054
     h265       1483778082.62444
     h266       1483778083.62887
Attributes:
   IODev      ModbusRTU
   dev-h-defExpr ModbusLD_ScanFormat($hash, $val)
   dev-h-defLen 1
   dev-h-defUnpack a2
   enableControlSet 1
   obj-h256-reading scan-h256
   obj-h257-reading scan-h257
   obj-h258-reading scan-h258
   obj-h259-reading scan-h259
   obj-h260-reading scan-h260
   obj-h261-reading scan-h261
   obj-h262-reading scan-h262
   obj-h263-reading scan-h263
   obj-h264-reading scan-h264
   obj-h265-reading scan-h265
   obj-h266-reading scan-h266
   room       System
   userattr   dev-h-defExpr dev-h-defLen dev-h-defUnpack enableControlSet obj-h256-reading obj-h257-reading obj-h258-reading obj-h259-reading obj-h260-reading obj-h261-reading obj-h262-reading obj-h263-reading obj-h264-reading obj-h265-reading obj-h266-reading