FHEM Forum

FHEM => Automatisierung => Thema gestartet von: amithlon am 24 September 2022, 08:16:24

Titel: dblog WARNING nicht ins log schreiben
Beitrag von: amithlon am 24 September 2022, 08:16:24
Hallo,

ich habe schon ewig dieses Konstrukt laufen:
define e3k_1_log at +*00:05:00 {addDbLog("E3k_1","power")}

Läuft wie es soll und eigentlich will ich da nicht unbedingt auf ein DbRep-Device umbauen.
Natürlich schreibt er jedesmal
WARNING - "userCommand" is outdated. Please consider use of DbRep "set <Name> sqlCmd" instead.
ins Logfile.

Kann man diese Warnung in Log unterdrücken? Wenn ich einen Fehler suche, ist es nervend, durch das Log zu scrollen um die echte Fehlermeldung zu finden, an der ich gerade dran bin.

traceLevel 0 könnte doch auch diese Warnungen unterdrücken.

Gruß aus Berlin
Michael
Titel: Antw:dblog WARNING nicht ins log schreiben
Beitrag von: frober am 24 September 2022, 09:31:12
Mit welchem Loglevel wird die Meldung geschrieben (die Zahl nach der Uhrzeit im Log)?

Ein verbose in dblog sollte helfen. Allerdings siehst du mit verbose 0 nicht einmal mehr Fehler
Titel: Antw:dblog WARNING nicht ins log schreiben
Beitrag von: Beta-User am 24 September 2022, 09:48:18
Zitat von: amithlon am 24 September 2022, 08:16:24
Läuft wie es soll und eigentlich will ich da nicht unbedingt auf ein DbRep-Device umbauen.
Na ja, der Entwickler teilt dir mit, dass Aktion angesagt wäre... Warum das ignorieren? Das kann im schlimmsten Fall dazu führen, dass es "irgendwann" nicht mehr funktioniert oder FHEM ganz abschmiert, wenn der Befehl dann (wie lange und deutlich angekündigt!) entfällt.

Wir hatten erst jüngst einen User, der das umgestellt hat, war keine große Sache...
Titel: Antw:dblog WARNING nicht ins log schreiben
Beitrag von: amithlon am 24 September 2022, 10:26:04
Hallo,

Zitat von: frober am 24 September 2022, 09:31:12
Mit welchem Loglevel wird die Meldung geschrieben (die Zahl nach der Uhrzeit im Log)?

Danke für den richtigen Suchhinweis.
Irgendwann hatte ich global verbose mal auf 2 gesetzt, mit 1 ist jetzt Ruhe.

Gruß aus Berlin
Michael

Titel: Antw:dblog WARNING nicht ins log schreiben
Beitrag von: amithlon am 24 September 2022, 10:38:30
Hallo,

Zitat von: Beta-User am 24 September 2022, 09:48:18
Na ja, der Entwickler teilt dir mit, dass Aktion angesagt wäre... Warum das ignorieren? Das kann im schlimmsten Fall dazu führen, dass es "irgendwann" nicht mehr funktioniert oder FHEM ganz abschmiert, wenn der Befehl dann (wie lange und deutlich angekündigt!) entfällt.

Wir hatten erst jüngst einen User, der das umgestellt hat, war keine große Sache...

FHEM ist hier mehr technische Spielerei, Mietwohnung mit etlichen Sensoren und Aktoren, viel Eigenbau mit ESP8266 und MQTT usw.
Läuft seit Jahren stabil auf einem RasPi, zuletzt habe ich wohl vor 2-3 Jahren größere Umbauten vorgenommen.
Es gibt einen Thread des Entwicklers, den finde ich gerade nicht wieder, wo es darum ging, daß ursprünglich "deprecated" gemelder gemeldet wurde.
Das hat er dann auf "outdated" geändert und erklärt, daß er nicht vor hat, die alte Funktion zu entfernen.
Ich habe auch vor Jahren 73_MPD.pm aus dem Update rausgenommen.
Warum? Das alte Modul konnte nur wenige Funktionen, davon brauchte ich genau 2 bei mir. Irgendwann hat er dann das Modul komplett neu gebaut, so daß jetzt alle Funktionen von MPD unterstützt werden. Nur hätte ich da meine 2 Sachen mit ziemlichen Aufwand anpassen müssen, das habe ich mir erspart.
Wenn FHEM wegen es nicht mehr unterstützten Befehl oder Formats abstürzen würde, wäre ich zumindest mehr als verwirrt...

Gruß aus Berlin
Michael
Titel: Antw:dblog WARNING nicht ins log schreiben
Beitrag von: betateilchen am 24 September 2022, 10:40:14
Zitat von: amithlon am 24 September 2022, 08:16:24
ich habe schon ewig dieses Konstrukt laufen:
define e3k_1_log at +*00:05:00 {addDbLog("E3k_1","power")}

Das Problem ist das "ewig"... inzwischen kann DbLog das addLog() von Haus aus und Du musst das nicht mehr selbst zusammenstricken.

set <dbLog> addLog E3k_1:power

sollte eigentlich das gleiche bewirken wie Dein addDbLog() - nur ohne Warnung.
Titel: Antw:dblog WARNING nicht ins log schreiben
Beitrag von: amithlon am 24 September 2022, 11:19:23
Hallo,

Zitat von: betateilchen am 24 September 2022, 10:40:14
Das Problem ist das "ewig"... inzwischen kann DbLog das addLog() von Haus aus und Du musst das nicht mehr selbst zusammenstricken.

set <dbLog> addLog E3k_1:power

sollte eigentlich das gleiche bewirken wie Dein addDbLog() - nur ohne Warnung.

Das würde aber alle Events loggen, die EC3000 senden ca. alle 7s, ich will nur alle 5 Minuten einen dbLog-Eintrag. Ich nutze das nur als Anzeige und Diagramm um einen ca. Verbrauch der Geräte zu sehen ode Ein-Ausschaltzeiten zu erfassen. Die Verrauchsumme, die mitkommt,  lasse ich nur aanzeigen, die will ich nicht im dbLog haben.

Gruß aus Berlin
Michael

Titel: Antw:dblog WARNING nicht ins log schreiben
Beitrag von: betateilchen am 24 September 2022, 11:52:26
Zitat von: amithlon am 24 September 2022, 11:19:23
Das würde aber alle Events loggen, die EC3000 senden ca. alle 7s, ich will nur alle 5 Minuten einen dbLog-Eintrag.

Nein, nimm doch mal bitte die Scheuklappen ab und denke ein bisschen mit.
Und wirf vielleicht einfach mal einen Blick in die commandref zu DbLog.

Zitat
set <name> addLog <devspec>:<Reading> [Value] [CN=<caller name>] [!useExcludes]

Inserts an additional log entry of a device/reading combination into the database.

define e3k_1_log at +*00:05:00 set <dbLog> addLog E3k_1:power

<dbLog> müsstest Du natürlich noch durch den korrekten Namen Deines dbLog devices ersetzen.
Titel: Antw:dblog WARNING nicht ins log schreiben
Beitrag von: amithlon am 24 September 2022, 14:06:40
Hallo,

Zitat von: betateilchen am 24 September 2022, 11:52:26
Nein, nimm doch mal bitte die Scheuklappen ab und denke ein bisschen mit.
Und wirf vielleicht einfach mal einen Blick in die commandref zu DbLog.

Geändert und verstanden, Danke.

PS: ein alter Rentner ist eben kein D-Zug... ;)

Gruß aus Berlin
Michael