[gelöst]Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

drose28357
Beiträge: 185
Registriert: 14.10.2011, 09:05
System: CCU
Wohnort: Bremen
Hat sich bedankt: 61 Mal
Danksagung erhalten: 7 Mal

[gelöst]Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von drose28357 » 27.10.2018, 14:05

RedMatic macht echt Spass und wirkt so spielerisch. Aber der Teufel steckt anscheinend im Detail...

Leider habe ich es noch nicht geschafft, einen Tastendruck einer virtuellen Taste der Zentrale (alle Jalousien runter) zu empfangen oder auszulösen.
Anscheinend setzt ich die Attribute nicht korrekt.

Code: Alles auswählen

[{"id":"53c605d0.7b906c","type":"ccu-rpc-event","z":"b5373d6e.8ce46","name":"catch Virtuelle Taste","iface":"BidCos-RF","ccuConfig":"38263145.35ea0e","rooms":"","roomsRx":"str","functions":"","functionsRx":"str","device":"BidCoS-RF","deviceRx":"str","deviceName":"Zentrale-Funk","deviceNameRx":"str","deviceType":"HM-RCV-50","deviceTypeRx":"str","channel":"BidCoS-RF:11","channelRx":"str","channelName":"","channelNameRx":"str","channelType":"VIRTUAL_KEY","channelTypeRx":"str","datapoint":"PRESS_SHORT","datapointRx":"str","change":true,"working":false,"cache":false,"topic":"${CCU}/${Interface}/${channelName}/${datapoint}","x":464,"y":633,"wires":[["1407a196.7532ee"]]},{"id":"1407a196.7532ee","type":"debug","z":"b5373d6e.8ce46","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":786,"y":663,"wires":[]},{"id":"299ee1d6.8848ee","type":"inject","z":"b5373d6e.8ce46","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":171,"y":728,"wires":[["37b868f6.9371d8"]]},{"id":"37b868f6.9371d8","type":"ccu-set-value","z":"b5373d6e.8ce46","name":"set Virtuelle Taste","iface":"BidCos-RF","ccuConfig":"38263145.35ea0e","rooms":"","roomsRx":"str","functions":"","functionsRx":"str","device":"BidCoS-RF","deviceRx":"str","deviceName":"Zentrale-Funk","deviceNameRx":"str","deviceType":"HM-RCV-50","deviceTypeRx":"str","channel":"BidCoS-RF:11","channelRx":"str","channelName":"","channelNameRx":"str","channelType":"VIRTUAL_KEY","channelTypeRx":"str","datapoint":"PRESS_SHORT","datapointRx":"str","delay":"500","x":458,"y":727,"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"}]
Hat jemand einen Vorschlag, wo ich komplett in der Configurtion des RPC-Nodes daneben liege ? Habe bisher keinen einzigen Event in den Debug-Node bekommen.

Ich kann natürlich alle (!!!!) Events aus dem RPC fangen und sehe die auch im Debug-Fenster, nur die "Virtuellen" Event sind nicht dabei...
(Sieht jedenfalls lustig aus, wenn mit einem virt. Tastendruck alle 14 Jalousien hoch fahren !)

Code: Alles auswählen

[
{"id":"72a48746.8ff508","type":"ccu-rpc-event","z":"b5373d6e.8ce46","name":"","iface":"BidCos-RF","ccuConfig":"38263145.35ea0e","rooms":"","roomsRx":"str","functions":"","functionsRx":"str","device":"","deviceRx":"str","deviceName":"","deviceNameRx":"str","deviceType":"","deviceTypeRx":"str","channel":"","channelRx":"str","channelName":"","channelNameRx":"str","channelType":"","channelTypeRx":"str","datapoint":"","datapointRx":"str","change":true,"working":false,"cache":false,"topic":"${CCU}/${Interface}/${channelName}/${datapoint}","x":441,"y":834,"wires":[["1407a196.7532ee"]]},
{"id":"1407a196.7532ee","type":"debug","z":"b5373d6e.8ce46","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":786,"y":663,"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"}
]
Zuletzt geändert von drose28357 am 29.10.2018, 16:13, insgesamt 1-mal geändert.
RaspberryMatic auf Raspberry Pi 4 2Gbyte

drose28357
Beiträge: 185
Registriert: 14.10.2011, 09:05
System: CCU
Wohnort: Bremen
Hat sich bedankt: 61 Mal
Danksagung erhalten: 7 Mal

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von drose28357 » 27.10.2018, 14:40

Hab noch ein wenig mit trial and error herumexperimentiert.
Ich habe hinter dem "V_Jal_runter:11" über direkte Verknüpfungen alle Jalousien-Aktoren angesteuert. Damit kann ich per Programm oder per Taster das Szenario "alle Jalousien runter" sehr einfach auslösen und alle Jalousien laufen gleichzeitig los.

Wenn ich den RPC-Node so auf einen nicht verknüpften virtuellen Kanal "BidCoS-RF:8" konfiguriere, bekomme ich die passenden Event im Debug-Fenster:

Code: Alles auswählen

[{"id":"72a48746.8ff508","type":"ccu-rpc-event","z":"b5373d6e.8ce46","name":"","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:8","channelRx":"str","channelName":"",

"channelNameRx":"str","channelType":"","channelTypeRx":"str","datapoint":"","datapointRx":"str","change":true,"working":false,"cache":false,"topic":"${CCU}/${Interface}/${channelName}/${datapoint}","x":444,"y":833,"wires":[["1407a196.7532ee"]]},{"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"}]
und im Protokoll steht dann :

Code: Alles auswählen

27.10.2018, 14:38:21node: 1407a196.7532ee
localhost/BidCos-RF/HM-RCV-50 BidCoS-RF:8/PRESS_SHORT : msg.payload : boolean
true
Sobald ich da auf den Kanal 11 ändere (der mit den Direktverknüpfungen) kann ich nichts mehr empfangen.

Ist das ein Bug im RPC-Node ?

Auffällig ist, das in dem Template im Topic "${CCU}/${Interface}/${channelName}/${datapoint}"
für den Channel dieses steht "HM-RCV-50 BidCoS-RF:8", also eine Verknüpfung aus Gerät und Kanalname ???
RaspberryMatic auf Raspberry Pi 4 2Gbyte

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von hobbyquaker » 27.10.2018, 14:48

Hab's eben kurz angeschaut, da gibts möglicherweise noch Bugs. Versuch mal bitte im RPC Event Node nur auf das notwendigste zu Filtern (alles außer Interface, Channel und Datapoint leer lassen), das könnte erstmal ein Workaround für Problem dass die Events nicht reinkommen sein. Was im setValue Node schief läuft muss ich noch rausfinden.

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von hobbyquaker » 27.10.2018, 14:52

Unabhängig davon dass ich da wohl noch was zu fixen hab beim RPC Event und setValue Node hier mal ein Flow der funktionieren sollte (nutzt den Value Node anstatt RPC Event und setValue)

Code: Alles auswählen

[{"id":"a9087f70.e6891","type":"debug","z":"3ecc67d2.0c2e28","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":470,"y":440,"wires":[]},{"id":"b87463da.754f7","type":"inject","z":"3ecc67d2.0c2e28","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":320,"wires":[["4dace4b4.83e17c"]]},{"id":"4dace4b4.83e17c","type":"ccu-value","z":"3ecc67d2.0c2e28","name":"BidCoS-RF:11","iface":"BidCos-RF","channel":"BidCoS-RF:11","datapoint":"PRESS_SHORT","mode":"","start":true,"change":true,"cache":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":280,"y":380,"wires":[["a9087f70.e6891"]]},{"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"}]
https://github.com/hobbyquaker/node-red ... /issues/26
https://github.com/hobbyquaker/node-red ... /issues/25

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von hobbyquaker » 27.10.2018, 15:03

Ah, und Danke für Deine Aktivitäten im Wiki! :)

drose28357
Beiträge: 185
Registriert: 14.10.2011, 09:05
System: CCU
Wohnort: Bremen
Hat sich bedankt: 61 Mal
Danksagung erhalten: 7 Mal

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von drose28357 » 27.10.2018, 20:25

hobbyquaker hat geschrieben:
27.10.2018, 14:48
Versuch mal bitte im RPC Event Node nur auf das notwendigste zu Filtern (alles außer Interface, Channel und Datapoint leer lassen)...
Hab nur Interface auf "BidCos-RF" und Channel auf "BidCoS-RF:11" gesetzt. Sonst alles leer ! Selbst dann kommen die Events für den direktverknüpften Channel nicht an. Nehme ich Channel = "BidCoS-RF:8" (ohne direktverknüpfung), dann kommen im debug-fenster die payloads press_short und press_long.

Deine Alternative probier ich mal aus.
Was ich auch noch ausprobieren kann, ist ein Event von einem physischem Taster mit Direktverknüpfung. Vielleicht gibt es Probleme mit dem virtuell ...
RaspberryMatic auf Raspberry Pi 4 2Gbyte

drose28357
Beiträge: 185
Registriert: 14.10.2011, 09:05
System: CCU
Wohnort: Bremen
Hat sich bedankt: 61 Mal
Danksagung erhalten: 7 Mal

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von drose28357 » 27.10.2018, 20:38

Hier das Testergebnis:
Es gibt eine Direkt-Verknüpfung zwischen Taste 1 von einem 6-fach-Taster "HM-PB-6-WM55" auf ein einen 2-Fach-Schaltaktor "HM-LC-Sw2-FM".

Im RPC habe ich nur Interface="BidCos-RF", device= "KEQ0116672" (6-Fach-Taster) und channel="KEQ0116672:1" eingetragen.

Wenn ich auf den Taster drücke, erhalte ich folgende Debug-Message :

Code: Alles auswählen

27.10.2018, 20:28:27node: 1407a196.7532ee
localhost/BidCos-RF/WS-SZ-Ditmar:1/INSTALL_TEST : msg.payload : boolean
true
Wenn ich auf dem WebUI von Raspberrymatic den press-short auslöse, erhalte ich diese

Code: Alles auswählen

27.10.2018, 20:29:50node: 1407a196.7532ee
localhost/BidCos-RF/WS-SZ-Ditmar:1/PRESS_SHORT : msg.payload : boolean
true
Obwohl ich jeweils einen press_short auslöse, erhalte ich verschiedene Debug-Informationen.
Interessant ist auch, das beim direkten Auslösen ein "INSTALL_TEST" gemeldet wird.
Nun ist es natürlich so, das bei einer Direktverknüpfung eines Tasters mit einem Aktor eigentlich keine Zentrale eingebunden sein soll. Haben wir hier falsche Erwartungen ? :shock:
RaspberryMatic auf Raspberry Pi 4 2Gbyte

drose28357
Beiträge: 185
Registriert: 14.10.2011, 09:05
System: CCU
Wohnort: Bremen
Hat sich bedankt: 61 Mal
Danksagung erhalten: 7 Mal

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von drose28357 » 27.10.2018, 20:46

hobbyquaker hat geschrieben:
27.10.2018, 14:52
... hier mal ein Flow der funktionieren sollte (nutzt den Value Node anstatt RPC Event und setValue)
In Deiner Version steht im Channel "BidCos-RF:11", dann kommt beim mir der Fehler

Code: Alles auswählen

27.10.2018, 20:41:38node: localhost
msg : string[77]
"rpc > BidCos-RF setValue ["BidCoS-RF:11","PRESS_SHORT",true] < Error: Failure"
Ändere ich den Channel auf "BidCoS-RF:11 V_Jal_runter:11" (so wird er in der drop-down-Liste angeboten), dann kommt

Code: Alles auswählen

27.10.2018, 20:44:33node: 8353d3aa.e5bdc
localhost/BidCos-RF/BidCoS-RF:11/PRESS_SHORT : msg.payload : boolean
true
Das sieht vernünftiger aus. Irgendetwas kommt mit Channel und Channelname = "V_Jal_runter:11" durcheinander.
Auch wird das Szenario korrekt ausgelöst
Zuletzt geändert von drose28357 am 27.10.2018, 20:49, insgesamt 1-mal geändert.
RaspberryMatic auf Raspberry Pi 4 2Gbyte

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von hobbyquaker » 27.10.2018, 20:49

Wenn nur INSTALL_TEST kommt und kein PRESS_* läufst Du vielleicht in die "reportValueUsage"-Thematik rein. Schau mal zu dem Thema hier: https://github.com/hobbyquaker/RedMatic/issues/61
Das betrifft aber soweit ich weiss nur BidCos-RF Geräte, virtuelle Tasten sollten (soweit ich weiss) kein reportValueUsage brauchen.

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Event von oder an Virtuelle Tasten senden (Typ: HM-RCV-50)

Beitrag von hobbyquaker » 27.10.2018, 20:50

drose28357 hat geschrieben:
27.10.2018, 20:46
Irgendetwas kommt mit Channel und Channelname = "V_Jal_runter:11"
Das könnte vll an meinem Flow Export liegen. Bei mir heisst der Kanal ja nicht V_Jal_runter ;-)

Antworten

Zurück zu „RedMatic“