event-on-change-reading: "state" mit mehren Thresholds?

Begonnen von nightknight, 01 Oktober 2019, 14:52:47

Vorheriges Thema - Nächstes Thema

nightknight

Hallo zusammen!

Ich möchte bei meinem Temperatur/Feuchtesensor die Anzahl der Einträge im Log-File reduzieren. Ich möchte gerne für die Temperatur einen Threshold von 0,2 °C und für die Luftfeuchtigkeit von 2 %rH. Dazu habe ich "event-on-change-reading" mit folgendem Device verwendet:


Internals:
   CHANGED   
   DEF        1D
   FUUID      5d814d0c-f33f-ceb2-385a-8356aa480bfcf8c5
   IODev      myJeeLink
   LASTInputDev myJeeLink
   LaCrosse_lastRcv 2019-10-01 14:39:46
   MSGCNT     100238
   NAME       Aussen.THD
   NR         27
   STATE      T: 20.8 H: 60
   TYPE       LaCrosse
   addr       1D
   battery_new 0
   bufferedH 
   bufferedT 
   corr1      0
   corr2      0
   myJeeLink_MSGCNT 100243
   myJeeLink_RAWMSG OK 9 29 1 4 184 60
   myJeeLink_TIME 2019-10-01 14:39:46
   previousH  60
   previousT  20.8
   sensorType 0=T(H)
   READINGS:
     2019-10-01 14:39:46   battery         ok
     2019-10-01 14:30:53   dewpoint        12.6
     2019-10-01 14:39:46   humidity        60
     2019-10-01 14:39:33   state           T: 20.8 H: 60
     2019-10-01 14:39:46   temperature     20.8
Attributes:
   IODev      myJeeLink
   event-min-interval 3600
   event-on-change-reading temperature:0.2 ,humidity:2,dewpoint:0.2,.*
   icon       scene_day
   room       LaCrosse


Das Ergebnis im Log-File sieht nun folgendermaßen aus:

2019-10-01_14:41:36 Aussen.THD temperature: 21.4
2019-10-01_14:41:36 Aussen.THD T: 21.4 H: 59
2019-10-01_14:41:36 Aussen.THD dewpoint: 13.1
2019-10-01_14:41:53 Aussen.THD humidity: 58
2019-10-01_14:41:53 Aussen.THD T: 21.5 H: 58
2019-10-01_14:42:01 Aussen.THD temperature: 21.6
2019-10-01_14:42:01 Aussen.THD T: 21.6 H: 58
2019-10-01_14:42:18 Aussen.THD T: 21.7 H: 58
2019-10-01_14:42:31 Aussen.THD T: 21.8 H: 58
2019-10-01_14:42:52 Aussen.THD temperature: 21.9
2019-10-01_14:42:52 Aussen.THD T: 21.9 H: 58
2019-10-01_14:42:52 Aussen.THD dewpoint: 13.3
2019-10-01_14:43:13 Aussen.THD T: 21.9 H: 57
2019-10-01_14:43:43 Aussen.THD T: 22 H: 58
2019-10-01_14:44:12 Aussen.THD temperature: 22.1
2019-10-01_14:44:12 Aussen.THD T: 22.1 H: 58
2019-10-01_14:44:16 Aussen.THD T: 22 H: 58
2019-10-01_14:44:50 Aussen.THD T: 22.1 H: 58
2019-10-01_14:45:03 Aussen.THD T: 22.1 H: 57
2019-10-01_14:45:24 Aussen.THD T: 22.2 H: 57


In Bezug auf die readings "temperature" und "humidity" funktioniert also alles wie erwartet. Allerdings erscheint das reading "state" trotzdem noch bei jeder Änderungen ("T: 22.2 H: 57").

Daher wollte ich den Threshold zusätzlich auch für state anwenden, bin aber daran gescheitert, dass ich ja zwei verschiedene Thresholds angeben muss. Nur für die Luftfeuchtigkeit klappt es durchaus mit
attr Aussen.THD event-on-change-reading temp.*:0.2 ,hum.*:2,dew.*:0.2,batt.*,state:2
aber wie kriege ich die 0.2 für die Temperatur noch eingebaut?

Vielen Dank für Anregungen!

Beta-User

Da du beide Einzelwerte hast, fragt es sich, welchen Sinn es macht, das "state"-Dingens überhaupt zu aktualisieren bzw. Events auslösen zu lassen.

Kurz: Das hat keinen großen Mehrwert, also wirf es einfach weg/lass es gar nicht (mit Event) aktualisieren... (Wenn du das zu Anzeigezwecken haben willst: stateFormat ist dein Freund ;) ).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

fiedel

Hallo und herzlich willkomen im Forum!

Für meinen Geschmack kommen da noch viel zu viele Werte / Events rein.
Ich mache sowas auch gern nur mit "min-interval". Dann verpasst man eben
den einen oder anderen Schlenker, aber die Daten quellen nicht so über.

Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423