FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: maci am 19 April 2017, 08:24:55

Titel: Sensorwerte im Log
Beitrag von: maci am 19 April 2017, 08:24:55
Hallo,

Ich habe meine Logdaten der Sensoren auf DBLog umgestellt.
Nun habe ich eine Frage:
Wie kann ich verhindern dass Logwerte eines Sensors geschrieben werden, wenn dieser gar keine liefert ?
Es werden da immer die letzten Werte fortlaufend geschrieben.
Lieber wäre mir gar kein Eintrag oder Nulleinträge.
Titel: Antw:Sensorwerte im Log
Beitrag von: DeeSPe am 19 April 2017, 09:37:10
Logs für Geräte werden anhand von Events geschrieben.
Eine Aktualisierung eines Readings erzeugt normalerweise ein Event.
Wenn also keine Aktualisierung eines Readings erfolgt, sollte auch kein Log geschrieben werden.

Gruß
Dan
Titel: Antw:Sensorwerte im Log
Beitrag von: maci am 19 April 2017, 10:59:17
Danke für die Antwort.

Der Sensor ist eine Netatmo Station. Hier wird ja die Webseite abgefragt.
Mein Aussensensor meldet sich derzeit nicht (vermutlich Batterieproblem).

Die Werte sind veraltet, das weiß auch Fhem.

Hier habe ich eine Wertrundung bei den Temperaturen eingestellt mit:
attr netatmo_xxxxx userReadings temperature_T { int ( 10 * ReadingsVal("netatmo_xxxxx","temperature",0) + 0.5 ) / 10 }
Hier wird der Wert Temperature_T geloggt.
Dieser Eintrag bleibt bestehen und wird auch weiterhin geloggt.
Bei den humdity Werten funktioniert es richtig.

Sorry dass ich mich bei ersten Beitrag unklar ausgedrückt habe.

Wie kann nun sicherstellen, dass auch die Temperaturwerte nicht kommen?

Im einem weitern Schritte würde ich gerne eine Funktion haben, die mir mitteilt, wenn ein Sensor fehlt.

Titel: Antw:Sensorwerte im Log
Beitrag von: DeeSPe am 19 April 2017, 11:34:06
Zitat von: maci am 19 April 2017, 10:59:17
Hier habe ich eine Wertrundung bei den Temperaturen eingestellt mit:
attr netatmo_xxxxx userReadings temperature_T { int ( 10 * ReadingsVal("netatmo_xxxxx","temperature",0) + 0.5 ) / 10 }
Hier wird der Wert Temperature_T geloggt.
Dieser Eintrag bleibt bestehen und wird auch weiterhin geloggt.
Bei den humdity Werten funktioniert es richtig.

Sorry dass ich mich bei ersten Beitrag unklar ausgedrückt habe.

Wie kann nun sicherstellen, dass auch die Temperaturwerte nicht kommen?

Indem das userReadings temperature_T nur auf temperature triggert, was ja eigentlich auch nur Sinn ergibt wenn temperature darin verarbeitet werden soll.
attr netatmo_xxxxx userReadings temperature_T:temperature.* { int ( 10 * ReadingsVal("netatmo_xxxxx","temperature",0) + 0.5 ) / 10 }

Gruß
Dan
Titel: Antw:Sensorwerte im Log
Beitrag von: maci am 19 April 2017, 19:45:58
Das hat geholfen.

Viele Danke!