HMCCUDEV device generiert kein Event

Begonnen von clang, 28 August 2018, 21:44:12

Vorheriges Thema - Nächstes Thema

clang


Hallo zap, hallo *,

nachdem mit HMCCU(CHN|DEV|RPC) mein Erkennungsmelder HmIP-SPI via piVCCU nun problemlos in fhem integriert ist (vielen Dank nochmal für die Lösung  für https://forum.fhem.de/index.php/topic,82441.0.html, ich habe das Thema kürzlich geschlossen), habe ich mir überlegt, wie ich die Erkennung nutzen könnte.

Erst nach einigem Herumprobieren ist mir aber klar geworden, daß von der entsprechenden HMCCUDEV device keinerlei Event generiert wird. Als Folge davon ändert sich der Status in der Web-UI nicht von selbst und notify- und DOIF-devices können auf die Statusänderung nicht reagieren. Daß der Statuswechsel dennoch in fhem ankommt, kann ich nur mittels Reload der Web-UI im Browser feststellen. Ein entsprechender trigger-Befehl auf die HMCCUDEV device landet hingegen wie erwartet im Eventlog und löst entsprechende Aktionen in  notify- und DOIF-devices aus.

Ich vermute, daß das ein Fehler ist?  Allerdings übersetze ich das Originalattribut PRESENCE_DETECTION_STATE in die Werte present und absent, könnte es etwa an dieser Übersetzung liegen ?

Hier die Gerätedefinition:
defmod HW_FL_Presence HMCCUDEV 000C17099A00AF
attr HW_FL_Presence IODev HW_HMCCU2
attr HW_FL_Presence ccureadingfilter (ILLUMINATION|PRESENCE|LOW_BAT|OPERATING_VOLTAGE)
attr HW_FL_Presence ccureadingname 0.LOW_BAT:battery;;0.OPERATING_VOLTAGE:batteryLevel;;1.ILLUMINATION:illumination;;1.PRESENCE_DETECTION_STATE:presence
attr HW_FL_Presence controldatapoint 1.PRESENCE_DETECTION_ACTIVE
attr HW_FL_Presence event-on-change-reading 0.LOW_BAT,1.ILLUMINATION,1.PRESENCE_DETECTION_STATE
attr HW_FL_Presence eventMap /datapoint 1.RESET_PRESENCE 1:reset/datapoint 1.PRESENCE_DETECTION_ACTIVE 1:detection-on/datapoint 1.PRESENCE_DETECTION_ACTIVE 0:detection-off/
attr HW_FL_Presence hmstatevals SABOTAGE!(1|true):sabotage
attr HW_FL_Presence statedatapoint 1.PRESENCE_DETECTION_STATE
attr HW_FL_Presence stripnumber 1
attr HW_FL_Presence substitute LOW_BAT!(0|false):ok,(1|true):low;;PRESENCE_DETECTION_STATE!(0|false):absent,(1|true):present;;PRESENCE_DETECTION_ACTIVE!(0|false):off,(1|true):on


Ich setze Raspbian GNU/Linux 9 (stretch) mit Kernel 4.9.59+ und Perl v5.24.1 ein. Sowohl das System als auch fhem sind frisch aktualisiert.

Kann ich noch etwas für die Analyse tun?

TIA Chris

zap

Die Definition sieht soweit ok aus. Das Ändern der Readingnames ist kein Problem, ich nutze das selbst häufig.
Werden die Readings automatisch aktualisiert?
Falls nicht, werden sie nach einem get update aktualisiert?
Auf jeden Fall solltest Du das Attribut event-on-update-reading mal auf .*  setzen. Es gibt Datenpunkte (zB Tasten), die melden immer nur 1 bzw true. Dann ändert sich das Reading nie und ohne das og Attribut bekommst Du auch keine Events.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

clang

Hey zap,

Danke für Deine schnelle Antwort, habe aber heute erst gelesen ...

Also, parallel im telnet-Fenster konnte ich mit list HW_FL_Presence state  sehen, daß das reading definitiv ankommt, da gibt es also kein Problem.

Dafür hat die Änderung von event-on-update-reading auf .* bzw. dann auf die geänderten readingnames, also auf

event-on-change-reading battery,batteryLevel,illumination,presence

sofort getan  :D  Wenn ich jetzt in die richtige Richtung winke, geht das Licht an (nein, das ist nicht der Anwendungsfall, nur das Testszenario  ;D ;D ;D)

Also hat es ja eigentlich doch mit der Änderung der readingnames zu tun, oder? Also nicht so, daß das ganze Device nicht mehr tut, es hat nur die Angabe im Attribut event-on-update-reading völlig lahmgelegt, die überschriebenen Namen waren damit zwecklos geworden... ich habe nur diese Auswirkung nicht erkannt/verstanden. Aber so langsam erschließt sich mir dieses Attribut (vielleicht schon das nächste Mal komme ich von selbst darauf  ;) )

Nochmal vielen Dank für die Hilfe!

Thnx Chris