Hauptmenü

Sensorwerte im Log

Begonnen von maci, 19 April 2017, 08:24:55

Vorheriges Thema - Nächstes Thema

maci

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.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

maci

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.

Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

maci

Das hat geholfen.

Viele Danke!
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan