"Gelöst" Namensauflösung Logfile Jahr Monat

Begonnen von AyshaHM, 14 Januar 2021, 09:20:45

Vorheriges Thema - Nächstes Thema

AyshaHM

Hallo liebe Fhem Gemeinde,
ich habe folgendes Problem.
Für einen Kompressor unserer Kläranlage wird ein Logfile geschrieben und dieses dann per Mail verschickt.
Das Logfile wird in Monate aufgeteilt.
./log/CN.Kompressor-%Y-%m.log (CN\.Kompressor:.*)
Dadurch entsteht diese Datei Benennung. CN.Kompressor-2021-01.log

Jetzt habe ich mir ein notify erstellt das diese Datei versendet.
","/opt/fhem/log/CN.Kompressor-$year-$month.log") }

Das alles habe ich im Oktober letzten Jahres erstellt.

Ab Januar 2021 werden die Mails nicht mehr versendet. Im  Fhem log steht folgendes.
2021.01.09 12:10:29 1: sendEmail returned: Jan 09 12:10:29 rs1b sendEmail[23475]: ERROR => The attachment [/opt/fhem/log/CN.Kompressor-2021-1.log] doesn't exist!


Hier ist zu sehen das der Monat nur 1 stellig benannt ist. 2021-1 es muss aber 2021-01 heißen.
Ich weiß leider nicht wo ich jetzt eingreifen muss. Wer kann mir hier helfen?

Vielen Dank im Voraus !!!

Gruß AyshaHM


Hardware: Raspberry  4

betateilchen

Zitat von: AyshaHM am 14 Januar 2021, 09:20:45
Jetzt habe ich mir ein notify erstellt das diese Datei versendet.

Und warum zeigst Du uns nicht mindestens mal die Definition dieses notify?

Verwende doch einfach den Namen aus dem Internal "currentlogfile", dann brauchst Du auch Dein Skript nicht immer wieder anpassen.

InternalVal(<deviceName>,"currentlogfile","unknown")
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

AyshaHM

Hallo bettateilchen,
vielen dank für deine Antwort. Das versenden des Logfiles lief ohne Probleme.
Ich brauchte auch nichts anpassen!!
Doch jetzt wird der Monat aus dem notify nur einstellig weitergegeben.
Wie unten beschrieben habe ich das currentlogfile genutzt.

currentlogfile ./log/CN.Kompressor-2021-01.log
logfile ./log/CN.Kompressor-%Y-%m.log


Das Problem ist doch in der Definition im Anhang.
","/opt/fhem/log/CN.Kompressor-$year-$month.log."

Der Teil $month bedeutet jetzt die "1" im Logfile bedeutet %m aber "01".

Ich hoffe ich konnte das jetzt verständlicher darstellen.

Gruß AyshaHM

Hardware: Raspberry  4

MadMax-FHEM

#3
War schon klar.

ABER: warum "baust" du dir den Link zur Datei selbst zusammen:

Zitat
Jetzt habe ich mir ein notify erstellt das diese Datei versendet.
Code: [Auswählen]

","/opt/fhem/log/CN.Kompressor-$year-$month.log") }

Statt (wie von betateilchen vorgeschlagen) das hier einzubauen (EDIT: also eine Mögliche "Umsetzung" / evtl. kannst du das auch gleicht ohne my $LogFile... direkt einbauen, dazu wäre aber das gesamte notify hilfreich gewesen ;)  ):

my $LogFile=InternalVal(<deviceName>,"currentlogfile","unknown") und dann das Senden (ich nehme an das ist ein Teil aus deinem notify [ wäre gut gewesen das GANZE notify zu sehen! ]) eben so zu machen:


","/opt/fhem/log/$LogFile") }


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

AyshaHM

Hallo MadMax, vielen Dank für deine Antwort.
Ich muss gestehen das ich das nicht verstehe.
Hier mein notify

SLHMF2M15:on {DebianMail("xxxxxx\@aol.com;xxxxx\@web.de;xxxx\@gmx.de;xxxx\@gmx.de","> Klaeranlage < !TEXT!","TEXT...........................................

","/opt/fhem/log/CN.Kompressor-$year-$month.log") }


SLHMF2M15 ist ein Merker aus der Siemens Logo der für 5 Sek. eingeschaltet wird.

Danke und Gruß
AyshaHM
Hardware: Raspberry  4

MadMax-FHEM

Naja wie geschrieben (und das ist immer noch kein list des notify, sollte aber reichen, so hoffe ich):


LHMF2M15:on {my $LogFile=InternalVal("CN.Kompressor","currentlogfile","unknown"); DebianMail("xxxxxx\@aol.com;xxxxx\@web.de;xxxx\@gmx.de;xxxx\@gmx.de","> Klaeranlage < !TEXT!","TEXT...........................................

","$LogFile") }


Wenn das Device wofür das Logfile ist eben "CN.Kompressor" heißt.
Auch das ist ja nicht bekannt (oder hab ich überlesen)...

(bzgl. der "Strichpunkte" nach "my $LogFile=..." kommt drauf an Wo/WIE du es eingibst. Wenn du es per Klick auf DEF änderst, dann sollte es passen. Ansonsten 2 Strichpunkte...)

Zukünftig wäre es SEHR hilfreich etwas mehr Infos zu bekommen.
Dazu gehört meist ein list der beteiligten Devices...

Wenn es jetzt noch nicht klar ist, dann weiß ich auch nicht weiter...
...bzw. würde ich dann empfehlen etwas Perl zu lernen und etwas bzgl. Perl in fhem und Klammerebenen usw.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

AyshaHM

Hallo Joachim, entschuldige bitte meine schlechte Daten!!

Hier habe ich es nochmal aufgelistet.
Ich hoffe das ist so richtig.

Schalter
define SLHMF2M15 S7_DRead M15
setuuid SLHMF2M15
attr SLHMF2M15 IODev SLHM
attr SLHMF2M15 alias SLHMF3M15  Kontrolle HM
attr SLHMF2M15 event-on-change-reading .*
attr SLHMF2M15 room 01-Logo-KA-HMEV



LogFile
define CN.Kompressor.File FileLog ./log/CN.Kompressor-%Y-%m.log (CN\.Kompressor:.*)
setuuid CN.Kompressor.File
attr CN.Kompressor.File room 02-Daten


Notify
define TasteF3S notify SLHMF2M15:on {DebianMail("xxx\@aol.com;;xxx\@web.de;;xxx\@gmx.de;;xxx\@gmx.de","> Klaeranlage","
","/opt/fhem/log/CN.Kompressor-$year-$month.log") }
setuuid TasteF3S
attr TasteF3S alias Taste F3 Sichtpruefung ohne Fehler
attr TasteF3S room 03-Ueberwachung


Nach meinem Verständnis habe ich jetzt das zusammen gebaut.

define TasteF3S notify SLHMF2M15:on {my $LogFile=InternalVal("CN.Kompressor","currentlogfile","unknown");;DebianMail("xxx\@aol.com;;xxx\@web.de;;xxx\@gmx.de;;xxx\@gmx.de","> Klaeranlage","
","$LogFile") }
setuuid TasteF3S
attr TasteF3S alias Taste F3 Sichtpruefung ohne Fehler
attr TasteF3S room 03-Ueberwachung


Das geht aber auch nicht.
siehe hier aus der fhemLog

2021.01.14 16:01:58 1: sendEmail RCP: xxx@aol.com;xxx@web.de;xxx@gmx.de;xxx@gmx.de
2021.01.14 16:01:58 1: sendEmail Subject: > Klaeranlage <
2021.01.14 16:01:58 1: sendEmail Text:.......................
2021.01.14 16:01:58 1: sendEmail Anhang: unknown
2021.01.14 16:01:58 1: sendEmail returned: Jan 14 16:01:58 rs1b sendEmail[2265]: ERROR => The attachment [unknown] doesn't exist!


Vielen Dank im Voraus

Gruß AyshaHM




Hardware: Raspberry  4

AyshaHM

Hallo Joachim,
vielen Dank für deine Hilfe es hat doch funktioniert.
Ich muss ja auch den richtigen Namen für das FileLog nehmen.

Also
so geht es

define TasteF3S notify SLHMF2M15:on {my $LogFile=InternalVal("CN.Kompressor.File","currentlogfile","unknown");;DebianMail("xxx\@aol.com;;xxx\@web.de;;xxx\@gmx.de;;xxx\@gmx.de","> Klaeranlage","
","$LogFile") }
setuuid TasteF3S
attr TasteF3S alias Taste F3 Sichtpruefung ohne Fehler
attr TasteF3S room 03-Ueberwachung



DANKE DANKE

AyshyHM

:D :D

Hardware: Raspberry  4