rdmtc / RedMatic

Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic 🤹‍♂️
Apache License 2.0
534 stars 47 forks source link

Keine RPC Events von Virtuelle Tasten (Typ: HM-RCV-50) mit Direktverknüpfungen empfangen #77

Closed drose28357 closed 5 years ago

drose28357 commented 5 years ago

Es ist nicht möglich, einen RPC-Event von einer virtuellen Taste zu empfangen (ausgabe im Debugfenster) , wenn diese virtuelle Taste über Direktverknüpfung z.B. mit Jalousie-Aktoren verknüpft ist. Im anliegenden Beispiel ist es die virtuelle Taste BidCos-RF:11.

[{"id":"51af2c5e.0d6484","type":"ccu-rpc-event","z":"5d68e9d1.2f6268","name":"catch Virtuelle Taste","iface":"BidCos-RF","ccuConfig":"38263145.35ea0e","rooms":"","roomsRx":"str","functions":"","functionsRx":"str","device":"BidCoS-RF","deviceRx":"str","deviceName":"","deviceNameRx":"str","deviceType":"","deviceTypeRx":"str","channel":"BidCoS-RF:11","channelRx":"str","channelName":"","channelNameRx":"str","channelType":"","channelTypeRx":"str","datapoint":"","datapointRx":"str","change":true,"working":false,"cache":false,"topic":"${CCU}/${Interface}/${channelName}/${datapoint}","x":366,"y":75,"wires":[["d6a448e9.69ce48"]]},{"id":"d6a448e9.69ce48","type":"debug","z":"5d68e9d1.2f6268","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":688,"y":105,"wires":[]},{"id":"38263145.35ea0e","type":"ccu-connection","z":"","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048"}]

Ein Test auf der virtuellen Taste BidCos-RF:8 ohne Direktverknüpfung funktioniert. RedMatic-Version 1.7.11

Das Schreiben eines PRESS_SHORT funktioniert auch nicht..

[{"id":"694fbbf1.b1f914","type":"ccu-set-value","z":"5d68e9d1.2f6268","name":"set Virtuelle Taste","iface":"BidCos-RF","ccuConfig":"38263145.35ea0e","rooms":"","roomsRx":"str","functions":"","functionsRx":"str","device":"BidCoS-RF","deviceRx":"str","deviceName":"","deviceNameRx":"str","deviceType":"","deviceTypeRx":"str","channel":"BidCoS-RF:11","channelRx":"str","channelName":"","channelNameRx":"str","channelType":"VIRTUAL_KEY","channelTypeRx":"str","datapoint":"PRESS_SHORT","datapointRx":"str","delay":"500","x":360,"y":169,"wires":[]},{"id":"47661f81.930ae","type":"inject","z":"5d68e9d1.2f6268","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":73,"y":170,"wires":[["694fbbf1.b1f914"]]},{"id":"38263145.35ea0e","type":"ccu-connection","z":"","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048"}]
hobbyquaker commented 5 years ago

Das "drücken" der Taste war glaube ich ein Bug im "set value" Node bei der Filterung nach Interface. Sollte aber in RedMatic 1.7.13 bzw. node-red-contrib-ccu 1.6.20 gefixt sein.

hobbyquaker commented 5 years ago

Das mit dem RPC Event habe ich eben nochmal versucht zu reproduzieren - erfolglos - Bei mir kommen auch Events von verknüpften Tasten an. Betrifft das bei Dir nur den "rpc event" Node oder fehlt der Event von der Taste 11 auch wenn Du stattdessen den "value" Node nutzt?

hobbyquaker commented 5 years ago

Und noch ein Hinweis: der "set value" Node ist eigentlich dazu gedacht mehrere Datenpunkte gleichzeitig zu beschreiben. Wenn Du nur eine Taste drücken willst ist der "value" Node die bessere Wahl.

drose28357 commented 5 years ago

mit 1.7.13 hab ich es gerade gestestet. Es werden jetzt Nachrichten angezeigt. Allerdings erscheinen die Nachrichten doppelt.

28.10.2018, 21:44:48node: d6a448e9.69ce48
localhost/BidCos-RF/V_Jal_runter:11/PRESS_SHORT : msg.payload : boolean
true
28.10.2018, 21:44:48node: 8f2fda1.2ae7628
localhost/BidCos-RF/BidCoS-RF:11/PRESS_SHORT : msg.payload : boolean
true

Das auslösen der Virtuellen Taste mit einem injektor funktioniert jetzt auch.

Insofern: Issue schon gelöst. Sorry for the noice.

hobbyquaker commented 5 years ago

Kein Ding, brauchst Dich nicht entschuldigen :) Hmmm... Das die Events doppelt reinkommen liegt glaube ich daran dass Du grade 2 Nodes hast die den Event abonnieren und auf einen Debug knoten schicken (ersichtlich an den unterschiedlichen Node IDs d6a448e9.69ce48 und 8f2fda1.2ae7628). Falls das nicht der Fall ist - teste mal ob diese Dopplung nach einem Neustart von RedMatic verschwindet, vll lungert da auch noch ein Event-Listener von einem bereits gelöschten Node rum.

drose28357 commented 5 years ago

"Wenn Du nur eine Taste drücken willst ist der "value" Node die bessere Wahl." Das entsprechend deinem Flow funktioniert auch. Nur wieder mit Ausgabe von zwei Messages.

Mist, my bad: Ich hatte zwei Flows parallel mit jeweils einem Debug-Element auf der gleichen virtuellen Taste. Daher zwei Messages im debug Fenster.

Jetz ist es also vollständig gelöst ;-)