DbLog / event-min-intervall

Begonnen von stefan68, 09 Januar 2016, 12:33:05

Vorheriges Thema - Nächstes Thema

stefan68

Beitrag durch User gelöscht.

Sunny

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...
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

marvin78

Die Leerzeichen in der Liste bei DbLogInclude werden auch ein Problem sein.

Sunny

#3
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

FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

vuffiraa

#4
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
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Sunny

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
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

vuffiraa

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.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Sunny

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
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

vuffiraa

#8
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.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Sunny

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
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

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
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

Sunny

Zitat von: stefan68 am 09 Januar 2016, 21:17:50
so ist es hier auch.
NEIN so ist es nicht!  :o

Nur durchattr <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 < nur: Ball + flach h...

Dadurch bin ich für Dich jetzt  :-X
FHEM 6.0 (RPi's 1b-4,CeleronM,Odroid C1+)
1-Wire (DS18B20,DS2406) |miniCUL|miniCUL868WLAN|HM|IT(-1500,LR-3500) |FB6591,FB7490,FB7580|DECT200|Powerline546E|520E|openwrt
Anfänger: Linux,FHEM+Perl

marvin78

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?

JoeALLb

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?
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

marvin78