Beitrag durch User gelöscht.
Moin stefan68,
Zitat von: stefan68 am 09 Januar 2016, 12:33:05
...
Ich habe eine DbLog angelegt. Ich benutze hier DbLogInclude und muss bei jedem Device die zu loggenden Werte einschliessen. Soweit so gut.
Temperaturen möchte ich alle 1800s aufzeichnen, ODER wenn sich der Wert innerhalb dieser Zeit ändert.
attr DbLogInclude temp_c, condition
attr event-min-intervall .*:1800
attr event-on-change-reading temp_c
Das funktioniert leider nicht.
Kann so auch nicht funktionieren, obwohl Du es geschrieben hast, hast Du es nicht umgesetzt. ;)
Vielleicht hilft Dir folgendes...
attr <devive> event-on-change-reading temp_c
attr <device> event-min-interval <reading>:1800
Viele Grüße
Sunny
PS: Wenn ich es richtig weiß ist der "Trenner" Komma oder Leerzeichen, nicht und...
Die Leerzeichen in der Liste bei DbLogInclude werden auch ein Problem sein.
Moin stefan68,
Zitat von: stefan68 am 09 Januar 2016, 13:33:54
beim eventmin-intervall sollen alle readings geschrieben werden, daher
.*:1800
oder muss ich hier JEDES reading mit Komma getrennt angeben ?
attr <device> event-min-interval temp_c,humidity,conditions:1800
Jupp, musst Du, meines Wissens nach, mit Komma getrennt angeben.
Allerdings so:
attr <device> event-min-interval temp_c:1800,humidity:1800,conditions:1800
oder so:
z.B:
attr <device> event-min-interval (temp_c|humidity|conditions):1800
Viele Grüße
Sunny
Die Readings können auch über reguläre Ausdrücke beschrieben werden. Bei mir funktioniert z.B.
attr <device> event-min-interval special-reading:0,.*:300
Moin vuffiraa,
Zitat von: vuffiraa am 09 Januar 2016, 15:05:22
attr <device> event-min-intervall special-reading:0,.*:300
Danke, das kannte ich noch nicht. Mags Du mir nen Tip geben, wo man etwas über "special-reading" nachlesen kann.
Viele Grüße & THX
Sunny
Oh, das war nur ein Platzhalter für den Namen des Readings, wo ich das Intervall zwischen den Events anders behandele. "Special-Reading" ist also nix besonderes, sondern nur ein Beispielname.
Moin vuffiraa,
Zitat von: vuffiraa am 09 Januar 2016, 15:22:42
Oh, das war nur ein Platzhalter für den Namen des Readings, wo ich das Intervall zwischen den Events anders behandele. "Special-Reading" ist also nix besonderes, sondern nur ein Beispielname.
Upps, da stehe ich wohl gerade auf dem Schlauch. :-[
Wie würde Dein Beispiel denn für stefan68 genau aussehen?
attr <device> event-min-interval <?>
Viele Grüße
Sunny
Sein Beispiel oben mit ".*" sollte funktionieren, wenn er es im Modul definiert, also
attr <device> event-min-interval .*:1800
Ansonsten kann man es z.B. auch für einen Wert genauer machen:
attr <device> event-min-interval humidity:300,.*:1800
Damit beträgt der Abstand zwischen den Event für humidity 5 Minuten und für die anderen Werte (temp_c und condition) 30 Minuten.
Moin stefan68,
Zitat von: stefan68 am 09 Januar 2016, 16:17:04
Allderdings bleibt noch eine Frage offen ?
Kann ich nun ZUSÄTZLICH einen Wert bei dessen Änderung innerhalb des "event-min-interval"
mit "event-on-change" wegschreiben ?
Wenn ich Dich richtig verstanden habe ja. Warum sollte es nicht gehen?
Allerdings dann ohne den Doppelpunkt und der Zahl.
Sprich:
attr <devive> event-on-change-reading temp_c,<reading2>,<reading3>
und
attr <device> event-min-interval <?>,<reading2>:<sec2>,<reading3>:<sec3>
das <?> steht für: ich weiß nicht ob ".*" und "<readingN>:<secN>" gleichzeitig funktioniert.
Viele Grüße
Sunny
Moin stefan68,
freut mich, das es läuft.
Was mich wundert ist,
Zitat von: stefan68 am 09 Januar 2016, 19:37:50
...
attr <device> event-on-change-reading temp_c,condition:600,humidity:600
...
...
soweit ich es "kenne" wird mit "attr <device> event-on-change-reading <reading>:600" erst bei einer Änderung des Readings >= 600 etwas geloggt.
Viele Grüße
Sunny
Zitat von: stefan68 am 09 Januar 2016, 21:17:50
so ist es hier auch.
NEIN so ist es nicht! :o
Nur durch
attr <device> event-min-interval .*:600
wird bei Dir alle 600 Sekunden geloggt.
Zitat von: http://fhem.de/commandref_DE.html#attributes
Hast Du inzwischen ja auch schon gefunden...
Was ich nicht verstehe:
1. Du schreibst um 13:33:54 Uhr
Zitat von: stefan68 am 09 Januar 2016, 13:33:54
Danke, das war ein Übertragungsfehler von mir hier im Forum ;)
und änderst um 16:18:22 Uhr Deinen ersten Thread von
Zitatattr DbLogInclude temp_c, condition
auf
Zitatattr DbLogInclude temp_c, condition, humidity
2. Du fragst im 1. Thread erst nur nach Temperatur und nichts anderem. Dadurch kann
Zitat von: stefan68 am 09 Januar 2016, 12:33:05Das funktioniert leider nicht.
dann nicht stimmen, da
Zitat von: stefan68 am 09 Januar 2016, 19:37:50
Es läuft, aber ...
dann funktioniert und
Zitat von: vuffiraa am 09 Januar 2016, 15:56:05
Sein Beispiel oben mit ".*" sollte funktionieren, ...
3. Was mich dann sehr verärgert hat:
Zitat von: stefan68 am 09 Januar 2016, 21:17:50
temp_c soll bei einer Änderung SOFORT gespeichert werden, die anderen Wert dagegen alle 10min, auch wenn der Wert sich nicht geändert hat, damit die Grafik weiter aufgebaut wird. (Wenn die aktualiserten Werte der gelisteten "readings" identisch sind, wird kein Ereignis generiert --> wenn nur event-on-change benutzt würde)
???
Erst einem die Zeit stiebitzen und dann so was ... >:(
Schreibe Dank der > Netikette < (https://de.wikipedia.org/wiki/Netiquette) nur: Ball + flach h...
Dadurch bin ich für Dich jetzt :-X
Auf die Idee, in das ganze auch event-on-update-reading mit rein zu nehmen, um es leichter zu machen, seid ihr noch nicht gekommen, oder?
kurze Zwischenfrage, und möchte auch den Thread nicht kapern: kann ich das event-on-change-min global für alle neuen Devices aus autolearn definieren?
notify auf global:DEFINED