LaCrosse: Temperatur Updates nur wenn Änderung

Begonnen von mb, 01 Januar 2015, 14:33:37

Vorheriges Thema - Nächstes Thema

mb

Hallo zusammen,

seit ein paar Wochen beschäftige ich mich nun mit FHEM und verstehe langsam immer mehr.

Seit Vorgestern habe ich nun neues Spielzeug in Form von vier Technoline TX29DTH Temperatur- & Luftfeuchtigkeitssensoren.
Heute morgen habe ich gemerkt das die SVG-Plots tierische lange brauchen bis diese dargestellt werden. Die Senden ja auch alle 4 Sekunden. Es gibt also ewig lange Logfiles die mein Raspberry Pi verarbeiten muss. Ich habe mir daher gedacht nur noch alle 60 Sekunden die Werte zu loggen und auch nur dann wenn es Änderungen gibt.
Das soll dazu führen das die SVG-Plots wieder schnell angezeigt werden, weil nur wenige Events ausgewertet werden müssen.
>> Wenn es für dieses Problem auch andere Lösungen gibt, ich bin offen für alles ;)


Folgendes ist konfiguriert:

event-min-interval temperature:60,humidity:60,dewpoint:60,battery:3600
event-on-update-reading temperature,humidity,dewpoint


Aber ich finde im Log minütlich Einträge, obwohl die Werte unverändert sind:
2015-01-01_13:54:08 LaCrosse_39 temperature: 19.8
2015-01-01_13:54:08 LaCrosse_39 humidity: 54
2015-01-01_13:54:08 LaCrosse_39 dewpoint: 10.2
2015-01-01_13:55:11 LaCrosse_39 temperature: 19.8
2015-01-01_13:55:11 LaCrosse_39 humidity: 54
2015-01-01_13:55:11 LaCrosse_39 dewpoint: 10.2
2015-01-01_13:56:13 LaCrosse_39 temperature: 19.8
2015-01-01_13:56:13 LaCrosse_39 humidity: 54
2015-01-01_13:56:13 LaCrosse_39 dewpoint: 10.2
2015-01-01_13:57:15 LaCrosse_39 temperature: 19.8
2015-01-01_13:57:15 LaCrosse_39 humidity: 54
2015-01-01_13:57:15 LaCrosse_39 dewpoint: 10.2
2015-01-01_13:58:17 LaCrosse_39 temperature: 19.8
2015-01-01_13:58:17 LaCrosse_39 humidity: 54
2015-01-01_13:58:17 LaCrosse_39 dewpoint: 10.2
2015-01-01_13:59:20 LaCrosse_39 temperature: 19.8
2015-01-01_13:59:20 LaCrosse_39 humidity: 54
2015-01-01_13:59:20 LaCrosse_39 dewpoint: 10.2
2015-01-01_14:00:22 LaCrosse_39 temperature: 19.8
2015-01-01_14:00:22 LaCrosse_39 humidity: 54
2015-01-01_14:00:22 LaCrosse_39 dewpoint: 10.2


Es passiert also nicht das was ich erwarte und ich frage mich warum.
Den ich verstehe die Konfiguration wie folgt:

event-min-interval temperature:60,humidity:60,dewpoint:60,battery:3600
event-on-update-reading temperature,humidity,dewpoint


- Alle 60 Sekunden (ausgenommen Batterie) die Werte empfangen
- Update nur wenn die Werte sich verändert haben

Das klappt so leider nicht und ich frage mich woran das liegt.
Kann mir bitte jemand einen Tipp geben?

Vielen Dank
Mark

karl0123


mb

#2
Danke für den schnellen Tipp. Ich hab es jetzt mal wie folgt konfiguriert:

event-min-interval >> temperature:60,humidity:60,dewpoint:60
event-on-change-reading >> temperature,humidity,dewpoint



Leider werden immer noch Events geschrieben obwohl 60 Sekunden noch nicht vorbei sind und vorallem es keine sind Änderungen gab:

2015-01-01_15:20:14 LaCrosse_39 temperature: 20.8
2015-01-01_15:20:14 LaCrosse_39 dewpoint: 10.9
2015-01-01_15:20:49 LaCrosse_39 humidity: 53
2015-01-01_15:20:49 LaCrosse_39 dewpoint: 10.9
2015-01-01_15:21:16 LaCrosse_39 temperature: 20.8
2015-01-01_15:21:16 LaCrosse_39 dewpoint: 10.9
2015-01-01_15:21:52 LaCrosse_39 humidity: 53
2015-01-01_15:21:52 LaCrosse_39 dewpoint: 10.9
2015-01-01_15:22:18 LaCrosse_39 temperature: 20.8
2015-01-01_15:22:18 LaCrosse_39 dewpoint: 10.9
2015-01-01_15:22:54 LaCrosse_39 temperature: 20.7
2015-01-01_15:22:54 LaCrosse_39 humidity: 53
2015-01-01_15:22:54 LaCrosse_39 dewpoint: 10.8
2015-01-01_15:22:58 LaCrosse_39 temperature: 20.8
2015-01-01_15:22:58 LaCrosse_39 dewpoint: 10.9
2015-01-01_15:23:03 LaCrosse_39 temperature: 20.7
2015-01-01_15:23:03 LaCrosse_39 dewpoint: 10.8

Muss ich diese beiden Attribute irgendwie miteinander verknüpfen?
Bsp.: Wenn 60 Sekunden vorbei UND EIN WERT VON temperature,dewpoint,humidity IST VERÄNDERT, DANN EVENT SCHREIBEN.

Joachim

Moinmb,

Welches Modul liefert den dewpoint?

ansonsten funktioniert alles so, wie es soll:
2015-01-01_15:20:14 LaCrosse_39 temperature: 20.8
2015-01-01_15:21:16 LaCrosse_39 temperature: 20.8 --> letzter Eintrag länger als 1 Minute her, event-min-interval zieht
2015-01-01_15:22:18 LaCrosse_39 temperature: 20.8 --> letzter Eintrag länger als 1 Minute her, event-min-interval zieht
2015-01-01_15:22:54 LaCrosse_39 temperature: 20.7 --> Wert hat sich geändert! event-on-change-reading zieht
2015-01-01_15:22:58 LaCrosse_39 temperature: 20.8 --> Wert hat sich geändert! event-on-change-reading zieht
2015-01-01_15:23:03 LaCrosse_39 temperature: 20.7 --> Wert hat sich geändert! event-on-change-reading zieht
bei humidity genauso.

Dewpoint über das dewpoint modul ist etwas anders, es wird unabhängig der dewpoint erzeugt, wenn innerhalb einer Minute temperature und humidity geliefert werden.

gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

mb

Hallo Joachim,

dann habe ich nur ein falschen Verständnis vom erzeugen der Events gehabt.
Dann werde ich gleich mal rumspielen damit ich nur bei Änderungen Events bekomme um weitere Events einzusparen.

Der dewpoint generiere ich wie folgt, habe das einem Blog entnommen:

#Taupunkt definieren START
define dew_state dewpoint dewpoint .* T H D
attr dew_state room Temperaturen
define dew_all dewpoint dewpoint .* temperature humidity dewpoint
attr dew_all room Temperaturen
#Taupunkt definieren ENDE


Gruß
Mark

mb

Hab es jetzt wie folgt konfiguriert und werde das mal testen. Sieht bisher gut aus:

event-on-change-reading >> temperature:0.1,humidity:2,dewpoint:1

Danke für die Tipps.