HM-PB-2 an FHEM: Pairing geht nicht

Begonnen von LCN-User, 12 Mai 2013, 09:07:18

Vorheriges Thema - Nächstes Thema

LCN-User

Hallo,

es gelingt mir nicht, einen 2fach-Taster an FHEM anzulernen.

Nach set hmPairForSec 300 und Drücken der Anmeldetaste am HM-PB-2 blinkt die grüne LED ca. 3 sek sehr schnell und geht dann aus. In FHEM ist dann zwar unter CUL_HM ein neues Device zu finden, aber bei einem Tastendruck leuchtet die LED nur gelb. Im Event-Monitor sehe ich
2013-05-12 09:02:09 CUL_HM CUL_HM_HM_PB_2_WM55_178997_Btn_02 Short (to broadcast)
2013-05-12 09:02:09 CUL_HM CUL_HM_HM_PB_2_WM55_178997_Btn_02 trigger: Short_10
2013-05-12 09:02:09 CUL_HM CUL_HM_HM_PB_2_WM55_178997 battery: ok
2013-05-12 09:02:09 CUL_HM CUL_HM_HM_PB_2_WM55_178997 CUL_HM_HM_PB_2_WM55_178997_Btn_02 Short (to broadcast)


Ich habe jetzt schon alles mögliche mit Dutzenden von Resets probiert - es bleibt dabei, daß die Tastendrücke nicht bestätigt werden.

Ich bin ja sicher nicht der Einzige, der einen Taster einsetzt. Kann ich irgendetwas anders machen. Die Firmware ist übrigens 1.0, was relativ alt erscheint.

Gruß,
LCN-User

martinp876

Hi LCN-User,

Du hast dein DEVICE PB-2 mit FHEM gepairt.
Du hast den CHANNELS es PB-2 keinen peer zugewiesen.

Wenn dir der Unterschied CHANNEL/DEVICE und peer/pair nicht klar ist schau mal ins EinsteigerDoc.

Der Channel sendet jetzt seinen Trigger an alle (broadcast) und erwartet keine Antwort (hat ja keinen Peer).
Sollte er auf eine Antwort warten (nur wenn gepeert) dann wird er gruen wenn antwort und rot wenn nicht.

Also legen erst einmal zu jeden Channel des PB die peers fest und weise sie mit peerChan zu. Dann klappts auch.

Gruss Martin

LCN-User

Hallo Martin,

erst einmal danke für die ausführliche Antwort.
Zitat von: martinp876 schrieb am Mo, 13 Mai 2013 09:20Du hast den CHANNELS es PB-2 keinen peer zugewiesen.
Wenn dir der Unterschied CHANNEL/DEVICE und peer/pair nicht klar ist schau mal ins EinsteigerDoc.
Doch, inzwischen schon. Da aber meine Drehgriffe ohne weiteres manuelles Zutun ins System eingebunden worden sind, bin ich einfach naiverweise davon ausgegangen, dass das hier nicht anders ist.

ZitatAlso legen erst einmal zu jeden Channel des PB die peers fest und weise sie mit peerChan zu. Dann klappts auch.
Jetzt erst einmal ein paar Tage auf Dienstreise. Gegen Ende der Woche fixe ich das dannentsprechend deinen Hinweisen..

VG,
LCN-User

martinp876

Hi LCN-User,

ZitatDoch, inzwischen schon. Da aber meine Drehgriffe ohne weiteres manuelles Zutun ins System eingebunden worden sind, bin ich einfach naiverweise davon ausgegangen, dass das hier nicht anders ist.
Aufpassen: Nur weil die Entity angelegt ist, ist es noch nicht gepairt. Lese die Konfiguration aus und pruefen es. FHEM legt das Device an, immer wenn anlernen erkannt wird. Pairen aber nur auf User-Kommando!

Gruss Martin

LCN-User

Zitat von: martinp876 schrieb am Mo, 13 Mai 2013 15:52Hi LCN-User,
Aufpassen: Nur weil die Entity angelegt ist, ist es noch nicht gepairt. Lese die Konfiguration aus und pruefen es. FHEM legt das Device an, immer wenn anlernen erkannt wird. Pairen aber nur auf User-Kommando!
Aber sicher sind sie gepairt :-)  Auf aktives User-Kommando hin.

LCN-User

Moin,

inzwischen von der Reise zurück und den - ziemlich technischen - HM-Teil der Einführung gelesen.

Also, peeren ist nicht. Ich habe keinerlei Aktor, mit dem ich den Taster verknüpfen könnte. Stattdessen wollte ich eigentlich den Tastendruck innerhalb von FHEM auswerten und daraufhin einen Befehl an mein Bussystem absetzen. Also habe ich einfach mal einen simplen dummy definiert und versucht den Taster damit zu peeren, was nicht geht.

Benötige ich wirklich einen physisch vorhandenen Aktor oder geht das auch anders?

Grüße,
LCN-USer

LuckyDay

ZitatIch habe keinerlei Aktor, mit dem ich den Taster verknüpfen könnte

dann erstelle dir einen virtuellen aktor(hm-device) in fhem, mit dem du peerst

es gibt hier eindeutige threats zu dem thema, in der homematic-gruppe

lg

LCN-User

Hallo,

virt Aktor habe ich angelegt und den einen Button mit peerChan angebunden. Beim Tastendruck bekomme ich jetzt immerhin ein rotes Licht :-)

list liefert Folgendes:
Internals:
   DEF        111111
   IODev      HMLAN1
   NAME       virt_Btn01
   NR         198
   NTFY_TRIGGERTIME 2013-05-17 20:20:26
   STATE      RESPONSE TIMEOUT:RegisterRead
   TYPE       CUL_HM
   protCmdDel 1
   protResnd  20 last_at:2013-05-17 20:20:20
   protResndFail 6 last_at:2013-05-17 20:20:26
   protSnd    6 last_at:2013-05-17 20:20:00
   protState  CMDs_done_events:10
   Readings:
     2013-05-17 20:20:26   state           RESPONSE TIMEOUT:RegisterRead
     Regl_00::
       VAL        
   Helper:
     burstEvtCnt 10
     rxType     1
     Respwait:
     Role:
       chn        1
       dev        1
Attributes:
   expert     2_full
   model      virtual_1
   peerIDs


Das sagt mir jetzt nicht all zuviel und auch aus dem Manual werde ich nicht wirklich schlau.

Grüße, LCN-User

martinp876

Hi LCN-User,

wolltest du die Register des virtuellen Aktors lesen? Der hat keine.
Du hast den Button mit dem virtuellen Aktor gepeert (glaube ich, Daten hast du keine geschickt). Der Button will also vom virt_Btn01 eine Antwort.

Umgekehrt ist der virtuelle Aktor virt_Btn01 aber nicht mit dem Button gepeert. Entweder hast du ihn nicht gepeert oder nach dem peeren nicht gespeichert.
Du kannst noch einmal peerChan machen (mit paramter "actor", dann wird am Button nichts geaendert). Dann sollte die korrekte hmID in peerIDs stehen.
save nicht vergessen. Danach antwortet FHEM und der Button wird gruen
Gruss Martin

LCN-User

Hallo Martin,

ZitatDu hast den Button mit dem virtuellen Aktor gepeert (glaube ich, Daten hast du keine geschickt). Der Button will also vom virt_Btn01 eine Antwort. Umgekehrt ist der virtuelle Aktor virt_Btn01 aber nicht mit dem Button gepeert.
Sollte das ein Automatismus sein?
ZitatDu kannst noch einmal peerChan machen (mit paramter "actor", dann wird am Button nichts geaendert). Dann sollte die korrekte hmID in peerIDs stehen.
Der Befehl set EG.ku.Taster.Btn1 peerChan 0 virtBtn01 single set actor wird angenommen, aber es kommt weiterhin keine Bestätigung des Tastendrucks. Der state des virtuellen Aktors sagt jetzt MISSING ACK, die peerID des Aktors bleibt leer.

Für den Taster lese ich unter den readings state  Short (to virt_Btn01), aber es gibt keine zugehörige peerID. Also habe ich vermutlich beim virtuellen Aktor etwas nicht richtig gemacht. Das sieht im Moment so aus:
define virt_Btn01 CUL_HM 111111
attr virt_Btn01 expert 2_full
attr virt_Btn01 model virtual_1
attr virt_Btn01 peerIDs
attr virt_Btn01 room Küche

Braucht es etwas anderes?

Schöne Grüße,
LCN-User

martinp876

hi,
sicher ein tipfehler, dass der Unterstrich fehlt
set EG.ku.Taster.Btn1 peerChan 0 virt_Btn01 single set actor

Nach dem Kommando muss im Attribut peerIDs des virt_Btn01 die HMID des EG.ku.Taster.Btn1 auftauchen. Wenn du NICHT speicherst und FHEM neu startest ist es wieder weg. Aber so lange muss es da sein.

Schaue mit
list virt_Btn01
nach. Habe es noch einmal getestet, bei mir klappt es.

Gruss
Martin

LCN-User

Hallo Martin,

nein, der fehlende Unterstrich ist kein Tippfehler. Ich habe den Kanal wirklich so benannt.

Also, Befehl erneut ausgeführt und dann list virt_Btn01 eingegeben: das Feld peerID bleibt leer!

list virt:
Internals:
   DEF        111111
   IODev      HMLAN1
   NAME       virt_Btn01
   NR         198
   NTFY_TRIGGERTIME 2013-05-19 19:08:56
   STATE      MISSING ACK
   TYPE       CUL_HM
   protCmdDel 1
   protResnd  8 last_at:2013-05-19 19:08:53
   protResndFail 4 last_at:2013-05-19 19:08:56
   protSnd    4 last_at:2013-05-19 19:08:44
   protState  CMDs_done_events:3
   Readings:
     2013-05-17 20:37:46   RegL_00:        0
     2013-05-19 19:08:56   state           MISSING ACK
   Helper:
     burstEvtCnt 3
     rxType     1
     Role:
       chn        1
       dev        1
Attributes:
   expert     2_full
   model      virtual_1
   peerIDs    
   room       Küche

martinp876

Der Unterstrich hat im Kommando gefehlt. hast du ihn da jetzt reingenommen?
set EG.ku.Taster.Btn1 peerChan 0 virt_Btn01 single set actor


LCN-User

Ach der Unterstrich. Ja, den habe ich drin (würde doch ohnehin sofort vom Compiler angemeckert werden?).