FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: LeonLeckstrom am 03 Juli 2015, 12:57:34

Titel: Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 03 Juli 2015, 12:57:34
Hallo,

Ich habe auf einem Rpi FHEM am laufen. Angeschlossen ist ein AVR-Net-IO mit einer One-Wire-Temperaturmessung. Jetzt möchte ich aber, dass die Aktivitäten der Messung nicht in der Haupt-Logfile mitgeschrieben werden, sondern eine eigene Logfile bekommen. Wie kann ich das umsetzen?

MFG
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: Otto123 am 03 Juli 2015, 13:27:55
Zitat von: LeonLeckstrom am 03 Juli 2015, 12:57:34
dass die Aktivitäten der Messung nicht in der Haupt-Logfile mitgeschrieben werden, sondern eine eigene Logfile bekommen.
Hallo,

das ist doch eigentlich Standard!? Wenn z.B. autocreate ein Device erzeugt wird doch bei allen Sensoren ein extra logfile angelegt. Im FHEM Log werden doch eigentlich keine Messwerte geloggt.

poste mal ein list <devicename>

Gruß Otto
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 03 Juli 2015, 14:10:43
Es geht nicht nur um den Messwert, sondern auch um dinge wie:
2015.07.01 10:28:43 2: Attempt to write to disconnected device.
2015.07.01 10:28:43 1: Client.point01: no answer received (wrote "1w convert\n", expected OKn)
2015.07.01 10:28:45 2: Attempt to write to disconnected device.
2015.07.01 10:28:45 1: Client.point01: no answer received (wrote "1w get 106b13d902080059\n", expected \d+.\d\n)
2015.07.01 10:28:45 2: After sleep: temp

Quasi sämtliche Rückmeldungen eines Gerätes. Die Temperaturen werden schon extra geloggt.
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: Otto123 am 03 Juli 2015, 14:24:33
Du kannst bei dem Gerät verbose 0 setzen, dann ist zumindest Ruhe im zentralen Log.
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 05 Juli 2015, 20:49:26
Danke Otto, verbose funktioniert.

Ich habe hinzugefügt:

define log_Client.point01 FileLog /opt/fhem/log/log_dev/Client.point01/Client.point01-%Y-%m.log Client.point01

Aber es wird nichts geloggt. Weswegen?
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: Icinger am 05 Juli 2015, 20:59:50
Setz noch n .* hinten drann, dann wird fleissig geloggt:

define log_Client.point01 FileLog /opt/fhem/log/log_dev/Client.point01/Client.point01-%Y-%m.log Client.point01:.*

lg, Ici
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 05 Juli 2015, 21:57:11
Nein, ist leider immernoch Ruhe.

define Client.point01 ECMD telnet 192.168.178.34:2701
attr Client.point01 classdefs ONEWIRE=/opt/fhem/onewire.classdef:RELAIS=/opt/fhem/relais.classdef
attr Client.point01 room HM-Raum
attr Client.point01 verbose 0
define log_Client.point01 FileLog /opt/fhem/log/log_dev/Client.point01/Client.point01-%Y-%m.log Client.point01:.*
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: Otto123 am 05 Juli 2015, 22:16:58
Zitat von: LeonLeckstrom am 03 Juli 2015, 14:10:43
Die Temperaturen werden schon extra geloggt.
Wie war das eigentlich gemeint?
Die log Files werden in den Definitionen eigentlich relativ angegeben also so:
./log/<Name des Logfiles.log>
Existieren denn Deine Unterpfade? Ob die FHEM anlegt weiß ich nicht.
Ich weiß auch nicht was FHEM mit dem Punkt im Namen macht. Ich verwende so etwas jedenfalls bewusst nicht.

Bitte nimm für Deine Code und Log Postings die Code Tags, sonst kann das keiner lesen.

Gruß Otto
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 27 Juli 2015, 12:21:19
So, ich hab jetzt nochmal ein bisschen rumprobiert. Es taucht mittlerweile ein neues Problem auf: ich bekomme es nicht hin, dass mein Temperaturwert nicht in der Haupt-Logfile angezeigt wird. Stattdessen bekomme ich jede minute ein "2015.07.27 12:12:56 2: After sleep: temp" geloggt, was echt nervt.
So sieht das ganze momentan aus:


define Client.point01 ECMD telnet 192.168.178.34:2701
attr Client.point01 classdefs ONEWIRE=/opt/fhem/onewire.classdef:RELAIS=/opt/fhem/relais.classdef
attr Client.point01 room Alter HM-Raum
attr Client.point01 verbose 0

define log_Client.point01 FileLog /opt/fhem/log/log_dev/Client.point01/Client.point01-%Y-%m.log Client.point01:.*

define Temp01 ECMDDevice ONEWIRE 106b13d902080059
attr Temp01 IODev Client.point01

define 1Wire_Temp at +*00:01 set Temp01 messen;; sleep 2;; get Temp01 temp

define Log_Temperatur FileLog /opt/fhem/log/log_temp/Temp01-%Y.log Temp01:(temp).*



Wo muss ich mein verbose setzten, damit die Meldung weg ist? bei "attr Client.point01 verbose 0" funktioniert es ja auch!  :'(
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: CoolTux am 27 Juli 2015, 12:58:08
Mal so geraten. Trage verbose 0 im Device Temp01 ein.
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 27 Juli 2015, 13:41:14
Nein, Funktioniert nicht. Es wird weiter geloggt.
define Temp01 ECMDDevice ONEWIRE 106b13d902080059
attr Temp01 IODev Client.point01
attr Temp01 verbose 0
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: CoolTux am 27 Juli 2015, 14:07:17
gib mal ein logauszug
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 27 Juli 2015, 14:23:49
Seit dem letzten speichern:

2015.07.27 13:41:44 2: eventTypes: loaded 79 events from ./log/eventTypes.txt
2015.07.27 13:41:47 1: Including ./log/fhem.save
2015.07.27 13:42:49 2: After sleep: temp
2015.07.27 13:43:49 2: After sleep: temp
2015.07.27 13:44:49 2: After sleep: temp
2015.07.27 13:45:49 2: After sleep: temp
2015.07.27 13:46:49 2: After sleep: temp
2015.07.27 13:47:49 2: After sleep: temp
2015.07.27 13:48:49 2: After sleep: temp
2015.07.27 13:49:49 2: After sleep: temp

Es sei dazugesagt, dass die Temperaturen fehlen, weil das AVR-NET-IO momentan nicht angeschlossen ist. wenn es das ist, kommt das selbe, nur eben mit werten.
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: CoolTux am 27 Juli 2015, 14:31:08
Liest Du die Werte aus einer Datei in das Device ein? Sieht mir jedenfalls so aus.

Mach mal bitte ein
list Device

Und verwende code Tags.
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 27 Juli 2015, 14:34:17
Global:
  global               (<no definition>)

FHEMWEB:
WEB                  (Initialized)
  WEBphone             (Initialized)

ECMD:
  Client.point01       (disconnected)

ECMDDevice:
  Temp01               (temp)

at:
  1Wire_Temp           (Next: 14:33:47)

eventTypes:
  eventTypes           (active)

notify:
  initialUsbCheck      (active)

FileLog:
  Log_Temperatur       (active)
  Logfile              (active)
  log_Client.point01   (active)

SVG:
  weblink_Temperatur   (initialized)

autocreate:
  autocreate           (active)

telnet:
  telnetPort           (Initialized)
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: CoolTux am 27 Juli 2015, 14:49:22
Ähm, bitte ein list auf das Device. Kein Globales.


list Temp01


Und liest Du nun die Werte aus einer Datei ein und schreibst sie dann ins Device, ja/nein?
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 27 Juli 2015, 15:09:57
Internals:
   DEF        ONEWIRE 106b13d902080059
   IODev      Client.point01
   NAME       Temp01
   NR         26
   STATE      temp
   TYPE       ECMDDevice
   Readings:
     2015-07-27 15:06:49   state           temp
   Fhem:
     classname  ONEWIRE
     Cache:
       Specials:
         %NAME      Temp01
         %TYPE      ECMDDevice
         %devID     106b13d902080059
     Params:
       devID      106b13d902080059
Attributes:
   IODev      Client.point01
   verbose    0


Ich bin mir nicht sicher. Ich habe eine .classdef, in der die Befehle stehen.
der Abruf sieht so aus:

define 1Wire_Temp at +*00:01 set Temp01 messen;; sleep 2;; get Temp01 temp
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: CoolTux am 27 Juli 2015, 15:29:08
Ok, dadurch das Du ein at hast welcher Deine Readings setzt werden die Angaben natürlich auch global geloggt. Gib mal Deinem at ein verbose 0 mit
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LuckyDay am 27 Juli 2015, 18:06:45
Zitatsleep 2 quiet

Wenn du die Einträge aus dem Fhem.log haben willst
Zitat2015.07.27 13:42:49 2: After sleep: temp

musst du das quiet wie oben gezeigt hinter den sleep befehl schreiben
Titel: Antw:Logfile soll einige Geräte ignorieren
Beitrag von: LeonLeckstrom am 28 Juli 2015, 09:36:39
Danke für die Antworten, ich werde es gleich probieren, wenn die neue SD-Karte da ist.  ;D