Diskussion:HM-RC-12 Funkfernbedienung 12 Tasten: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:
Dies erzeugt zunächst Buttons,hier z.B. HMvirtual_Btn1 bis ~y
Dies erzeugt zunächst Buttons,hier z.B. HMvirtual_Btn1 bis ~y


3. Jetzt klappt das peeren (!) mit
5. Nun sollte man den Button noch umbenennen oder dem Gerät einen anderen Typ geben, denn das Peeren eines realen Buttons mit einem virtuellen Button macht wenig Sinn, auch wenn es funktioniert. Das Ändern des Devices oder des Kanals in einen Switch ist jedoch nicht einmal erforderlich. (zumindest funktioniert es bei mir??)
   set {buttonchn} peerChan 0 HMvirtual_Btn1 single set [remote] # für virt. Kanal 1
   rename HMvirtual_Btn1 HMvirtual_ACK1 # Bennenung als ACK-Sender


Lässt man remote weg, wird der virtuelle Aktor sofort ein ACK senden, sobald die FB-Taste gedrückt wird.
6. Jetzt klappt das peeren (!) mit
  set {buttonchn} peerChan 0 HMvirtual_ACK1 single set [remote] # für virt. Kanal 1


Natürlich kann man den Button vorher noch umbenennen. Das Ändern des Devices oder des Kanals in einen Switch ist nicht einmal erforderlich. ??
Lässt man remote weg, wird der virtuelle Aktor sofort ein ACK senden, sobald die FB-Taste gedrückt wird. Anderenfalls muss man sich selbst um die Erzeugung einer ACK-Nachricht kümmern.




Zeile 30: Zeile 31:
C) Alternative Lösung zur Statusrückmeldung per LED:
C) Alternative Lösung zur Statusrückmeldung per LED:
Wenn man im virtuellen Aktor per  
Wenn man im virtuellen Aktor per  
     attr HMvirtual_Btn1 peerIDs (dummy-ID) # dummy-ID kann fehlerhaft sein
     attr HMvirtual_ACK1 peerIDs (dummy-ID) # dummy-ID kann fehlerhaft sein
das peering ändert (etwa per notify als Reaktion auf eine Zustandsänderung), sendet FHEM das ACK ins Nirwana und die Fernbedienungs-LED leuchtet rot.
das peering ändert (etwa per notify als Reaktion auf eine Zustandsänderung), sendet FHEM das ACK ins Nirwana und die Fernbedienungs-LED leuchtet rot.
Mit
Mit
     attr HMvirtual_Btn1 peerIDs (buttonchn-ID) # die FHEM-interne ID des Buttonchannels (nicht der Klarname)
     attr HMvirtual_ACK1 peerIDs (buttonchn-ID) # die FHEM-interne ID des Buttonchannels (nicht der Klarname)
wird das beabsichtigte Peering wiederhergestellt und das ACK bewirkt ein grünes Leuchten der LED.
wird das beabsichtigte Peering wiederhergestellt und das ACK bewirkt ein grünes Leuchten der LED.
So lässt sich bspw. eine Taste z.B. als Zustandsabfrage benutzen und über langen Tastendruck etwa per notify eine Schaltaktion auslösen.
So lässt sich bspw. eine Taste z.B. als Zustandsabfrage benutzen und über langen Tastendruck etwa per notify eine Schaltaktion auslösen.
Beachte: Diese Manipulation funktioniert nur mit FHEM-internen Dummies, da reale Komponenten das Peering hardwareintern speichern und einsetzen.

Version vom 14. April 2014, 08:46 Uhr

Zur Anleitung zum "Pairen" mit einem virtuellen Aktor ("Pairing an fhem-dummy"):

A) ich meine, wir sprechen hier inzwischen vom Peeren - ?


B) Die Befehlsstruktur von FHEM scheint sich mittlerweile an manchen Stellen geändert zu haben:

1. hmClass ist nicht mehr definiert, Fehlermeldung

2. Das Kommando “devicepair“ gibt es nicht mehr, es wurde durch das gleichsyntaktische „peerChan“ ersetzt

3. Das Pairen mit einem Aktor+Channel in einer Entity klappte hier nicht. Es ist besser, einen virtuellen Kanal anzulegen.

4. Dieser Kanal ist jedoch nicht anlegbar, wenn das virtuelle Device bereits „subType = switch“ ist. Richtig ist also aus meiner Sicht

  define HMvirtual CUL_HM XXXXXX # gültige, freie HM-ID, sechstellige Hex-Zahl, Großbuchstaben
  set HMvirtual virtual y # Anzahl benötigter Kanäle, meist reicht ja einer 

Dies erzeugt zunächst Buttons,hier z.B. HMvirtual_Btn1 bis ~y

5. Nun sollte man den Button noch umbenennen oder dem Gerät einen anderen Typ geben, denn das Peeren eines realen Buttons mit einem virtuellen Button macht wenig Sinn, auch wenn es funktioniert. Das Ändern des Devices oder des Kanals in einen Switch ist jedoch nicht einmal erforderlich. (zumindest funktioniert es bei mir??)

  rename HMvirtual_Btn1 HMvirtual_ACK1 # Bennenung als ACK-Sender

6. Jetzt klappt das peeren (!) mit

  set {buttonchn} peerChan 0 HMvirtual_ACK1 single set [remote] # für virt. Kanal 1

Lässt man remote weg, wird der virtuelle Aktor sofort ein ACK senden, sobald die FB-Taste gedrückt wird. Anderenfalls muss man sich selbst um die Erzeugung einer ACK-Nachricht kümmern.


C) Alternative Lösung zur Statusrückmeldung per LED: Wenn man im virtuellen Aktor per

   attr HMvirtual_ACK1 peerIDs (dummy-ID) # dummy-ID kann fehlerhaft sein

das peering ändert (etwa per notify als Reaktion auf eine Zustandsänderung), sendet FHEM das ACK ins Nirwana und die Fernbedienungs-LED leuchtet rot. Mit

   attr HMvirtual_ACK1 peerIDs (buttonchn-ID) # die FHEM-interne ID des Buttonchannels (nicht der Klarname)

wird das beabsichtigte Peering wiederhergestellt und das ACK bewirkt ein grünes Leuchten der LED. So lässt sich bspw. eine Taste z.B. als Zustandsabfrage benutzen und über langen Tastendruck etwa per notify eine Schaltaktion auslösen.

Beachte: Diese Manipulation funktioniert nur mit FHEM-internen Dummies, da reale Komponenten das Peering hardwareintern speichern und einsetzen.