FHEM - Entwicklung > FHEM Development

Disconnected und Reappeared bei DevIO

(1/3) > >>

StefanStrobel:
Hallo Rudi,

In https://forum.fhem.de/index.php/topic,54771.0.html stören sich Anwender an den Disconnected- / Reappeared-Meldungen, da Ihre Geräte die Modbus-TCP-Verbindungen nach einer gewissen Zeit schließen. Das scheint bei Modbus-TCP-Geräten nicht unüblich zu sein.
Da das Modbus-Modul DevIO verwendet, wüsste ich nicht wie ich das abstellen kann.

Würdest Du einen Patch akzeptieren, der das Loglevel der beiden Meldungen aus dem übergebenen Hash übernimmt?
Dann könnte ich das Loglevel für diese Meldungen bei Modbus TCP z.B. auf 4 setzen.

Gruss
   Stefan

rudolfkoenig:
DevIo.pm prueft ab sofort fuer diese beiden Meldungen auf $hash->{devioLoglevel}.

dev0:
Spricht etwas dagegen, diese Prüfung auf den Logeintrag "Opening $name device $dev" zu erweitern?
Hintergrund: Wenn man die Verbindung nicht permanent zu einem Device aufbaut, sondern nur bei Bedarf/FHEM-Befehl, dann würde jedes Mal diese Meldung im Log erscheinen.


--- Code: ---Index: FHEM/DevIo.pm
===================================================================
--- FHEM/DevIo.pm (revision 14937)
+++ FHEM/DevIo.pm (working copy)
@@ -262,7 +262,8 @@
   }
 
   $hash->{PARTIAL} = "";
-  Log3 $name, 3, ($hash->{DevioText} ? $hash->{DevioText} : "Opening").
+  my $l = $hash->{devioLoglevel};
+  Log3 $name, ($l ?$l:3), ($hash->{DevioText} ? $hash->{DevioText} : "Opening").
        " $name device $dev" if(!$reopen);
 
   if($dev =~ m/^UNIX:(SEQPACKET|STREAM):(.*)$/) { # FBAHA

--- Ende Code ---

rudolfkoenig:

--- Zitat ---Wenn man die Verbindung nicht permanent zu einem Device aufbaut, sondern nur bei Bedarf/FHEM-Befehl
--- Ende Zitat ---
Kannst du das bitte anders formulieren, ich habe es noch nicht verstanden.

dev0:

--- Zitat ---Kannst du das bitte anders formulieren,
--- Ende Zitat ---
Gerne. Ich entwickle zZ. einen FHEM Command, der Geräte (USB oder im Netz via http/telnet) steuern kann.
Wenn man nun eine (Telnet-)Verbindung zu einem Gerät öffnet (DevIo_Open), dann wird mit verbose 3 eine Logzeile geschrieben, die ich in diesem Fall als störend empfinde. Nach dem der Befehl auf dem Gerät ausgeführt wurde, wird die Verbindung wieder geschlossen (DevIo_CloseDev). Ist etwas schief gegangen, dann wird das vom Befehl/Modul gelogged.

Wenn man nun zB. 5x nacheinander ein Gerät etwas ausführen lässt, dann steht zZ. 5x im verbose 3 Log:
Opening getURL__2011_1a51_50a8_acdc__1__23 device [2011:1a51:50a8:acdc::1]:23"

Diese Logausgaben würde ich gerne per "$hash->{devioLoglevel}" unterdrücken, um bei den bestehenden Mechanismen zu bleiben, da sie in diesem Fall mMn überfüssig und eher störend sind.

Den fast aktuellen Sourcecode findest Du hier: https://github.com/ddtlabs/fhem-getURL

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln