Hallo!
Ich nutze die Telnet-Schnittstelle (natürlich mit SSL) um einige Dinge von Außen zu triggern, bei denen ich ansonsten kein anderes Interface habe. Das funktioniert auch alles wie erwartet.
Allerdings werden die Rückmeldungen, die man in der Telnet-Session erhält, auch ins FHEM-Logfile geschrieben. Darunter sind z.B. Fehlermeldungen, wenn der Befehl nicht verstanden wird, aber auch andere Rückmeldungen, wie z.B. das Bye... wenn man die Telnet-Session mit quit beendet.
Diese Einträge ins Logfile würde ich gerne unterdrücken. Gibt es dafür eine Möglichkeit?
Danke & Gruß
Hanjo
verbose Attribut fuer telnet setzen hilft nicht?
Zitat von: rudolfkoenig am 08 Oktober 2021, 14:19:02
verbose Attribut fuer telnet setzen hilft nicht?
Leider nein, selbst verbose 0 unterdrückt die Meldungen nicht:
defmod telnetPort telnet 7072 global
attr telnetPort SSL 1
attr telnetPort verbose 0
Auszug Logfile:
Bye...
Bye...
Bye...
Bye...
Bye...
Bye...
Bye... wird als Anwort auf quit gesendet, falls ein prompt gesetzt ist.
Das muss vom telnet Client protokolliert werden, und mir ist noch unklar, welches Programm das implementiert.
Ok, ich ziehe meine Frage zurück...
Dein Hinweis hat mich auf die richtige Fährte geführt. In meinem konkreten Beispiel wird das Script, welches dann am Ende per Telnet mit FHEM kommuniziert auch aus FHEM aufgerufen, und zwar über ein DOIF. Natürlich habe ich den Output von dem Script nicht per > /dev/null
unterdrückt und so sind dann die Rückmeldungen von FHEM über Telnet wieder im Log gelandet.
Das Problem war also gar nicht Telnet, sondern saß wieder mal 60cm vor'm Bildschirm :o
Danke für die Unterstützung!
Wollte gerade posten, das bei mir so etwas nicht auftritt obwohl ich viel verwende .... allerdings sind es bei mir wirklich externe Programme, die per cron aufgerufen werden
Zitat von: Wernieman am 08 Oktober 2021, 15:18:52
allerdings sind es bei mir wirklich externe Programme, die per cron aufgerufen werden
Damit wäre das natürlich nicht passiert :) Allerdings habe ich einen guten Grund, warum ich statt cronjobs DOIF verwende: die Scripte sollen nur laufen, wenn FHEM auch läuft und quasi auf "Empfang" ist, was ich so leicht erreichen kann.
Da bei mir externe Pis senden und ich wirklich pushen will, werde ich bestimmt nicht von FHEM trickern lassen (Wobei, warum DOIF und nicht AT?).
Und ob fhem läuft oder nicht, kann man auch gerne von extern prüfen lassen (im Script).
Btw: Dann braucht man sich auch nicht um Rechteprobleme beschäftigen. Ein Script kann mit einem anderen User als FHEM läuft (und ich liebe es, Rechte knapp zu fassen)