Umstellung auf RaspMatic - Problem beim Taster einbinden

Begonnen von xeenon, 12 Februar 2020, 22:59:55

Vorheriges Thema - Nächstes Thema

xeenon

Hallo Zusammen,

ich möchte von einem NanoCul auf einen Pi mit Zusatzplatine und Raspberrymatic umsteigen. Dazu habe ich mich an folgenden Guide gehalten:

https://wiki.fhem.de/wiki/HMCCU_Best_Practice

Beim Befolgen der Guides traten folgende Unregelmäßigkeiten auf:

Bei der Definition der Schnittstellen möchte ich wie im Best Guide angegeben folgende auswählen:
attr d_ccu rpcinterfaces BidCos-RF,CUxD,HmIP-RF,VirtualDevices

CUxD gibt folgende Meldung aus "HMCCU: Illegal RPC interface CUxD" aus
VirtualDevices gibt folgende Meldung aus "HMCCU: No devices assigned to interface VirtualDevices"

Im Wiki steht das nur die Schnittstellen zur Verfügung gestellt werden, die auch benutzt werden. Da ich nur einen einfachen Homematic Taster im Raspmatic angelernt habe, habe ich nur BidCos gesetzt. Ab wann und wofür ich CUxD brauche habe ich nicht verstanden. Ich glaube das ist für zusätzliche Sender/Empfänger über USB z.B. für FS20. Wenn ich mich irre, bitte berichtigen.

Das List von dem Gerät sieht dann so aus:
Internals:
   CCUNum     1
   Clients    :HMCCUDEV:HMCCUCHN:HMCCURPC:HMCCURPCPROC:
   DEF        192.168.188.49
   FUUID      5e44479a-f33f-194a-21fe-ed4054a214d3cee8
   NAME       d_ccu
   NOTIFYDEV  global,TYPE=(HMCCU|HMCCUDEV|HMCCUCHN)
   NR         242
   NTFY_ORDER 50-d_ccu
   RPCState   running
   STATE      running/OK
   TYPE       HMCCU
   ccuaddr    BidCoS-RF
   ccuchannels 105
   ccudevices 3
   ccuif      BidCos-RF
   ccuinterfaces HmIP-RF,VirtualDevices,BidCos-RF
   ccuip      192.168.188.49
   ccuname    HM-RCV-50 BidCoS-RF
   ccustate   active
   ccutype    CCU2/3
   host       192.168.188.49
   prot       http
   version    4.3.019
   READINGS:
     2020-02-12 22:39:27   count_channels  105
     2020-02-12 22:39:27   count_devices   3
     2020-02-12 22:39:27   count_groups    0
     2020-02-12 22:39:27   count_interfaces 3
     2020-02-12 22:39:27   count_programs  0
     2020-02-12 21:32:37   rpcstate        running
     2020-02-12 22:39:27   state           OK
   hmccu:
     defInterface BidCos-RF
     defPort    2001
     evtime     0
     evtimeout  0
     rpccount   0
     rpcports   2001
     updatetime 1581543567
     adr:
       60_Taster_Tuer:
         address    QEQ1020357
         addtype    dev
         valid      1
       60_Taster_Tuer:0:
         address    QEQ1020357:0
         addtype    chn
         valid      1
       HM-RC-2-PBU-FM-2 QEQ1020357:1:
         address    QEQ1020357:1
         addtype    chn
         valid      1
       HM-RC-2-PBU-FM-2 QEQ1020357:2:
         address    QEQ1020357:2
         addtype    chn
         valid      1
       HM-RCV-50 BidCoS-RF:
         address    BidCoS-RF
         addtype    dev
         valid      1
       HM-RCV-50 BidCoS-RF:0:
         address    BidCoS-RF:0
         addtype    chn
         valid      1
       HM-RCV-50 BidCoS-RF:1:
         address    BidCoS-RF:1
         addtype    chn
         valid      1
     grp:
     ifports:
       2001       BidCos-RF
       2010       HmIP-RF
       9292       VirtualDevices
     interfaces:
       BidCos-RF:
         devcount   2
         flags      forceASCII
         host       192.168.188.49
         manager    null
         port       2001
         prot       http
         state      inactive
         type       A
         url        http://192.168.188.49:2001
       HmIP-RF:
         devcount   1
         flags      forceASCII
         host       192.168.188.49
         manager    null
         port       2010
         prot       http
         state      inactive
         type       A
         url        http://192.168.188.49:2010
       VirtualDevices:
         devcount   0
         flags      _
         host       192.168.188.49
         manager    null
         port       9292
         prot       http
         state      inactive
         type       A
         url        http://192.168.188.49:9292/groups
     prg:
     rpc:
Attributes:
   ccuaggregate name:battery,filter:name=^HM_.*,read:battery,if:any=low,else:ok,prefix:battery_,coll:comment!Batterien OK;
name:voltage,filter:type=(HM-CC-RT-DN|HM-TC-IT-WM-W-EU),read:BATTERY_STATE,if:le=2.2,else:0,prefix:voltage_,coll:comment!Batteriespannung OK;
name:lock,filter:name=^HM_TF.*,read:state,if:any=open,else:closed,prefix:lock_,coll:comment!Alle Fenster/Türen geschlossen;
name:lockroof,filter:group=Dachfenster,read:state,if:any=open,else:closed,prefix:lockroof_,coll:comment!Alle Dachfenster geschlossen;
name:lockwin,filter:name=^HM_TF.*!Haustuer$,read:state,if:any=open,else:closed,prefix:lockwin_,coll:comment!Alle Fenster/Türen geschlossen;
name:hummax,filter:name=^HM_KL.*,read:HUMIDITY,if:ge=60,else:0,prefix:hummax_,coll:alias!Luftfeuchte OK;
name:unreach,filter:name=^HM_.*,read:activity,if:any=dead,else:alive,prefix:unreach_,coll:comment!Alle Devices erreichbar
   ccudef-readingfilter ^(LOW_?BAT|UNREACH)$
   ccudef-readingname ^(.+\.)?LOW_?BAT$:battery;^(.+\.)?UNREACH$:activity
   ccudef-substitute AES_KEY!(0|false):off,(1|true):on;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;UNREACH!(0|false):alive,(1|true):dead;MOTION!(0|false):noMotion,(1|true):motion;DIRECTION!0:stop,1:up,2:down,3:undefined;WORKING!0:false,1:true;INHIBIT!(0|false):unlocked,(1|true):locked
   ccuflags   procrpc
   cmdIcon    on:general_an off:general_aus
   event-on-change-reading .*
   eventMap   /rpcserver on:on/rpcserver off:off/
   rpcinterfaces BidCos-RF
   rpcport    2001
   rpcserver  on
   stateFormat rpcstate/state
   stripnumber 1


Dann habe ich im RaspMatic einen einfangen 2 Kanal Taster (HM-RC-2-PBU-FM-2) angelernt und habe dem Gerät den Namen 60_Taster_Tuer gegeben.

Ein Get Device Info gibt folgendes aus:
CHN QEQ1020357:0 60_Taster_Tuer:0
  DPT {b} BidCos-RF.QEQ1020357:0.UNREACH = false [RE]
  DPT {b} BidCos-RF.QEQ1020357:0.STICKY_UNREACH = false [RWE]
  DPT {b} BidCos-RF.QEQ1020357:0.CONFIG_PENDING = false [RE]
  DPT {n} BidCos-RF.QEQ1020357:0.RSSI_DEVICE = 1 [RE]
  DPT {n} BidCos-RF.QEQ1020357:0.RSSI_PEER = 188 [RE]
  DPT {b} BidCos-RF.QEQ1020357:0.DEVICE_IN_BOOTLOADER = false [RE]
  DPT {b} BidCos-RF.QEQ1020357:0.UPDATE_PENDING = false [RE]
  DPT {n} BidCos-RF.QEQ1020357:0.AES_KEY = 0 [R]
CHN QEQ1020357:1 HM-RC-2-PBU-FM-2 QEQ1020357:1
  DPT {b} BidCos-RF.QEQ1020357:1.PRESS_SHORT = false [WE]
  DPT {b} BidCos-RF.QEQ1020357:1.PRESS_LONG = false [WE]
  DPT {b} BidCos-RF.QEQ1020357:1.INSTALL_TEST = false [E]
  DPT {b} BidCos-RF.QEQ1020357:1.PRESS_CONT = false [E]
  DPT {b} BidCos-RF.QEQ1020357:1.PRESS_LONG_RELEASE = false [E]
CHN QEQ1020357:2 HM-RC-2-PBU-FM-2 QEQ1020357:2
  DPT {b} BidCos-RF.QEQ1020357:2.PRESS_SHORT = false [WE]
  DPT {b} BidCos-RF.QEQ1020357:2.PRESS_LONG = false [WE]
  DPT {b} BidCos-RF.QEQ1020357:2.INSTALL_TEST = false [E]
  DPT {b} BidCos-RF.QEQ1020357:2.PRESS_CONT = false [E]
  DPT {b} BidCos-RF.QEQ1020357:2.PRESS_LONG_RELEASE = false [E]


Jetzt habe ich Möglichkeit HMCCUCHN oder HMCCUDEV zu verwenden. Da der Taster 2 Kanäle, und dort jeweils langen und kurzen Tastendruck unterstützt, und ich dieses auch nutzen möchte, wollte ich den Taster mit HMCCUDEV definieren.

Dazu habe ich das Gerät wie folgt definiert:
define 60_Taster_Tuer HMCCUDEV 60_Taster_Tuer

Und ab hier stecke ich fest. Ich habe das Gerät angelegt und habe einfach keine Readings.

Internals:
   CFGFN     
   DEF        60_Taster_Tuer
   FUUID      5e4464e2-f33f-194a-7674-a19733e02dd73aef
   IODev      d_ccu
   NAME       60_Taster_Tuer
   NR         894
   STATE      Initialized
   TYPE       HMCCUDEV
   ccuaddr    QEQ1020357
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    60_Taster_Tuer
   ccutype    HM-RC-2-PBU-FM-2
   channels   3
   statevals  devstate
   READINGS:
     2020-02-12 22:00:40   R-DEVICE_LED_MODE 0
     2020-02-12 22:00:40   R-LOCAL_RESET_DISABLE 0
     2020-02-12 22:04:13   hmstate         Initialized
     2020-02-12 21:49:38   state           Initialized
   hmccu:
     devspec    60_Taster_Tuer
     dp:
       0.AES_KEY:
         OVAL       0
         VAL        0
       1.INSTALL_TEST:
         OVAL       1
         VAL        1
       1.PRESS_CONT:
         OVAL       1
         VAL        1
       1.PRESS_LONG:
         OVAL       1
         VAL        1
       1.PRESS_LONG_RELEASE:
         OVAL       1
         VAL        1
       1.PRESS_SHORT:
         OVAL       1
         VAL        1
       2.INSTALL_TEST:
         OVAL       1
         VAL        1
       2.PRESS_SHORT:
         OVAL       1
         VAL        1
Attributes:
   IODev      d_ccu
   room       60_Schlafzimmer


Beim Tastendruck (egal welche Taste) kommt folgendes Event:
2020-02-12_22:04:13 60_Taster_Tuer hmstate: Initialized

Ich hatte die Hoffnung das Gesamte Gerät mit HMCCUDEV  einbinden zu können. Oder muss ich mit HMCCUCHN die zwei Kanäle einzeln einbinden?

Viele Grüße