Hallo,
ich habe folgendes gebaut:
Jeelink an einem RPI, daran 2 x LaCrosse mit Temp und Luftfeuchte.
Das Ganze steht in einer Gartenhütte, per fhem2fem ist das an einen zweiten Pi gekoppelt.
Auf dem zweiten Pi habe ich zwei cloneDummys "Aussen" und "innen" definiert, die Temperatur und Luftfeuchte empfangen.
Für "Aussen" und "innen" schreibe ich ein Logfile und lasse es mit gplot anzeigen.
Mein Problem:
Die Daten kommen im 2-Sekundetakt rein. Wie kann ich es verhindern, dass alles ins Logfile geschrieben wird? Es reicht eigentlich ein Wert pro Stunde. Wo setzt man an?
Beim Logfile?
Oder kann man die Events direkt verhindern. Es würde ja auch reichen, wenn die Temperatur vom Sensor nur jede Stunde an den Clone übermittelt wird.
Danke und Gruß,
Spartacus
Nachtrag: mit event-min-interval könnte man Events nur alle xx Sekunden zulassen, aber das funzt nicht so, wie gedacht. Die Events kommen doch alle paar Sekunden duch. Mit event-on-change-reading und event-on-change-update soll dies weiter einzugrenzen sein. Aber ich verstehe nicht so ganz, wie die beiden Attribute dafür genutzt werden könnten. Habe schon in der commandref gelesen und ein wenig damit rumgespielet, aber so richtig klappt das nicht!
event-min-interval temperature:60, humidity:60, battery:3600
Ziel soll es sein, dass alle xxsec, nur je ein Event zugelassen werden soll. Den Trigger könnte man auf die Temperatur setzen. BatterieStatus sollte dann direkt gemeldet werden.
event-on-change-reading sorgt dafür, dass nur veränderte Werte trigger auslösen und auch geloggt werden. Kommt also erst 2.0 Grad und 2 Sekunden später wieder 2.0 Grad, wird nicht neu getriggert.
event-on-update-reading hilft dir hier nicht, da es immer triggert, wenn ein Wert kommt (meiner Ansicht nach nur sinnvoll bei Bewegungsmeldern).
Im Prinzip bist du mit event-min-intervall auf der richtigen Spur. Das sollte genau das machen, was du möchtest und das klappt bei meinen LaCrosse Sensoren auch einwandfrei. Aber lass mal die Leerzeichen weg.
Du brauchst beides, event-min-interval, damit alle xxx-Sekunden auf jeden Fall geloggt wird,
und event-on-change-reading, damit nur Änderungen geloggt werden, wenn sie erfolgen.
Experimentire damit mal etwas herum.
Beispiel:
attr FS_Bad event-min-interval Temperatur:600,Feuchte:600,V:600,VAD:600
attr FS_Bad event-on-change-reading Temperatur,Feuchte,V,VAD
Gruß Joachim
Hallo,
danke für die Hinweise! Habe es jetzt mal so eingestellt:
event-min-interval: stae:60,temperature:600,humidity:600,battery:3600
event-on-change-reading: state,temperature,humidity,battery
Das scheint zu gehen! Obwohl ich das "event-on-change-reading" wieder lösche, da sonst jede 1/10 Temperaturänderung wieder ein Event auslöst. Alle 10min. den aktuellen Wert lesen, ist eigentlich genug!
Ich denke, der Fehler bei mir lag auch daran, dass ich das "state" -Event, welches sich aus Temperatur und Luftfeuchte zusammensetzt, ignoriert habe.
Kann man das "state"-Event nicht komplett verhindern? Das braucht man m.E. gar nicht!
Danke,
Spartacus
Klar. Sowohl bei event-on-change-reading, als auch bei event-min-interval state weg lassen. Dann generiert es kein event mehr.
Zitat von: Spartacus am 23 Mai 2014, 20:47:15
event-min-interval: stae:60,temperature:600,humidity:600,battery:3600
event-on-change-reading: state,temperature,humidity,battery
In der ersten Zeile hast du auf jeden Fall einen Typo: stae:60
Schau Dir zu dem Thema auch noch mal die Beiträge 622ff im Original LaCrosse Thread an:
http://forum.fhem.de/index.php/topic,14786.msg165607.html#msg165607
Dort steht, dass sich das Reading "state" anders verhält als "temperature" und "humidity"
Ich selber verwende folgende Einstellungen:
event-min-interval humidity:60,state:60,temperature:60
event-on-change-reading battery
event-on-update-reading humidity,state,temperature
Damit erreiche ich folgendes:
=> die Readings temperature und humidity werden ca alle 60 Sekunden aktualisiert, egal ob sich was geändert hat oder nicht
=> das Kombi-Reading state wird höchstens alle 60 Sekunden aktualisiert, aber nur wenn sich der state verändert hat
=> das Battery Reading erhalte ich, sobald sich dort etwas ändert
Gruss
Tobias
Hallo Tobias,
danke für die Infos. Ich habe mir das jetzt noch mal durchgelesen und denke, dass ich jetzt eine vernünftige Kombination eingestellt habe!
Vielen Dank auch an die anderen Helfer!
Ich teste meine Einstellungen jetzt mal ein paar Tage aus!
Spartacus