CUL Events?

Begonnen von Virsacer, 25 Februar 2018, 18:06:12

Vorheriges Thema - Nächstes Thema

Virsacer

Hi,
bin nicht so ganz sicher, aber laut der Maintainer.txt gehört CUL hier rein...

Also:
Kann es sein, dass das Modul gar keine Events generiert?

Ich habe folgendes:

Internals:
   CMDS       BbCeFGiKklMmRTtUVWXx
   CUL1_MSGCNT 22131
   CUL1_TIME  2018-02-25 17:51:27
   Clients    :TechemWZ:TechemHKV:WMBUS:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:STACKABLE:
   DEF        /dev/ttyUSB0@38400 0000
   DeviceName /dev/ttyUSB0@38400
   FD         9
   FHTID      0000
   MessageEncoding CUL
   NAME       CUL1
   NR         24
   PARTIAL   
   RAWMSG     b2F446850680445647472EBCFA2069F23E10090052100000005090808824D0C0B0B0A0C080B0B0B0C0D090D0B0608B1440A070709070064958013
   RSSI       -64.5
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.67 nanoCUL868
   initString X21
brt
   MatchList:
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
     H:STACKABLE_CC ^\*
     J:WMBUS    ^b.*
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2018-02-25 15:26:03   cmds             B b C e F G i K k l M m R T t U V W X x
     2018-02-25 17:51:27   state           Initialized
     2018-01-25 18:00:42   uptime          0 00:24:40
Attributes:
   icon       cul
   model      nanoCUL
   rfmode     WMBus_T
   room       SYSTEM


Und ich würde gerne mit einem DOIF auf Änderungen bei den Readings reagieren, aber es tut sich nix und im Event Monitor ist auch nichts zu sehen...
Muss dafür noch was konfiguriert werden, oder kommen da wirklich keine Events?

rudolfkoenig

ZitatKann es sein, dass das Modul gar keine Events generiert?
Doch (Initialized und Zeitstempel-Update), du wartest aber vermutlich auf andere.

CUL ist ein "physikalisches" Modul, und ruft (je nach empfagenem Telegramm) eine der 30+ logischen Module auf, die die Nachricht interpretieren, und ihrerseits Events generieren. Falls noch keine passende FHEM-Instanz mit dem logischen Modul definiert ist, dann wird per autocreate eine angelegt, und das Event von dieser neu angelegten Instanz generiert.

Laut "Clients" Eintrag verwendest du aber eine nicht standard CUL.pm (Techem kenne ich nicht), deswegen bitte wg. dem Support den Autor dieser Variante fragen.

KölnSolar

Hi Rudi,
es ist schon die culfw im rfmode=WMBus_T.
In dem mode kommt dann aber auch nicht viel. ???
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Virsacer

An der 00_CUL.pm habe ich nichts verändert (ist die aus dem SVN)
Ich nutze die "logischen" Module TechemHKV und TechemWZ, die wohl auf WMBus basieren...
Die Module erzeugen auch Events, aber im CUL Modul ist halt nix zu sehen...

Heißt das jetzt, dass der Author auch die Events im CUL-Modul erzeugen muss?

herrmannj

Zitat von: rudolfkoenig am 25 Februar 2018, 18:53:25
Laut "Clients" Eintrag verwendest du aber eine nicht standard CUL.pm (Techem kenne ich nicht)
doch, ist Standard.

Und die richtige Gegenfrage lautet auch: was für ein event erwartest Du ?

Virsacer

Ich sehe, dass sich das Reading
state Initialized 2018-02-26 15:54:58bzw. die InternalsCUL1_MSGCNT 50440
CUL1_TIME 2018-02-26 15:54:58
ändern.
Da hätte ich gerne ein Event, damit ich "merke", wann das letze Paket gesendet/empfangen wurde...

herrmannj

Internals erzeugen nie events ;)

Du kannst raw loggen und dann danach suchen

Virsacer

Ok, aber beim Reading "state" würde ich es erwarten...

Ich reagiere jetzte erstmal auf die Events der einzelnen "logischen" Module - ist zwar noch nicht optimal, aber besser, als im Minutentakt abzufragen, ob sich was geändert hat...

herrmannj

ich glaube Du hast das System nicht verstanden. (Siehe Rudi's post) - anderfalls verstehe ich die Frage nicht.

Was soll sich beim (CUL) state ändern ? Der ist initialisiert und gut ist.

Wenn sich etwas relevantes ereignet, dann reagiert das entsprechende logsiche Modul. Es aktualisiert ein reading und das erzeugt ein event. Auf dieses event regiert man in einem notify, schreibt ein filelog, etc ... 

Virsacer

Wenn ich mir den state anschaue, steht da:
"state Initialized 2018-02-26 19:28:28"
und wenn ich F5 drücke, steht da:
"state Initialized 2018-02-26 19:29:29"
und wenn ich nochmal F5 drücke:
"state Initialized 2018-02-26 19:29:50"
usw...

rudolfkoenig

CUL aktualisiert z.Zt. den Zeitstempel, aber ohne ein Event zu erzeugen, da ich den Last nicht unnoetig erhoehen wollte.
@Virsacer: falls du es wirklich haben willst, dann wuerde ich das mit einem Attribut aber auch als Event anbieten. Musst aber explizit schreiben :)

fiedel

Zitat von: rudolfkoenig am 27 Februar 2018, 22:57:08
falls du es wirklich haben willst...
Wird er hoffentlich nicht, er hat es wohl wirklich noch nicht verstanden.
@Virsacer:
ZitatIch nutze die "logischen" Module TechemHKV und TechemWZ, die wohl auf WMBus basieren...
"Vergiss den CUL - benutze das Modul...!" ...alter FHEM- Schlachtruf.  ;D
Nur mit den zitierten Modulen, genauer mit deren Readings realisierst du das.
"Nutz die Module, fall nicht in die CULe...!"  :-X
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