FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Master_Nick am 29 Dezember 2016, 14:57:43

Titel: [GELÖST] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 14:57:43
Guten Tag,

ich habe meine Anfrage mal hier eingesetzt, da es denke ich kein Zeichen dafür ist, dass ich mittlerweile alles verstanden habe, auch wenn FHEM bei mir bereits seit 2 1/2 Jahren arbeitet.

Ich habe einen nanoCUL und lese mit diesem meine 3  Oregon Scientific Sensoren aus.
Diese geben aber alle par Sekunden laut und es wird über ein FileLog (define FileLog_Kinderzimmer_Sensor_2 FileLog ./log/Kinderzimmer_Sensor_2-%Y.log THGR228N_b7_1) gesammelt was das Zeug hält.
Ich hatte nun schon einige Ideen dazu gefunden über dummys etc. Aber eigentlich müsste es ja auch über event-min-interval:.*:900 und event-on-change-reading:.* gehen oder ein verbose:2.

Nichts von all Dem greift aber. Muss ich das Log anders definieren als mit FileLog damit es klappt? Oder wo liegt mein Fehler :-)

Hier ein Auszug vom Log:
2016-12-29_14:51:01 Kinderzimmer_Sensor_2 T: 22.3 H: 47 BAT: ok
2016-12-29_14:51:01 Kinderzimmer_Sensor_2 temperature: 22.3
2016-12-29_14:51:01 Kinderzimmer_Sensor_2 humidity: 47
2016-12-29_14:51:01 Kinderzimmer_Sensor_2 battery: ok
2016-12-29_14:51:01 Kinderzimmer_Sensor_2 T: 22.3 H: 47 BAT: ok
2016-12-29_14:52:58 Kinderzimmer_Sensor_2 temperature: 22.3
2016-12-29_14:52:58 Kinderzimmer_Sensor_2 humidity: 47
2016-12-29_14:52:58 Kinderzimmer_Sensor_2 battery: ok
2016-12-29_14:52:58 Kinderzimmer_Sensor_2 T: 22.3 H: 47 BAT: ok
2016-12-29_14:54:16 Kinderzimmer_Sensor_2 temperature: 22.3
2016-12-29_14:54:16 Kinderzimmer_Sensor_2 humidity: 47
2016-12-29_14:54:16 Kinderzimmer_Sensor_2 battery: ok
2016-12-29_14:54:16 Kinderzimmer_Sensor_2 T: 22.3 H: 47 BAT: ok
2016-12-29_14:57:31 Kinderzimmer_Sensor_2 temperature: 22.3
2016-12-29_14:57:31 Kinderzimmer_Sensor_2 humidity: 47
2016-12-29_14:57:31 Kinderzimmer_Sensor_2 battery: ok
2016-12-29_14:57:31 Kinderzimmer_Sensor_2 T: 22.3 H: 47 BAT: ok
2016-12-29_14:58:10 Kinderzimmer_Sensor_2 temperature: 22.3
2016-12-29_14:58:10 Kinderzimmer_Sensor_2 humidity: 47
2016-12-29_14:58:10 Kinderzimmer_Sensor_2 battery: ok
2016-12-29_14:58:10 Kinderzimmer_Sensor_2 T: 22.3 H: 47 BAT: ok
2016-12-29_14:58:10 Kinderzimmer_Sensor_2 temperature: 22.3
2016-12-29_14:58:10 Kinderzimmer_Sensor_2 humidity: 47
2016-12-29_14:58:10 Kinderzimmer_Sensor_2 battery: ok
2016-12-29_14:58:10 Kinderzimmer_Sensor_2 T: 22.3 H: 47 BAT: ok
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 18:24:04
Ich glaube der einfachste weg ist zwischen Sensor und Log ein notify zu bauen oder?
Hier http://fhem.de/commandref_DE.html#FileLog habe ich auch keine Möglichkeit gefunden dem Log zu sagen nur Änderungen zu loggen und bei den möglichen Attributen greift keines.
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 29 Dezember 2016, 18:35:26
Da bin ich ja jetzt in der Pflicht. Nicht nur, dass ich um ein neues Thema bat, ICH hatte gedacht die Meldungen stünden im Syslog :-[

Verstehe nicht so recht wie Du auf dieses device THGR228N_b7_1 loggst und Kinderzimmer_Sensor_2-Logeinträge bekommst  ???

Zuerst solltest Du entscheiden, welche events Du überhaupt loggen willst. Eigentlich machen ja nur temperature und humidity Sinn, um sie später plotten zu können. Dann müsste die def so aussehen
define FileLog_Kinderzimmer_Sensor_2 FileLog ./log/Kinderzimmer_Sensor_2-%Y.log Kinderzimmer_Sensor_2:(temperature|humidity).*
Der Rest müsste funktionieren.
Grüße Markus
Edit: Und wenn es wider Erwarten doch nicht klappt, stell doch bitte ein list des devices hier ein.
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 18:46:16
Ich habe den Sensor der per Autocreate angelegt wurde mit rename umbenannt in Kinderzimmer_Sensor_2.
Das Device dahinter heißt halt weiterhin THGR228N_b7_1 aber FHEM benennt dann alles so wie im rename genannt ;-)

Die Definition passt soweit - ja die Batterie kann man weg lassen, ich hatte sie tatsächlich nun mit in die Graphen eingebaut, wollte es später aber noch in eine WhatsApp oder E-Mail Benachrichtigung um münzen.

Die Frage ist ja eher wie kann ich verhindern, dass GLEICHE Werter erneut geloggt werden. Dennoch soll aber in einem Intervall von (erstmal) 15 Minuten  immer ein Log-Eintrag geschrieben werden.

Ich AHNE warum es nicht so einfach geht:

Im Event Monitor sieht man folgendes:
2016-12-29 18:54:07 OREGON Kinderzimmer_Sensor_2 temperature: 21.8
2016-12-29 18:54:07 OREGON Kinderzimmer_Sensor_2 humidity: 47
2016-12-29 18:54:07 OREGON Kinderzimmer_Sensor_2 battery: ok
2016-12-29 18:54:07 OREGON Kinderzimmer_Sensor_2 T: 21.8 H: 47 BAT: ok

Somit ist jedes Event anderen Inhaltes und er loggt sie somit. Ich muss also das define des Logs ändern wie von dir vorgeschlagen, auf immer das gleiche und nicht unterschiedliche Messages - ob das nun aber vom Oregon Modul kommt oder nur über das Log machbar ist... muss ich mal eben testen. ODER aber das event-on-change-reading:.* auf die temperature und humidity eingrenzen. :-D
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 29 Dezember 2016, 18:57:55
ZitatIch habe den Sensor der per Autocreate angelegt wurde mit rename umbenannt in Kinderzimmer_Sensor_2.
Das Device dahinter heißt halt weiterhin THGR228N_b7_1 aber FHEM benennt dann alles so wie im rename genannt ;-)
Neenee, meine Edith(s.o.) noch nicht gesehen ? Mach bitte mal das list.
Hast Du evtl. 2 devices ? Hab ich nach nem Batteriewechsel auch schon mal. Es wird ein neues device angelegt und ich ändere meine def auf die neue Id. Das autocreate-device muss man löschen ! Renamen geht doch gar nicht  :o
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 19:27:24
Rename geht gar nicht weil pfui pfui?  ;D
Hehe ok dann muss ich die nochmal händisch definieren - bisher arbeiten alle drei Sensoren durch den vom Autocreate angelegten. :-D

Hier das List:
Internals:
   CODE       THGR228N_b7_1
   DEF        THGR228N_b7_1
   IODev      nanoCUL
   LASTInputDev nanoCUL
   MSGCNT     1269
   NAME       Kinderzimmer_Sensor_2
   NR         79
   STATE      T: 21.8 H: 47 BAT: ok
   TIME       2016-12-29 19:22:04
   TYPE       OREGON
   nanoCUL_DMSG 501A2D10B7802170443D72
   nanoCUL_MSGCNT 1269
   nanoCUL_RAWMSG mAAAAAAAB32D4CB3554D4ACB35552D53554AD4D4CCAB534AC13
   nanoCUL_TIME 2016-12-29 19:22:04
   Readings:
     2016-12-29 19:22:04   battery         ok
     2016-12-29 19:22:04   humidity        47
     2016-12-29 19:22:04   temperature     21.8
Attributes:
   IODev      nanoCUL
   event-min-interval .*:900
   event-on-change-reading .*
   group      Messinstrumente
   room       Kinderzimmer,Messungen

Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 29 Dezember 2016, 19:44:56
pfui pfui geht natürlich  ;D
Nur mach es bitte rund und wenns damit(möglichst nach einem reboot) nicht klappt stellst Du die defs nochmal ein  ;)
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 19:47:34
Unrund ist es weil der Name vom Autocreate noch vor kommt in DEF und nicht nur in CODE wo er sein muss?


Die Geschichte mit dem neu definierten Log funktrioniert soweit - es wird nun nur Temperatur und Luftfeuchtigkeit geloggt - aber eben JEDE und nicht nur abweichende Werte oder alle 15 Minuten generell.

Und ich will genau das hier verhindern mehrfache Einträge direkt nacheinander ohne Änderung der Werte:
2016-12-29_19:59:46 Kinderzimmer_Sensor_2 temperature: 21.7
2016-12-29_19:59:46 Kinderzimmer_Sensor_2 humidity: 47
2016-12-29_19:59:47 Kinderzimmer_Sensor_2 temperature: 21.7
2016-12-29_19:59:47 Kinderzimmer_Sensor_2 humidity: 47
2016-12-29_20:00:25 Kinderzimmer_Sensor_2 temperature: 21.7
2016-12-29_20:00:25 Kinderzimmer_Sensor_2 humidity: 47


Ich glaube das Problem ist hier - das Log nimmt IMMER alles - es ist ja auch ein Log. Nur ein Notify was man dazwischen schaltet kann hier als Bremse agieren und dieses Notify füllt dann das Log.
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 29 Dezember 2016, 20:05:31
ZitatUnrund ist es weil der Name vom Autocreate noch vor kommt in DEF und nicht nur in CODE wo er sein muss?
Auweia, jetzt wird's kompliziert. Wenn Du renamest wie Du nicht renamen sollst, sonst renamen aber nicht geht....  :-\ Ohh, da fällt mir gerade ein, es gibt ja noch den rename-Befehl und den hast Du benutzt :-[
Mit rund meinte ich nur, dass man dann an allen Stellen auch wirklich nur genau einen Namen für das Oregon-Device hat. Welcher ist ja egal.

Zurück zum Thema. Ich sehe noch 2 Möglichkeiten. Das Oregon-Modul unterstützt event-.... gar nicht. Dann hätte Ralf, der sich in letzter Zeit intensiver damit auseinandergesetzt hat, Dir vermutlich aber nicht den Vorschlag gemacht. Oder die .* Definitionen funktionieren nicht. Ich hab z.B. so, allerdings für ein anderes Modul,  definiert
attr device event-min-interval humidity:600,temperature:600
attr device event-on-change-reading humidity,temperature

Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Ralf9 am 29 Dezember 2016, 20:23:01
Es gibt auch noch die Möglichkeit, daß beim Oregon Modul das  event-min-interval nicht funktioniert. Das Oregon Modul ist ein recht altes Modul.
Wenn ich das richtig sehe, wurde es 2010 erstellt:
Zitat(c) 2010-2014 Copyright: Willi Herzig

Ich habe bei mir versucht es nachzustellen, bei mir hat das event-min-interval auch nicht funktioniert.

Ich werde mal hier nachfragen ob es bei jemand funktioniert
https://forum.fhem.de/index.php/topic,60170.msg547814.html#msg547814

@KölnSolar
ich ging davon aus, daß es funktioniert, da es bei allen anderen Modulen auch funktioniert.
Ich bin erstaunt, daß es damit Probleme gibt.
Wenn ich sicher wäre, daß es funktioniert, hätte ich es anders formuliert:
Zitatmit
event-min-interval:.*:300
und
event-on-change-reading:.*
sollte es eigentlich funktionieren.

Gruß Ralf
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 20:25:23
@KölnSolar
;) genau den hatte ich genutzt. Aber man lernt ja nur indem man Fehler macht ;-)
Nichts ist einfacher als das nochmal neu sauber anzulegen.  8)

Also die attr device event-min-interval humidity:600,temperature:600
attr device event-on-change-reading humidity,temperature
habe ich so übernommen - geht nicht.

Das in der 41_OREGON steht bei dem Sensor der von mir genutzt wird:
sub OREGON_common_temphydro {
  my $type = shift;
  my $longids = shift;
  my $bytes = shift;

  my $device = sprintf "%02x", $bytes->[3];
  #my $dev_str = $type.$DOT.$device;
  my $dev_str = $type;
  if (OREGON_use_longid($longids,$type)) {
  $dev_str .= $DOT.sprintf("%02x", $bytes->[3]);
  }
  if (OREGON_hi_nibble($bytes->[2]) > 0) {
  $dev_str .= $DOT.sprintf("%d", OREGON_hi_nibble($bytes->[2]));
  }

  my @res = ();
  OREGON_temperature($bytes, $dev_str, \@res);
  OREGON_humidity($bytes, $dev_str, \@res);
  OREGON_simple_battery($bytes, $dev_str, \@res);
  return @res;
}


In der ganzen Datei konnte ich nix zu on-event oder event finden... aber das ist auch für mich schon etwas drüber ich bin kein aktiver Programmierer aber auch nicht völlig ohne Kenntnis, nur bei FHEM fehlt mir da noch viel Wissen ;-)

@Ralf9 hey danke dir!  :D

Generell: Großartig wie man sich hier gegenseitig hilft! ;-) Hoffe ich kann auch bald was zurück geben.
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 29 Dezember 2016, 20:37:58
Hi Ralf,

Willi ist ja schon urlange nicht mehr aktiv. Wenn ich es richtig in Erinnerung habe, hattest Du doch für Signalduino das Modul modifiziert. Ich meine mich auch zu erinnern, dass seitdem ein neuer maintainer gesucht wird. Wärst Du da nicht prädestiniert  8)
Wie ich das in den Sourcen verfolgen konnte war zuerst das Oregon-Modul entstanden und später daraus abgeleitet das TRX_WEATHER. Dort ist event-..... implementiert. Ich unterstütze gerne und kann insbesondere beim Test helfen, da ich einen 433CUL und den RFXTRX habe.

Was denkst Du ?
Grüße Markus
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 20:40:09
Hehe ich kann mit dem nanoCUL 433 testen :-)

Mit Softwaretest wiederum bin ich tatsächlich sogar im Arbeitsleben dabei (ISTQB Cert.).  ;)
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Ralf9 am 29 Dezember 2016, 21:02:28
Hallo Markus,

ich bin kein Developer und auch kein richtiger Programmierer.
Ich habe das Programmieren nicht gelernt, ich habe es mir selber beigebracht.
Mit meinen Perl Grundkenntnissen bin ich mittlerweile so weit, daß ich in den Modulen das was ich benötige einbauen kann.

Gruß Ralf
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 22:43:08
Nochmal zum Thema:

Ich hätte es nun erstmal über einen Workaround gelöst:

Der Sensor loggt nicht selber ist aber mit einem Notify gekoppelt und dieser setzt die Readings des Sensors bei einem Dummy (inkl. T: und H: als STATE im Dummy) und dort wird dann geloggt auf "event-min-interval:*:600" und "event-on-change-reading:humidity, temperature"

Soweit die Theorie...... aber er schreibt mir nix ins Log...

Sensor:
Internals:
   CFGFN
   CODE       THGR228N_b7_1
   DEF        THGR228N_b7_1
   IODev      nanoCUL
   LASTInputDev nanoCUL
   MSGCNT     95
   NAME       Kinderzimmer_Sensor_2
   NR         168
   STATE      T: 21.7 H: 46 BAT: ok
   TIME       2016-12-29 22:39:01
   TYPE       OREGON
   nanoCUL_DMSG 501A2D10B7702160443BB5
   nanoCUL_MSGCNT 95
   nanoCUL_RAWMSG mAAAAAAAB32D4CB3554D4ACB354ACD535552D4D4CB2B4CCB20D
   nanoCUL_TIME 2016-12-29 22:39:02
   Readings:
     2016-12-29 22:39:01   battery         ok
     2016-12-29 22:39:01   humidity        46
     2016-12-29 22:39:01   temperature     21.7
Attributes:
   IODev      nanoCUL
   group      Messinstrumente
   room       Kinderzimmer,Messungen


Notify:
Internals:
   CFGFN
   DEF        Kinderzimmer_Sensor_2 {
my $t= ReadingsVal("Kinderzimmer_Sensor_2","temperature",0);;
my $h= ReadingsVal("Kinderzimmer_Sensor_2","humidity",0);;
fhem("setreading Kinderzimmer_Sensor_2_Logger temperature $t ;
setreading Kinderzimmer_Sensor_2_Logger humidity $h ;
setstate Kinderzimmer_Sensor_2_Logger T: $t H: $h")
}
   NAME       Kinderzimmer_Sensor_2_Trigger
   NOTIFYDEV  Kinderzimmer_Sensor_2
   NR         256
   NTFY_ORDER 50-Kinderzimmer_Sensor_2_Trigger
   REGEXP     Kinderzimmer_Sensor_2
   STATE      2016-12-29 22:40:19
   TYPE       notify
   Readings:
     2016-12-29 22:17:06   state           active
Attributes:
   room       Messungen


Dummy:
Internals:
   CFGFN
   NAME       Kinderzimmer_Sensor_2_Logger
   NR         409
   STATE      T: 21.7 H: 46
   TYPE       dummy
   CHANGED:
     temperature: 21.8
     humidity: 46
     temperature: 21.8
     humidity: 46
     temperature: 21.8
     humidity: 46
     temperature: 21.8
     humidity: 46
     temperature: 21.8
     humidity: 46
     temperature: 21.8
     humidity: 46
     temperature: 21.8
     humidity: 46
     temperature: 21.8
     humidity: 46
     humidity: 46
     humidity: 46
     temperature: 21.8
     humidity: 46
   Readings:
     2016-12-29 22:40:58   humidity        46
     2016-12-29 22:40:58   temperature     21.7
Attributes:
   event-min-interval *:600
   event-on-change-reading humidity,temperature
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 29 Dezember 2016, 22:45:58
Bist mir dazwischen gekommen. Ich poste den aber jetzt und guck mir Deinen Workaround an, während Du mir meine Frage beantwortest  ;)

@Ralf: Schade  :'(

Aber dem Nick muss doch geholfen werden. Erst hab ich über einen workaround nachgédacht. Aber extra ein dummy, dann noch notify.... fand ich Käse. Dann hab ich mir mal die Sourcen angesehen, überrascht so rein gar nichts zu finden  ??? Also hab ich meinen CUL-RPi ans Netz gehangen, um mir ein Oregon-device anzugucken. Und ich stelle das fest, was mir bereits die Sourcen gesagt hatten: Man kann gar keine attribute für event-.... absetzen  :o
Da stellt sich mir die Frage wie Du das gemacht hast Nick ? Dass Du es gemacht hast, sehe ich ja an Deinem list. Wieder ein Befehl, den ich gerade nicht vor Augen habe ?  ;)
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 22:52:51
Also ich kann beim Sensor selbst als Attribut die Event Geschichten auswählen im FHEM Web. Kein Befehl keine Zauberei ;-)
Nur genutzt werden sie nicht, bzw beachtet.

Und im Notify kann man wiederum keine event Dinge machen, daher die Weiterleitung auf den Dummy.

Das Notify arbeitet auch fein... nur der Dummy löst keinen Log Eintrag im FileLog aus das für ihn da ist.

2016.12.29 22:48:46 5: Triggering Kinderzimmer_Sensor_2_Trigger
2016.12.29 22:48:46 4: Kinderzimmer_Sensor_2_Trigger exec {
my $t= ReadingsVal("Kinderzimmer_Sensor_2","temperature",0);;;;
my $h= ReadingsVal("Kinderzimmer_Sensor_2","humidity",0);;;;
fhem("setreading Kinderzimmer_Sensor_2_Logger temperature $t ;;
setreading Kinderzimmer_Sensor_2_Logger humidity $h ;;
setstate Kinderzimmer_Sensor_2_Logger T: $t H: $h")
}
2016.12.29 22:48:46 5: Cmd: >{
my $t= ReadingsVal("Kinderzimmer_Sensor_2","temperature",0);;
my $h= ReadingsVal("Kinderzimmer_Sensor_2","humidity",0);;
fhem("setreading Kinderzimmer_Sensor_2_Logger temperature $t ;
setreading Kinderzimmer_Sensor_2_Logger humidity $h ;
setstate Kinderzimmer_Sensor_2_Logger T: $t H: $h")
}<
2016.12.29 22:48:46 5: Cmd: >setreading Kinderzimmer_Sensor_2_Logger temperature 21.7<
2016.12.29 22:48:46 5: Cmd: >setreading Kinderzimmer_Sensor_2_Logger humidity 46<
2016.12.29 22:48:46 5: Cmd: >setstate Kinderzimmer_Sensor_2_Logger T: 21.7 H: 46<
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 29 Dezember 2016, 23:02:02
Versteh ich nicht. Ich kann nix auswählen und meine 41_OREGON gibt das auch nicht her  :-\

Sieht eigentlich gut aus(zu gut;bist ja schon ganz schön tief in der Materie  :)) Die 10 min. scheinen auch abgelaufen. Mir würde noch die def vom Filelog fehlen. Da vertippt ?
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 23:04:17
Wo ein Wille ist ist immer auch ein Code  8)

Internals:
   CFGFN
   DEF        ./log/Kinderzimmer_Sensor_2-%Y.log Kinderzimmer_Sensor_2_Logger:(temperature|humidity).*
   NAME       FileLog_Kinderzimmer_Sensor_2
   NR         583
   NTFY_ORDER 50-FileLog_Kinderzimmer_Sensor_2
   REGEXP     Kinderzimmer_Sensor_2_Logger:(temperature|humidity).*
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/Kinderzimmer_Sensor_2-2016.log
   logfile    ./log/Kinderzimmer_Sensor_2-%Y.log
   Pos:
Attributes:


Hast du die 41_OREGON.pm die Ralf mal geupdatet hat? Wobei ich nicht glaube, dass es daran liegt.. mach dir gleich mal ein Screenshot.

*EDIT* Anhang. Was ich nicht verstehe ist, warum der Sensor auch mit dem FileLog gekoppelt ist... das klingt nach der Fehlerhaftenstelle irgendwie..... eigentlich ist das FileLog ja NUR für den Dummy gedacht.
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 29 Dezember 2016, 23:19:06
ZitatHast du die 41_OREGON.pm die Ralf mal geupdatet hat?
Natürlich nicht ! Ich hab die aktuelle fhem-Version.

Fehler sehe ich auch keinen. Guck mal im event-monitor was da so passiert. Und lass mal die Einschränkung, sprich (temperature|humidity) in der filelog-def weg.

Edit:
ZitatWas ich nicht verstehe ist, warum der Sensor auch mit dem FileLog gekoppelt ist... das klingt nach der Fehlerhaftenstelle irgendwie..... eigentlich ist das FileLog ja NUR für den Dummy gedacht.
Da kann ich Dir nur beipflichten. Mal nen reboot machen.
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 29 Dezember 2016, 23:53:27
Habe das FileLog nun Oregon_Sensor_2 genannt (komplett neu angelegt) und es war nicht mehr gekoppelt mit dem Device. Es scheint weil der Device noch in der alten Log Datei stand, hat er direkt gekoppelt - schlaues System.

Aber er schreibt weiter nix rein...
Keine Fehler kein ganix..

Event Monitor:
2016-12-29 23:53:08 OREGON Kinderzimmer_Sensor_2 temperature: 21.7
2016-12-29 23:53:08 OREGON Kinderzimmer_Sensor_2 humidity: 45
2016-12-29 23:53:08 OREGON Kinderzimmer_Sensor_2 battery: ok
2016-12-29 23:53:08 OREGON Kinderzimmer_Sensor_2 T: 21.7 H: 45 BAT: ok


FileLog habe ich aktuell so:
Internals:
   CFGFN
   DEF        ./log/Oregon_Sensor_2-%Y.log Kinderzimmer_Sensor_2_Logger
   NAME       FileLog_Oregon_Sensor_2
   NOTIFYDEV  Kinderzimmer_Sensor_2_Logger
   NR         115
   NTFY_ORDER 50-FileLog_Oregon_Sensor_2
   REGEXP     Kinderzimmer_Sensor_2_Logger
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/Oregon_Sensor_2-2016.log
   logfile    ./log/Oregon_Sensor_2-%Y.log
Attributes:


Bisher bekomme ich es nicht hin, dass der dummy bei Änderung seiner Readings ein Event wird und das FileLog daraufhin einen Eintrag erhält :-(
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON
Beitrag von: KölnSolar am 30 Dezember 2016, 09:13:26
Zitatdass der dummy bei Änderung seiner Readings ein Event wird
Du meinst wie schon Dein event-monitor-Auszug zeigt: Die readings des dummys werden aktualisiert aber es gibt kein event im event-monitor vom dummy ? Dann lass mal den event-...Kram beim dummy weg. Im Grundsatz sollte ein event erzeugt werden
Zitatsetreading: Set the reading <reading> for the device <name> to <value> without sending out commands to the device, but triggering events and eventMap/stateFormat transformations as usual.

Schließlich könntest Du noch ein setreading in der Kommandozeile eingeben, um irgendwas "Krummes" im notify auszuschließen.

Wenn dann auch kein event/Logeintrag erzeugt wird, läge es wohl am dummy  ???

Häng bitte auch mal Deine 41_OREGON an, wo auch immer Du sie her hast ::)
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Sidey am 31 Dezember 2016, 00:33:36
So,

ich habe die fehlende Unterstützung von event-min-intervall und der restlichen FHEM Standardmöglichkeiten bei Readings eingebaut.


Könnt ihr das bitte mal testen:
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r33/controls_signalduino.txt

Grüße Sidey
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 31 Dezember 2016, 02:02:55
@KölnSolar - das half alles nix

@Sidey: sehr gern teste ich das, ist das mit dem nanoCUL denn machbar? Ich frage nur weil da signaldunio im Dateinamen steht ;-) Ansonsten teste ich dann sofort.
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Sidey am 31 Dezember 2016, 02:06:56
Ja das ist nur der Name der Datei mit den Steuerinfos. Beim ausfuhren werden ein paar Dateien aktualulisiert, darunter auch 41_Oregon..

Viel Erfolg
Titel: Antw:[Wie einstellen?] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Master_Nick am 31 Dezember 2016, 02:51:47
Saubere Arbeit @Sidey  8) ;D

2016-12-31_02:32:46 Kinderzimmer_Sensor_2 temperature: 20.7
2016-12-31_02:32:46 Kinderzimmer_Sensor_2 humidity: 45
2016-12-31_02:32:47 Kinderzimmer_Sensor_2 temperature: 20.7
2016-12-31_02:32:47 Kinderzimmer_Sensor_2 humidity: 45
2016-12-31_02:34:04 Kinderzimmer_Sensor_2 temperature: 20.7
2016-12-31_02:34:04 Kinderzimmer_Sensor_2 humidity: 45
2016-12-31_02:34:43 Kinderzimmer_Sensor_2 temperature: 20.7
2016-12-31_02:34:43 Kinderzimmer_Sensor_2 humidity: 45
2016-12-31_02:36:01 Kinderzimmer_Sensor_2 temperature: 20.7
2016-12-31_02:36:01 Kinderzimmer_Sensor_2 humidity: 45
2016-12-31_02:47:04 Kinderzimmer_Sensor_2 temperature: 20.7
2016-12-31_02:47:04 Kinderzimmer_Sensor_2 humidity: 45
2016-12-31_02:52:16 Kinderzimmer_Sensor_2 temperature: 20.6
2016-12-31_02:57:28 Kinderzimmer_Sensor_2 humidity: 45
2016-12-31_03:03:19 Kinderzimmer_Sensor_2 temperature: 20.6


Ab hier "2016-12-31_02:36:01" war eingestellt: event-min-interval humidity:600,temperature:600 und event-on-change-reading humidity,temperature. Dazwischen kamen aber ungefähr pro Minute 2 neue Readings rein vom Sensor und er hat sie, wie es sein soll, nicht geloggt.

Und bei "2016-12-31_02:52:16" sehen wir die Änderung eines Wertes. Und schon wird es geloggt.

Internals:
   CHANGED
   CODE       THGR228N_b7_1
   DEF        THGR228N_b7_1
   IODev      nanoCUL
   LASTInputDev nanoCUL
   MSGCNT     15
   NAME       Kinderzimmer_Sensor_2
   NR         83
   STATE      T: 20.6 H: 45 BAT: ok
   TYPE       OREGON
   nanoCUL_DMSG 501A2D10B760205044383E
   nanoCUL_MSGCNT 15
   nanoCUL_RAWMSG mAAAAAAACCB532CD55352B2CD54B554D5533535354AD4AAD014
   nanoCUL_TIME 2016-12-31 02:53:34
   Readings:
     2016-12-31 02:53:34   battery         ok
     2016-12-31 02:53:34   humidity        45
     2016-12-31 02:53:34   state           T: 20.6 H: 45 BAT: ok
     2016-12-31 02:53:34   temperature     20.6
Attributes:
   IODev      nanoCUL
   event-min-interval humidity:600,temperature:600
   event-on-change-reading humidity,temperature
   group      Messinstrumente
   room       Kinderzimmer,Messungen


Funktioniert perfekt! :)
Sogar das neu beginnen des 10 Minuten Intervalls macht er wie es scheint nachdem eine Veränderung geloggt wurde. 8)

Aus meiner Sicht kann die Änderung eingecheckt werden (war Oregon angeht).

Vielen Dank @KölnSolar, Ralf & Sidey! Das ging echt fix! ;-)
Titel: Antw:[GELÖST] Logging nur nach Intervall oder Werteänderung OREGON Sensoren
Beitrag von: Sidey am 31 Dezember 2016, 08:59:38
Ich werde es Anfang Nächstes Jahr in das FHEM Update einchecken... Danke fürs Testen.

Grüße Sidey