Hi,
ich habe bei meien Aquara Temp Sensoren ein event-min-interval intervall gesetzt damit FHEM zumindest alle 5 min ein Event ausläst auch wenn der Sensor nicht updated bzw die Werte Ändert. Nur scheinbar greift das nicht denn laut Eventmonitor wird kein Event ausgelöst. Was mache ich falsch?
Internals:
DEF sensor 3 IODev=zigbee_haus_gateway
FUUID 5f157369-f33f-34fb-010e-58c909b3f1d56272
FVERSION 31_HUEDevice.pm:0.252490/2021-11-21
ID S3
INTERVAL
IODev zigbee_haus_gateway
NAME sensor_eg_wz_temperature
NR 81
STATE 23.75 °C
TYPE HUEDevice
lastupdated 2022-01-21 06:54:15
lastupdated_local 2022-01-21 07:54:15
manufacturername LUMI
modelid lumi.weather
name Multisensor -WZ
on 1
reachable 1
swversion 20161129
type ZHATemperature
uniqueid 00:15:8d:00:04:65:8a:07-01-0402
Helper:
DBLOG:
temperature:
DBLogging:
TIME 1642747984.5269
VALUE 23.75
READINGS:
2022-01-20 11:55:22 IODev zigbee_haus_gateway
2022-01-21 07:54:15 battery 55
2022-01-21 07:54:15 batteryPercent 55
2022-01-20 00:56:10 lastseen 2022-01-19T23:56Z
2022-01-21 07:54:15 reachable 1
2022-01-21 07:54:15 temperature 23.75
helper:
devtype S
reachable 0
update_timeout 1
configList:
json:
ep 1
etag cde306d5b02f2c9a461a5ae68a16c801
lastseen 2022-01-21T06:54Z
manufacturername LUMI
modelid lumi.weather
name Multisensor -WZ
swversion 20161129
type ZHATemperature
uniqueid 00:15:8d:00:04:65:8a:07-01-0402
config:
battery 55
offset 0
state:
lastupdated 2022-01-21T06:54:15.541
temperature 2375
setList:
Attributes:
DbLogExclude .*
DbLogInclude temperature
IODev zigbee_haus_gateway
alexaName Thermometer Wohnzimmer
alexaRoom Wohnzimmer
alias Thermometer (WZ)
event-min-interval temperature:300
event-on-change-reading .*
genericDeviceType thermometer
group Raumklima
model lumi.weather
readingsWatcher 3600,???,temperature
room HAUS->EG->WOHNEN,SYSTEM->DEVICES->HUE
stateFormat temperature °C
Du machst nichts falsch, hast allerdings ein falsches Verständnis von dem Attribut:
Es verringert die Häufigkeit von Events, _wenn_ es welche gibt, es erzeugt aber keine (was auch - abgesehen von Plot-Begradigungen oä. - sinnlos wäre).
Zitat aus dem Wiki
"Mit dem Attribut event-min-interval kann für Readings eines Gerätes festgelegt werden, dass nach einer bestimmten Zeit ein Event auch ohne Wertänderung oder Update ausgelöst wird. In der Regel ist das Attribut sinnvoll vor allem in Kombination mit dem Attribut event-on-change-reading einsetzbar."
Das steht doch aber das es genau das machen sollte. Dann wäre der Wiki Eintrag falsch. Oder verstehe ich den falsch.
Zitat von: Beta-User am 21 Januar 2022, 09:01:12
Du machst nichts falsch, hast allerdings ein falsches Verständnis von dem Attribut:
Es verringert die Häufigkeit von Events, _wenn_ es welche gibt, es erzeugt aber keine (was auch - abgesehen von Plot-Begradigungen oä. - sinnlos wäre).
Wiki bedeutet übersetzt:
event-min-interval erlaubt mit einer Sekundenangabe, dass nach Verstreichen dieser Zeitspanne die nächste Aktualisierung auf jeden Fall zu einem Event führt - Wert spielt dabei keine Rolle.
Das Gerät muss aktiv werden ...
Zitat von: bicmac am 21 Januar 2022, 09:04:05
Zitat aus dem Wiki
"Mit dem Attribut event-min-interval kann für Readings eines Gerätes festgelegt werden, dass nach einer bestimmten Zeit ein Event auch ohne Wertänderung oder Update ausgelöst wird. In der Regel ist das Attribut sinnvoll vor allem in Kombination mit dem Attribut event-on-change-reading einsetzbar."
Das steht doch aber das es genau das machen sollte. Dann wäre der Wiki Eintrag falsch. Oder verstehe ich den falsch.
Danke für den Hinweis. Hab's geändert, es war mAn. schlicht falsch!
Deshalb sollte man auch immer in die Doku schauen (zumindest bei den Kernfunktionen - Entwickler von einigen Modulen halten sich ja mittlerweile für zu schlau für die commandref). Das Wiki liegt oft falsch...
Ich bin mir bei den ganzen Infos nicht mehr sicher was jetzt die richtige Info bezüglich Funktionsweise des Attributs event-min-interval ist - bzw. wie diese zu verstehen ist. Daher möchte ich um Hilfe bitten! (Doku, fhem-Forum & Wiki wurden zuvor durchsucht)
Was ich benötige:
Auch wenn es keine Aktualisierung des (Hue)Devices gibt, möchte ich ein Event erzeugen, um ein kontinuierliches log der Readings zu bekommen.
Konkret: Ein paar Zigbee Temp/Humidity-Sensoren (ähnlich den Aqaras nur mit Display) aktualisieren ihre Readings nur bei Wertänderung (Manchmal kein update für mehrere Stunden).
Was ich versucht hatte:
attr TempHumBadDg.Temp event-min-interval .*:60
So wie ich die verfügbaren Infos verstanden habe, sollte damit das Device (wenn event-on-change-reading UND event-on-update-reading NICHT definiert sind), genau mein gewünschtes Verhalten zeigen.
Hier die komplette Device-Definition - aus lauter Verzweiflung habe ich auch schon versucht, das <Interval> des HUEdevice explizit zu setzen (Ohne Erfolg):
defmod TempHumBadDg.Temp HUEDevice sensor 167 60 IODev=deCONZ
attr TempHumBadDg.Temp DbLogInclude temperature,battery
attr TempHumBadDg.Temp IODev deCONZ
attr TempHumBadDg.Temp alias Temperatursensor
attr TempHumBadDg.Temp event-min-interval .*:60
attr TempHumBadDg.Temp group HUESensor
attr TempHumBadDg.Temp model TS0201
attr TempHumBadDg.Temp room HUEDevice
attr TempHumBadDg.Temp stateFormat temperature
Hatte gehofft mir kann jemand einen Tipp geben;)
Schau mal nach addLog.
wenn ein device aus welchen gründen auch immer von sich keine events erzeugt erfindet fhem keine dazu. die diversen event attribute sind auch nicht dafür da sondern um eventuell zu viel ankommende events zu reduzieren.
ansonsten: siehe https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden