neue 4 Tasten Fernbedienung HM-RC-4-2, HM-RC-Key4-2, HM-RC-Sec4-2

Begonnen von Kunibert, 28 Mai 2013, 23:11:34

Vorheriges Thema - Nächstes Thema

Kunibert

Hallo miteinander,

habe heute die neue 4 Tasten Fernbedienung bekommen. Gibt es dazu schon eine HMConfig.pm und wenn ja, wo ist sie zu finden?

Interessant wäre auch eine Anleitung, wie man neue Geräte in die HMConfig.pm einbindet.

Gruß,
Kunibert

martinp876

Hallo Kunibert,

nein, diese FBs habe ich noch nicht gesehen.

Anleitungen zum code-schreiben in FHEM kenne ich kaum welche, auch hier nicht.
In diesem speziellen Fall habe ich aber eine Beschreibung der zu setzenden Eintraege in den model-hash in den code geschrieben.
Die Daten des Models musst du natuerlich irgendwo her bekommen - beispielsweise aus der Anlern-Message des Device. Die musst du loggen und auswerten.

Du solltest dann noch pruefen welche Register unterstuetzt werden und welche Funktionen und kommandos anzuwenden sind.

Es gibt immer nur ein HMConfig.pm, das neuste in SVN

Gruss
Martin

Kunibert

Hallo Martin,

vielen Dank für Deine Antwort.
es handelt sich um nur eine Fernbedienung, ähnlich der HM-RC-4, HM-RC-Key4, HM-RC-Sec4.

Da ich mich erst wenige Tage mit dem Thema beschäftige, werde ich noch etwas brauchen, bis ich die Internas verstehe.

Ok. Die aktuellste HMConfig.pm wird immer im Rahmen von update aktualisiert. Habe ich gefunden. Sie enthält noch nicht HM-RC-4-2 .... Eventuell ist die Implementierung aber ja wie bei HM-RC-4 ....

Meine Garagentorsteuerung habe ich aber auch so zum Laufen gebracht.
Meine Gerätekonfiguration:
Hörmann Garagentor
Fritzbox 7270
HM-LAN Konfigurator
HM-RC-4-2 FB (Fernbedienung)
HM-LC-SW1-BA-PCB Schalter

Ich habe keinen Weg gefunden, die FB mit Tasterfunktion direkt mit dem Schalter zu peeren. Deshalb habe ich folgendes realisiert:

1. FB und Schalter mit dem Konfigurator gepairt
2. Button 1 der FB mit dem Schalter in FHEM gepeert und mit notify ein "on-for-timer 0.5" an den Schalter geschickt. Funktioniert tadellos.
3. Button 4 der FB nicht in FHEM gepeert und mit notify ein "on-for-timer 0.5" an den Schalter geschickt. Funktioniert ebenfalls tadellos.
4. Schalter auch direkt über FHEM mit "attr Garagentor webCmd on-for-timer 1:off:statusRequest" bedienbar.

Nun meine Fragen:
1. Gibt es einen Weg, Schalter und FB mit Tasterfunktion direkt zu peeren? Mit Schalterfunktion funktioniert es.
2. Da ich mit notify auch ohne peering in FHEM Befehle von der FB an den Schalter schicken kann (es sei denn, ich habe irgendetwas übersehen), warum peering in FHEM überhaupt?

Wenn ich mir die Ausgabe im Event Monitor anschaue, gibt es nur den Unterschied, dass Button 1 an Garagentor sendet und Button 4 an HMLAN1.

Events:
2013-05-31 11:25:42 CUL_HM Handsender_1_Btn1 Short (to Garagentor)
2013-05-31 11:25:42 CUL_HM Handsender_1_Btn1 trigger: Short_79
2013-05-31 11:25:42 CUL_HM Handsender_1 battery: ok
2013-05-31 11:25:42 CUL_HM Handsender_1 Handsender_1_Btn1 Short (to Garagentor)
2013-05-31 11:25:42 CUL_HM Garagentor level: 100 %
2013-05-31 11:25:42 CUL_HM Garagentor deviceMsg: on (to HMLAN1)
2013-05-31 11:25:42 CUL_HM Garagentor on
2013-05-31 11:25:42 CUL_HM Garagentor battery: ok
2013-05-31 11:25:43 CUL_HM Garagentor level: 100 %
2013-05-31 11:25:43 CUL_HM Garagentor deviceMsg: on (to HMLAN1)
2013-05-31 11:25:43 CUL_HM Garagentor on
2013-05-31 11:25:43 CUL_HM Garagentor battery: ok
2013-05-31 11:25:47 CUL_HM Garagentor level: 0 %
2013-05-31 11:25:47 CUL_HM Garagentor deviceMsg: off (to HMLAN1)
2013-05-31 11:25:47 CUL_HM Garagentor off
2013-05-31 11:25:47 CUL_HM Garagentor battery: ok

2013-05-31 11:25:57 CUL_HM Handsender_1_Btn4 Short (to HMLAN1)
2013-05-31 11:25:57 CUL_HM Handsender_1_Btn4 trigger: Short_52
2013-05-31 11:25:57 CUL_HM Handsender_1 battery: ok
2013-05-31 11:25:57 CUL_HM Handsender_1 Handsender_1_Btn4 Short (to HMLAN1)
2013-05-31 11:25:58 CUL_HM Garagentor level: 100 %
2013-05-31 11:25:58 CUL_HM Garagentor deviceMsg: on (to HMLAN1)
2013-05-31 11:25:58 CUL_HM Garagentor on
2013-05-31 11:25:58 CUL_HM Garagentor battery: ok
2013-05-31 11:25:58 CUL_HM Garagentor level: 100 %
2013-05-31 11:25:58 CUL_HM Garagentor deviceMsg: on (to HMLAN1)
2013-05-31 11:25:58 CUL_HM Garagentor on
2013-05-31 11:25:58 CUL_HM Garagentor battery: ok
2013-05-31 11:26:01 CUL_HM Garagentor level: 0 %
2013-05-31 11:26:01 CUL_HM Garagentor deviceMsg: off (to HMLAN1)
2013-05-31 11:26:01 CUL_HM Garagentor off
2013-05-31 11:26:01 CUL_HM Garagentor battery: ok

Gruß,
Kunibert

martinp876

Hallo Kunibert
ZitatSie enthält noch nicht HM-RC-4-2 .... Eventuell ist die Implementierung aber ja wie bei HM-RC-4 ....
korrekt .... ist zu erwarten.
Evtl hat das sec device ein paar Besonderheiten...

Im Wesentlichen musst du einmal die Anlernmessage im Rohformat posten, dann koennen wir die Zeile definieren. Danach sollten auch schon alle Kommandos funktionieren. Eigentlich auch das peeren.

ZitatIch habe keinen Weg gefunden, die FB mit Tasterfunktion direkt mit dem Schalter zu peeren. Deshalb habe ich folgendes realisiert:

wie steht es mit
set Handsender_1_Btn1  peerChan 0 Garagentor single

Zitat1. FB und Schalter mit dem Konfigurator gepairt
Die HMID der Zentrals ist gleich der im konfigurator. Jedenfalls muss alles mit der HMID von FHEM gepairt werden!

Zitat2. Button 1 der FB mit dem Schalter in FHEM gepeert und mit notify ein "on-for-timer 0.5" an den Schalter geschickt. Funktioniert tadellos.
das ist doppelt verarbeitet oder falsch verstanden. Wenn du Btn1 und schalter gepeert hast, reden die ohne FHEM miteinander. Dann solltest du kein Notify mehr machen, das schaltet ja noch einmal.

Zitat3. Button 4 der FB nicht in FHEM gepeert und mit notify ein "on-for-timer 0.5" an den Schalter geschickt. Funktioniert ebenfalls tadellos.
das ist ok.

Zitat4. Schalter auch direkt über FHEM mit "attr Garagentor webCmd on-for-timer 1:off:statusRequest" bedienbar.
sowieso ;-)


Zitat1. Gibt es einen Weg, Schalter und FB mit Tasterfunktion direkt zu peeren? Mit Schalterfunktion funktioniert es.
Hier must du den HM Grundsatz verinnerlichen: HM sensoren (auch remotes) schicken nur trigger. Die koennen "short" oder "Long" sein. Long wird alle .5sec wiederholt bis du loss laesst. Was der Aktor daraus macht legt einzig der Aktor fest.

Ich nehme einmal an, dass dein Garagentor ueber eine puls gesteuert wird. Der SW1 soll also, wenn ein trigger einer Taste kommt .5sec auf 'on' gehen und dann wieder auf 'off'. Wird klassisch als Treppenhausschalter bezeichnet, oder Pulsgeber.

Lese einmal alles aus dem Schalter aus
dann schalte alles sichtbar
set Garagentor getConfig
attr Garagentor expert 2
Warten bis fertig gelesen
list Garagentor

Jetzt solltest du sehen
- welche Buttons mit deinem Tor gepeert sind
- den Registersatz, der dem jeweiligen Link (channel<-> Button peering) zu Grunde Liegt

Und jetzt kannst du spielen:


set Garagentor regSet shOnTime      0.5   Handsender_1_Btn1 # halbe sec on
set Garagentor regSet shSwJtDlyOff  dlyOn Handsender_1_Btn1
set Garagentor regSet shSwJtOn      no    Handsender_1_Btn1 # kein retrigger
set Garagentor regSet shActionType  jmpToTarget  Handsender_1_Btn1


set Garagentor regSet lgActionType  jmpToTarget  Handsender_1_Btn1
set Garagentor regSet lgOnTime      0.5   Handsender_1_Btn1 # halbe sec on
set Garagentor regSet lgSwJtDlyOff  dlyOn Handsender_1_Btn1
set Garagentor regSet lgSwJtOn      no    Handsender_1_Btn1 # kein retrigger
set Garagentor regSet lgMultiExec   off   Handsender_1_Btn1 # kein retrigger


Stelle sicher, dass dein Button als 'single' gepeert wurde.

Gruss Martin






Kunibert

Hallo Martin,

ZitatIm Wesentlichen musst du einmal die Anlernmessage im Rohformat posten, dann koennen wir die Zeile definieren. Danach sollten auch schon alle Kommandos
funktionieren. Eigentlich auch das peeren.
Ich habe noch einmal alles zurückgesetzt und die Anlernmessage unten aufgeführt. Da die Channel nicht automatisch erzeugt werden, habe ich sie manuell in der fhem.cfg hinzugefügt.


Anmeldeinfo von HM-RC-4-2

Internals:
   DEF        212145
   EVENTS     35
   HMLAN1_MSGCNT 38
   HMLAN1_RAWMSG R0038F0A5,0001,00DC143C,FF,FFC4,0EA0102121451E9C2E0202010A1E0B9C0C2E18000000
   HMLAN1_RSSI -60
   HMLAN1_TIME 2013-06-01 16:51:39
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     38
   NAME       Handsender_1
   NR         52
   NTFY_TRIGGERTIME 2013-06-01 16:55:21
   STATE      CMDs_processing...
   TYPE       CUL_HM
   channel_01 Handsender_1_Btn1
   channel_02 Handsender_1_Btn2
   channel_03 Handsender_1_Btn3
   channel_04 Handsender_1_Btn4
   lastMsg    No:0E - t:10 s:212145 d:1E9C2E 0202010A1E0B9C0C2E18000000
   protCmdDel 0
   protCmdPend 0 CMDs pending
   protLastRcv 2013-06-01 16:51:39
   protResnd  16 last_at:2013-06-01 16:55:35
   protResndFail 3 last_at:2013-06-01 16:54:06
   protSnd    26 last_at:2013-06-01 16:55:21
   protState  CMDs_processing...
   rssi_at_HMLAN1 avg:-57.39 min:-65 max:-44 lst:-60 cnt:38
   Readings:
     2013-06-01 16:51:38   CommandAccepted yes
     2013-06-01 16:51:39   PairedTo        0x1E9C2E
     2013-06-01 16:51:39   R-intKeyVisib   invisib
     2013-06-01 16:51:39   R-pairCentral   0x1E9C2E
     2013-06-01 16:43:21   noReceiver      src:212145 A240 0202
     2013-06-01 16:40:09   powerOn         -
     2013-06-01 16:55:21   state           CMDs_processing...
     Regl_00::
       VAL        
   cmdStack:
   Helper:
     burstEvtCnt 19
     rxType     1
     Respwait:
       PendCmd    As1010A0011E9C2E21214500040000000000
       Pending    RegisterRead
       PendingRsend 4
       forChn     00
       forList    00
       forPeer    
     Role:
       dev        1
     Rssi:
       At_hmlan1:
         avg        -57.3947368421053
         cnt        38
         lst        -60
         max        -44
         min        -65
     Shadowreg:
Attributes:
   expert     2
   firmware   1.0
   model      unknown
   peerIDs    
   room       Garage
   serialNr   KEQ0111214
   subType    
   webCmd     getConfig


PeerChan hatte ich bei meinem letzten Versuch ohne "single" durchgeführt. Mir war nicht bewußt, dass damit die FB direkt mit dem Aktor gepeert wird. Ich dachte, dass dies nur in FHEM geschieht.

ZitatDie HMID der Zentrals ist gleich der im Konfigurator. Jedenfalls muss alles mit der HMID von FHEM gepairt werden!
Hatte ich schon beachtet und richtig.

ZitatHier must du den HM Grundsatz verinnerlichen: HM sensoren (auch remotes) schicken nur trigger. Die koennen "short" oder "Long" sein. Long wird alle .5sec wiederholt bis du loss laesst. Was der Aktor daraus macht legt einzig der Aktor fest.
Das war mir schon klar, aber ich dachte, ich müsste dies über ein Notify an den Aktor schicken.

Wenn ich dem Aktor also ein
set Garagentor regSet shOnTime      0.5   Handsender_1_Btn1
schicke, speichert er dies dauerhaft in einem Register ab (wie z.B. bei Batterie Low), so dass ich das Register nur einmal setzen muss, oder muss ich dies bei jedem FHEM-Start durchführen?

ZitatIch nehme einmal an, dass dein Garagentor ueber eine puls gesteuert wird. Der SW1 soll also, wenn ein trigger einer Taste kommt .5sec auf 'on' gehen und dann wieder auf 'off'. Wird klassisch als Treppenhausschalter bezeichnet, oder Pulsgeber.
Ja, mein Garagentor wird über einen Puls gesteuert.

ZitatLese einmal alles aus dem Schalter aus
Damit habe ich momentan ein Problem. Ich bekomme nach einem getConfig immer ein RESPONSE TIMEOUT:RegisterRead zurück. Deshalb konnte ich auch noch nicht "spielen", da für die anderen Registerzugriffe ein fehlerloses getConfig vorausgesetzt wird und es immer Fehlermeldungen gibt. Die shOnTime konnte ich zwar ohne Fehlermeldung setzen, aber bei der Bedienung über die FB hat der Aktor dies noch nicht beachtet.
Bei der FB habe ich auch schon ein RESPONSE TIMEOUT:RegisterRead gehabt. Was könnte die Ursache sein? HMLAN Konfigurator, Schalter und FB befinden sich in einem Raum, alle ca. einen halben Meter auseinander. Ist die Entfernung zu gering, dass es dadurch Störungen geben kann?

Gruß,
Dietmar


martinp876

Hallo Dietmar,

ZitatIch habe noch einmal alles zurückgesetzt und die Anlernmessage unten aufgeführt. Da die Channel nicht automatisch erzeugt werden, habe ich sie manuell in der fhem.cfg hinzugefügt.

das sollte nicht sein.
Wie ich sehe ist 'model' und 'subType' nicht gesetze. Entwerder hat FHEM die Anlernmessage nicht erhalten oder nict verstanden.

Zitat...aber ich dachte, ich müsste dies über ein Notify an den Aktor schicken.
können ja, muessen nein

schicke, speichert er dies dauerhaft in einem Register ab (wie z.B. bei Batterie Low), so dass ich das Register nur einmal setzen muss, oder muss ich dies bei jedem FHEM-Start durchführen?
HM devices speichern Register permanent. Also nur einmal schicken, nicht in fhem.cfg.

Zitat...ein RESPONSE TIMEOUT:RegisterRead
a) das Fehlen von model und subtype stört mich. Kannst du mir die Anlernmessage noch einmal aufnehmen?
b) logge auch einmal die rohmessages wenn es zu einem timeout kommt - und sage mir, von welchem model dies kommt.

Gruss Martin

betateilchen

Ich bin hier auch grade mit dieser neuen Fernbedienung am verzweifeln. Wenn mir jemand kurz auf die Sprünge hilft, wie man die Anmeldemessage loggen kann, werde ich gerne mithelfen, das Theme voranzubringen. Grundsätzlich sieht das Ergebnis nach dem autocreate ähnlich aus - auch ohne model und subtype.


Internals:
   CFGFN      
   DEF        2123FC
   EVENTS     23
   HMLAN_MSGCNT 22
   HMLAN_RAWMSG E2123FC,0000,2B762897,FF,FFB9,0084102123FC00000006000000
   HMLAN_RSSI -71
   HMLAN_TIME 2013-06-02 20:12:20
   IODev      HMLAN
   LASTInputDev HMLAN
   MSGCNT     22
   NAME       HMFB01
   NR         341
   NTFY_TRIGGERTIME 2013-06-02 20:12:20
   STATE      ???
   TYPE       CUL_HM
   lastMsg    No:00 - t:10 s:2123FC d:000000 06000000
   protLastRcv 2013-06-02 20:12:20
   protSnd    12 last_at:2013-06-02 20:07:10
   protState  CMDs_done
   rssi_at_CUL_HM_ID_00A0_2123FC avg:0 min:0 max:0 lst:0 cnt:1
   rssi_at_HMLAN avg:-67.22 min:-81 max:-60 lst:-71 cnt:22
   Readings:
     2013-06-02 20:07:10   CommandAccepted yes
     2013-06-02 20:00:12   R-intKeyVisib   set_invisib
     2013-06-02 19:59:44   R-pairCentral   set_0x9601BD
     2013-06-02 20:01:47   noReceiver      src:2123FC A240 0201
     2013-06-02 20:12:20   powerOn         -
   Helper:
     rxType     1
     Respwait:
     Role:
       chn        1
       dev        1
     Rssi:
       At_cul_hm_id_00a0_2123fc:
         avg        
         cnt        1
         lst        
         max        
         min        
       At_hmlan:
         avg        -67.2272727272727
         cnt        22
         lst        -71
         max        -60
         min        -81
     Shadowreg:
       RegL_00:    02:01 0A:96 0B:01 0C:BD
Attributes:
   expert     2_full
   firmware   1.0
   model      unknown
   peerIDs    
   room       CUL_HM
   serialNr   KEQ0111919
   subType    
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Ich habe einfach die Zeile der HM-RC-4-B kopiert und darin die ID 00A0 verwendet :)

 "00A0" => {name=>"HM-RC-4-2"               ,st=>'remote'            ,cyc=>''      ,rxt=>'c'   ,lst=>'1,4'          ,chn=>"Btn:1:4",},

Damit werden beim Anlernen der Fernbedienung automatisch die 4 Buttons mit autocreate angelegt.


Internals:
   CFGFN      
   DEF        2123FC
   EVENTS     8
   HMLAN_MSGCNT 10
   HMLAN_RAWMSG E2123FC,0040,2BAB3B5B,01,FFBD,04A2402123FC9601BD0200
   HMLAN_RSSI -67
   HMLAN_TIME 2013-06-02 21:10:19
   IODev      HMLAN
   LASTInputDev HMLAN
   MSGCNT     10
   NAME       CUL_HM_HM_RC_4_2_2123FC
   NR         336
   NTFY_TRIGGERTIME 2013-06-02 21:14:33
   STATE      CMDs_pending
   TYPE       CUL_HM
   channel_01 CUL_HM_HM_RC_4_2_2123FC_Btn_01
   channel_02 CUL_HM_HM_RC_4_2_2123FC_Btn_02
   channel_03 CUL_HM_HM_RC_4_2_2123FC_Btn_03
   channel_04 CUL_HM_HM_RC_4_2_2123FC_Btn_04
   lastMsg    No:04 - t:40 s:2123FC d:9601BD 0200
   protCmdPend 9 CMDs_pending
   protLastRcv 2013-06-02 21:10:19
   protSnd    3 last_at:2013-06-02 21:09:35
   protState  CMDs_pending
   rssi_at_CUL_HM_HM_RC_4_2_2123FC avg:0 min:0 max:0 lst:0 cnt:1
   rssi_at_HMLAN avg:-68.5 min:-74 max:-64 lst:-67 cnt:10
   Readings:
     2013-06-02 21:09:35   CommandAccepted yes
     2013-06-02 21:09:34   R-pairCentral   set_0x9601BD
     2013-06-02 21:10:17   battery         ok
     2013-06-02 21:14:33   state           CMDs_pending
   cmdStack:
     ++A0019601BD2123FC00040000000000
     ++A0019601BD2123FC01040000000001
     ++A0019601BD2123FC0103
     ++A0019601BD2123FC02040000000001
     ++A0019601BD2123FC0203
     ++A0019601BD2123FC03040000000001
     ++A0019601BD2123FC0303
     ++A0019601BD2123FC04040000000001
     ++A0019601BD2123FC0403
   Helper:
     addVal     2
     mId        00A0
     rxType     4
     Respwait:
     Role:
       dev        1
     Rssi:
       At_cul_hm_hm_rc_4_2_2123fc:
         avg        
         cnt        1
         lst        
         max        
         min        
       At_hmlan:
         avg        -68.5
         cnt        10
         lst        -67
         max        -64
         min        -74
     Shadowreg:
Attributes:
   expert     2_full
   firmware   1.0
   model      HM-RC-4-2
   peerIDs    
   room       CUL_HM
   serialNr   KEQ0111919
   subType    remote
   webCmd     getConfig



Allerdings läuft dabei irgendwie die Konsole mit Fehlermeldungen aus der 10_CUL_HM.pm über.


Use of uninitialized value $id in concatenation (.) or string at ./FHEM/10_CUL_HM.pm line 147.
substr outside of string at ./FHEM/10_CUL_HM.pm line 147.
Use of uninitialized value $id in string ne at ./FHEM/10_CUL_HM.pm line 149.
Use of uninitialized value $dst in numeric eq (==) at ./FHEM/10_CUL_HM.pm line 1549.
Use of uninitialized value $dst in substr at ./FHEM/10_CUL_HM.pm line 1551.
Use of uninitialized value $name in hash element at ./FHEM/10_CUL_HM.pm line 1577.
Use of uninitialized value $devName in hash element at ./FHEM/10_CUL_HM.pm line 1579.
Use of uninitialized value $dst in numeric eq (==) at ./FHEM/10_CUL_HM.pm line 1549.
Use of uninitialized value $dst in substr at ./FHEM/10_CUL_HM.pm line 1551.
Use of uninitialized value $name in hash element at ./FHEM/10_CUL_HM.pm line 1577.
Use of uninitialized value $devName in hash element at ./FHEM/10_CUL_HM.pm line 1579.
Use of uninitialized value in multiplication (*) at ./FHEM/10_CUL_HM.pm line 3816.
Use of uninitialized value in multiplication (*) at ./FHEM/10_CUL_HM.pm line 3816.
Use of uninitialized value in multiplication (*) at ./FHEM/10_CUL_HM.pm line 3816.
Use of uninitialized value in multiplication (*) at ./FHEM/10_CUL_HM.pm line 3816.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Kunibert

Hallo betateilchen,

ich glaube, dies habe ich bei meinen vielen Versuchen auch schon gemacht, aber Kanäle habe ich nicht gesehen, die habe ich per Hand in der fhem.cfg eingetragen. Erst danach erschienen sie beim List. Nur hatte ich dabei nicht auf die Ausgaben in der Konsole geachtet.

Wenn ich ohne Änderung der HMConfig eine Anmeldung mache, sehen die Anmeldeinfos wie folgt aus:

Internals:
   CFGFN      
   CHANGED    
   DEF        212145
   EVENTS     7
   HMLAN1_MSGCNT 8
   HMLAN1_RAWMSG R065AC746,0021,006083EB,00,FFCC,0680022121451E9C2E000C376FFF
   HMLAN1_RSSI -52
   HMLAN1_TIME 2013-06-02 21:26:20
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     8
   NAME       CUL_HM_ID_00A0_212145
   NR         165
   NTFY_TRIGGERTIME 2013-06-02 21:26:16
   STATE      ???
   TYPE       CUL_HM
   lastMsg    No:06 - t:02 s:212145 d:1E9C2E 000C376FFF
   protLastRcv 2013-06-02 21:26:20
   protResnd  1 last_at:2013-06-02 21:26:18
   protSnd    3 last_at:2013-06-02 21:26:19
   protState  CMDs_done_events:1
   rssi_at_CUL_HM_ID_00A0_212145 avg:0 min:0 max:0 lst:0 cnt:1
   rssi_at_HMLAN1 avg:-51.12 min:-56 max:-47 lst:-52 cnt:8
   Readings:
     2013-06-02 21:26:20   CommandAccepted yes
     2013-06-02 21:26:16   R-pairCentral   set_0x1E9C2E
   Helper:
     burstEvtCnt 1
     rxType     1
     Respwait:
     Role:
       chn        1
       dev        1
     Rssi:
       At_cul_hm_id_00a0_212145:
         avg        
         cnt        1
         lst        
         max        
         min        
       At_hmlan1:
         avg        -51.125
         cnt        8
         lst        -52
         max        -47
         min        -56
     Shadowreg:
Attributes:
   expert     2_full
   firmware   1.0
   model      unknown
   peerIDs    
   room       CUL_HM
   serialNr   KEQ0111214
   subType    


in der Konsole habe ich die folgenden Ausgaben:

Use of uninitialized value in multiplication (*) at ./FHEM/10_CUL_HM.pm line 3816.
Use of uninitialized value in multiplication (*) at ./FHEM/10_CUL_HM.pm line 3816.
Use of uninitialized value in multiplication (*) at ./FHEM/10_CUL_HM.pm line 3816.
Use of uninitialized value in multiplication (*) at ./FHEM/10_CUL_HM.pm line 3816.
Use of uninitialized value in split at ./FHEM/10_CUL_HM.pm line 2590.Use of uninitialized value in concatenation (.) or string at ./FHEM/10_CUL_HM.pm
 line 2625.
Use of uninitialized value $val in substitution (s///) at fhem.pl line 1141.Use of uninitialized value $val in substitution (s///) at fhem.pl line 1142.
Use of uninitialized value $val in concatenation (.) or string at fhem.pl line 1143.




Kunibert

Hallo Martin,

hier ist ein RESPONSE TIMEOUT:RegisterRead von der FB. Kommt jetzt bei jedem getConfig. Die Anmeldeinfo der FB habe ich in meiner vorherigen Mail geschickt.


Internals:
   DEF        212145
   IODev      HMLAN1
   NAME       Handsender_1
   NR         52
   NTFY_TRIGGERTIME 2013-06-02 22:33:35
   STATE      RESPONSE TIMEOUT:RegisterRead
   TYPE       CUL_HM
   channel_01 Handsender_1_Btn1
   channel_02 Handsender_1_Btn2
   channel_03 Handsender_1_Btn3
   channel_04 Handsender_1_Btn4
   protCmdDel 0
   protResnd  4 last_at:2013-06-02 22:33:30
   protResndFail 1 last_at:2013-06-02 22:33:35
   protSnd    1 last_at:2013-06-02 22:33:09
   protState  CMDs_done_events:5
   Readings:
     2013-06-02 22:33:35   state           RESPONSE TIMEOUT:RegisterRead
     Regl_00::
       VAL        
   Helper:
     burstEvtCnt 5
     rxType     1
     Respwait:
     Role:
       dev        1
Attributes:
   expert     2_full
   firmware   1.0
   model      unknown
   peerIDs    
   room       Garage
   serialNr   KEQ0111214
   subType    1
   webCmd     getConfig


Gruß,
Dietmar

martinp876

Hi betateilchen,

die Zeile
"00A0" => {name=>"HM-RC-4-2"               ,st=>'remote'            ,cyc=>''      ,rxt=>'c'   ,lst=>'1,4'          ,chn=>"Btn:1:4",},

sollte korrekt sein, wenn du das 00A0 aus der Anlernmessage genommen hast (hast du offensichtlich)

Aufzeichnen sollte man rohmessages mit
attr global verbose 1
attr <hmlan> loglevel 1
Die Logs stehen dann im hauptlogfile.

Zu den Fehlern - irgend etwas in deinen definitionen scheint nicht zu stimmen.
Ich gehe davon aus, dass alle Buttons angelegt sind und eine HMid haben
Hast du sonst noch devices anglegt? Haben alle ein model?
mache doch einmal ein

define hm HMinfo
set hm param model subType DEF

Hi Dietmar,

bei dir habe ich noch nicht die Anlernmessage um den Code herauszulesen. Danach sollten einige Dinge besser laufen. Aktuell kann fhem dein Device nicht einordnen.
Siehe die Anlietung oben - oder setze
attr <hmlan> hmProtocolEvents 3

Gruss
Martin


betateilchen

Zitat von: martinp876 schrieb am Mo, 03 Juni 2013 08:00Zu den Fehlern - irgend etwas in deinen definitionen scheint nicht zu stimmen.
Ich gehe davon aus, dass alle Buttons angelegt sind und eine HMid haben
Hast du sonst noch devices anglegt? Haben alle ein model?

Hallo Martin,

ich habe die Devices gar nicht selbst angelegt, das ist alles per autocreate entstanden. Ich werde heute abend nachschauen und die gewünschten Informationen nachliefern.
Die Fehler treten definitiv erst seit gestern Abend auf, nachdem die Fernbedienung ins Spiel kam. Interessanterweise bin ich ja nicht der einzige mit diesen Fehlermeldungen ;)

Prinzipiell kann ich die Fernbedienung schon so nutzen wie ich möchte, ich kann die 4 Tasten auswerten und den Trigger nach Short und Long selektieren.
Das Einzige was noch nicht funktioniert, ist die Rückmeldung an die Fernbedienung nach einem Tastendruck. Und genau wegen dieser Rückmeldung habe ich die Fernbedienung eigentlich gekauft.

Aber ich bin zuversichtlich, dass wir das alles noch richtig gelöst bekommen.

Ja, die 00A0 habe ich aus dem Anlernen übernommen, da stand diese ID ja drin.

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

martinp876

Hi Udo,

Die Fehlermeldung kommt in der Definitionsphase, wenn ich die Parameter durchcheck - so etwa 5 sec nach dem Define.
Jeder Entity aus CUL_HM sollte eine HMId 6 oder 8 stellig zugewiesen sein. Irgend eine scheint nicht da zu sein.
Wenn du alle korrekt eingetragen hast (ist ja automatisch passiert) dann sollte es kein Problem sein.

Zitatdie Rückmeldung an die Fernbedienung nach einem Tastendruck.
nicht ganz klar: Die FB sendet einen Trigger. Abhaengig ob der Button gepairt ist wird erwartet die FB ein ACK oder eben nicht.
Die Rueckmeldung kommt also von Aktor, nicht von der FB. Falls du nicht direkt peeren willst kannst du einen virtuellen Aktor in FHEM nutzen.

Gruss
Martin

betateilchen

Zitat von: martinp876 schrieb am Mo, 03 Juni 2013 11:09Jeder Entity aus CUL_HM sollte eine HMId 6 oder 8 stellig zugewiesen sein. Irgend eine scheint nicht da zu sein.

Checke ich heute Abend nochmal. Aber die Buttons haben, wenn ich mich recht erinnere, alle die 6-stellige ID der Fernbedienung + 2stelligen Anhang.

Zitat von: martinp876 schrieb am Mo, 03 Juni 2013 11:09Wenn du alle korrekt eingetragen hast (ist ja automatisch passiert) dann sollte es kein Problem sein.

Und wo kommen dann die Fehlermeldungen her?

Zitat von: martinp876 schrieb am Mo, 03 Juni 2013 11:09Die Rueckmeldung kommt also von Aktor, nicht von der FB.

Das hatte ich schon verstanden, dass die Rückmeldung AN die Fernbedienung erfolgen muss und dann von dieser nur signalisiert wird. Meine Hoffnung war einfach, dass FHEM als Empfänger diese Rückmeldung liefern kann, wenn ein Knopfdruck registriert wurde.

Zitat von: martinp876 schrieb am Mo, 03 Juni 2013 11:09Falls du nicht direkt peeren willst kannst du einen virtuellen Aktor in FHEM nutzen.

Ich habe keine physischen Aktoren, die ich mit der Fernbedienung verknüpfen könnte. Es wird also wohl auf virtuelle Aktoren hinauslaufen müssen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

martinp876

Hallo Udo,
ZitatUnd wo kommen dann die Fehlermeldungen her?
wenn die Daten alle stimmen kann es noch sein, dass ich nicht lange genug warte, und die Attribute noch nicht bereitstehen. Die HMID ist aber eigentlich kein Attribut... wir werden sehen.

ZitatMeine Hoffnung war einfach, dass FHEM als Empfänger diese Rückmeldung liefern kann, wenn ein Knopfdruck registriert wurde.
prinzipiell korrekt. Im Detail:
1) wenn kein Aktor gepeert ist wird die FB kein Ack anfordern sondern nur an Broadcast senden. Meist leuchtet dann die LED gelb: keine Bestaetigung abgefordert
2) zur besseren Steuerung haben wir virtuelle Aktoren. Die FB wird also nicht mit FHEM oder HMLAN gepeert sondern mit einem virtuellen Aktor

define va CUL_HM 112233
set va virtual 1 # nur ein Channel erstellt, kann als aktor oder Button verwendet werden
set Handsender_1_Btn1 peerChan 0 va_Btn1 single

nach dem peeren solltest du ein save machen. Die HM devices speichern zwar alle Settings (peers und register) im flash, aber der virtuelle Aktor/Button eben nur in attributen.

Jetzt sollte die FB bei Button 1 gruen leuchten, bei 'keine antwort' rot.
Der va_Btn1 setzt bei jedem Trigger auch ein paar Readings....
Gruss Martin