ECMD und ECMDDevice ohne log-Einträge

Begonnen von Jojo11, 28 April 2015, 19:07:04

Vorheriges Thema - Nächstes Thema

Jojo11

Hallo zusammen,

Gibt es eine Möglichkeit, bei global verbose 3 das ECMD sowie das ECMDDevice stumm zu schalten?
Code: [Auswählen]

attr xxxx verbose 0

scheint nicht zu funktionieren. Ich erhalte immer noch Meldungen wie:
Code: [Auswählen]

2015.04.25 20:26:11.712 3: get HK.Hz BAI00.HCCirculationPump : BAI00.HCCirculationPump off


Leider wird damit mein log-File ziemlich stark "belastet", was ich je nach Situation gerne unterdrücken würde.
Den Suchergebnissen entnehme ich, dass das log-Konzept mal geändert wurde. Aber den Zusammenhang zwischen verbose und logTraffic wie in der Referenz beschrieben verstehe ich nicht. Ich suche einfach nach einer Möglichkeit, diese beiden Instanzen komplett stumm zu schalten, obwohl global verbose 3 gesetzt ist.

schöne Grüße
Jo

franky08

#1
Stehe vor der gleichen Frage, man könnte den Loglevel in der EMCDDevice.pm ändern. Der steht dort auf Log3. Will das heute Abend mal probieren und auf Log4 setzen. Jetzt habe ich global verbose erst einmal auf 1 gesetzt, da der Log sonst ziemlich anwächst.

P.S. global verbose auf 1 gesetzt funktioniert bei mir, im log taucht z.Zt. nichts mehr auf

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Jojo11

Hallo Frank,

hast Du die .pm-Datei mal testweise geändert? Ich würde eigentlich gerne vermeiden, deswegen global auf verbose 1 zu gehen.

schöne Grüße
Jo


franky08

#3
Bin gerade erst von der Arbeit zurück aber wenn Zeit ist werde ich das auf jeden Fall testen.
P.S. Das scheint nicht so einfach zu sein, siehe:


VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Jojo11

Hat denn wirklich niemand eine Idee, wie man dieses Modul stumm schalten kann?

schöne Grüße
Jo

Icinger

Log3 kannst du nicht so einfach durch "Log4" ersetzen, denn diesen Befehl gibt es nicht.

Log3 heißt nur deswegen Log3, weil es drei Parameter (hash, Loglevel,Text) erwartet.
Ursprünglich gab es nur "Log", "Log3" wurde später dann mal ergänzt.

lg, Ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

franky08

Richtig, dass ist mir dann auch klar geworden, war schon spät als mir dieser "Einfall" kam  :o
Ich versuch jetzt die classdef, die die Warnungen produziert, fehlerfrei zu bekommen.
VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Icinger

Das 2015.04.25 20:26:11.712 3: get HK.Hz BAI00.HCCirculationPump : BAI00.HCCirculationPump off ist ja per se eigentlich keine Fehlermeldung, sondern die Ausführungsmeldung.

Ausserdem kommt die LogMessage nicht aus dem ECMDDevice.pm sondern aus der ECMD.pm.
Du solltest also im ECMD das Attribut "logTraffic" setzen können, um diese Nachrichten zu unterdrücken.

Im ECMD wird das Loglevel folgendermaßen ausgewertet:
$loglevel= AttrVal($name, "logTraffic", undef) unless(defined($loglevel));

lg, Ici

Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

franky08

Da bist du jetzt falsch  ;) Das ist nicht mein Thread sondern der von Jojo11.

Bei mir geht es um das:
http://forum.fhem.de/index.php/topic,36936.0.html

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Jojo11

Zitat von: Icinger am 05 Mai 2015, 18:50:59
Das 2015.04.25 20:26:11.712 3: get HK.Hz BAI00.HCCirculationPump : BAI00.HCCirculationPump off ist ja per se eigentlich keine Fehlermeldung, sondern die Ausführungsmeldung.

Ausserdem kommt die LogMessage nicht aus dem ECMDDevice.pm sondern aus der ECMD.pm.
Du solltest also im ECMD das Attribut "logTraffic" setzen können, um diese Nachrichten zu unterdrücken.

Im ECMD wird das Loglevel folgendermaßen ausgewertet:
$loglevel= AttrVal($name, "logTraffic", undef) unless(defined($loglevel));

lg, Ici

Hallo,

mir ist schon klar, dass das keine Fehlermeldung ist. Deshalb will ich sie auch nicht haben  ::)
Ich habe jetzt zu verbose 0 noch logTraffic 0 gesetzt:

define EBUS ECMD telnet 192.xxxx
attr EBUS classdefs xxxxx
attr EBUS verbose 0
attr EBUS logTraffic 0
...
define HK.Hz ECMDDevice HK.Hz.class
attr HK.Hz IODev EBUS
attr HK.Hz verbose 0


Ich erhalte z.B.

2015.05.05 19:03:50.734 0: EBUS: read "21.62\n\n"
2015.05.05 19:03:50.819 3: get HK.Hz VC470f.RoomTemp : VC470f.RoomTemp 21.62 °C


Auf welchen Wert muss ich logTraffic denn setzen, damit ich vom device "EBUS" nichts derartiges mehr erhalte?
Und wie bekomme ich die 3er-Meldungen vom ECMDDevice abgeschaltet?

schöne Grüße
Jo

Icinger

Sorry, hab dir vorhin nen Blödsinn gesagt.

Habs mir jetzt nochmal genauer angesehen. Das attr "logTraffic" gibt an, mit welchem LogLevel das EBUS ins Log reinschreibt.
Also solltest du mit logTraffic 4 und verbose 3 schon mal die EBUS-Meldung weghaben.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Jojo11

Zitat von: Icinger am 05 Mai 2015, 19:31:18
Sorry, hab dir vorhin nen Blödsinn gesagt.

Habs mir jetzt nochmal genauer angesehen. Das attr "logTraffic" gibt an, mit welchem LogLevel das EBUS ins Log reinschreibt.
Also solltest du mit logTraffic 4 und verbose 3 schon mal die EBUS-Meldung weghaben.

Super, das klappt schon mal  :) Danke!
Etwas verwirrend ist die Definition von verbose und logTraffic ja schon  :o

Fehlt nur noch das ECMDDevice  ???

schöne Grüße
Jo

heikoh81

Zitat von: Icinger am 05 Mai 2015, 19:31:18
Also solltest du mit logTraffic 4 und verbose 3 schon mal die EBUS-Meldung weghaben.

Ich habe beide attr bei meinem EBUS-ECMD-Device gesetzt,
aber wenn ich Werte manuell abrufe, tauchen die Ergebnisse immer noch im Log auf.
Globales verbose habe ich nicht gesetzt.

get VaillantAussentemperatur Aussentemperatur

liefert im Log:

2015.05.05 23:15:51 3: VaillantAussentemperaturSofortDummy_Click return value: Aussentemperatur 13.50 °C


Viele Grüße,
Heiko

Jojo11

Zitat von: heikoh81 am 05 Mai 2015, 23:17:00
Ich habe beide attr bei meinem EBUS-ECMD-Device gesetzt,
aber wenn ich Werte manuell abrufe, tauchen die Ergebnisse immer noch im Log auf.
Globales verbose habe ich nicht gesetzt.

get VaillantAussentemperatur Aussentemperatur

liefert im Log:

2015.05.05 23:15:51 3: VaillantAussentemperaturSofortDummy_Click return value: Aussentemperatur 13.50 °C


Viele Grüße,
Heiko

Hallo Heiko,

wenn ich mich recht erinnere, wird logtraffic von ECMDDevice gar nicht unterstützt. Ich erhalte bei Verwendung immer eine Fehlermeldung.

schöne Grüße
Jo