FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: UliM am 24 September 2015, 21:11:40

Titel: [gelöst] HM-PB-6: short = on, long = off, Telegrammhagel bei langem Tastendruck
Beitrag von: UliM am 24 September 2015, 21:11:40
Hallo,
habe gerade eine Taste eines HM-PB-6 erfolgreich single-gepeert mit einer Steckdose (HM-LC-SW1-PL2) mittels
set HM_2FB889_Btn_01 peerChan 0 HM_DoseTest single set
Durch Druck auf die Taste HM_2FB889_Btn_01 wird die Steckdose HM_DoseTest getoggelt. Fein.

Nun möchte ich erreichen:

Nach langem Suchen hab ich schon  diesen  (http://forum.fhem.de/index.php?topic=11128.0)fred gefunden - weiss aber nicht mit welchen Befehlen man die dort gezeigten Readings erwirken kann.

Kann bitte jemand so freundlich sein und mir die erforderlichen Befehl nennen?
(möchte das gerne direkt im peering lösen, also ohne notify).

Vielen Dank schon im Voraus für eure Unterstützung,
Gruß Uli
Titel: Antw:HM-PB-6: short = on, long = off
Beitrag von: frank am 24 September 2015, 21:17:23
poste ein list HM_DoseTest, nachdem du das register intKeyVisib auf visib gesetzt hast.
Titel: Antw:HM-PB-6: short = on, long = off
Beitrag von: UliM am 24 September 2015, 21:53:27
Hi,
war jetzt mutig  8) und hab den regSet-Befehl einfach mal ausprobiert und gemäß dem oben verlinkten post alle Register angepasst, die im Auslieferungszustand noch nicht auf dem im verlinkten post genannten Wert standen.

Es funktioniert!

Erfolgreich abgesetzt:
set HM_DoseTest regSet lgMultiExec off HM_2FB889_Btn_01
set HM_DoseTest regSet lgSwJtDlyOn off HM_2FB889_Btn_01
set HM_DoseTest regSet lgSwJtOff off HM_2FB889_Btn_01
set HM_DoseTest regSet lgSwJtOn off HM_2FB889_Btn_01

set HM_DoseTest regSet shSwJtDlyOff on HM_2FB889_Btn_01
set HM_DoseTest regSet shSwJtOff on HM_2FB889_Btn_01
set HM_DoseTest regSet shSwJtOn on HM_2FB889_Btn_01


Keine Wirkung zeigten:
set HM_DoseTest regSet lgOffTime 111600s HM_2FB889_Btn_01
set HM_DoseTest regSet shOffTime 111600s HM_2FB889_Btn_01

Die Register zeigen als Wert immer noch "lgOffTime unused"
Hab's auch ohne das "s" bei 111600s versucht, ebenfalls ohne Effekt.
Welche Rolle spielt dieser Wert?
Muss ich ggf. sonst noch was Ändern, damit ich diesen Wert setzen kann? Mit oder ohne "s"?

Hier das list des device:
   DEF        256CC9
   HMLAN_MSGCNT 327
   HMLAN_RAWMSG E256CC9,0000,FBE2CD88,FF,FFD2,5E8002256CC92FB889010100001E
   HMLAN_RSSI -46
   HMLAN_TIME 2015-09-24 21:43:33
   IODev      HMLAN
   LASTInputDev HMLAN
   MSGCNT     327
   NAME       HM_DoseTest
   NR         666
   STATE      off
   TYPE       CUL_HM
   hmPairSerial KEQ1026192
   lastMsg    No:5E - t:02 s:256CC9 d:2FB889 010100001E
   peerList   HM_2FB889_Btn_01,
   protCmdDel 15
   protLastRcv 2015-09-24 21:43:33
   protNack   1 last_at:2015-09-24 20:36:24
   protResnd  16 last_at:2015-09-24 20:43:46
   protResndFail 4 last_at:2015-09-24 20:04:04
   protSnd    248 last_at:2015-09-24 21:43:08
   protState  CMDs_done
   rssi_HM6fachTaster avg:-32.97 min:-47 max:-28 lst:-30 cnt:36
   rssi_HMLAN avg:-41.47 min:-57 max:-34 lst:-49 cnt:19
   rssi_at_HMLAN avg:-42.56 min:-71 max:-31 lst:-46 cnt:327
   Readings:
     2015-09-24 21:43:33   CommandAccepted yes
     2015-09-24 20:26:54   D-firmware      1.12
     2015-09-24 20:26:54   D-serialNr      KEQ1026192
     2015-09-24 21:43:06   PairedTo        0x7853C3
     2015-09-24 21:25:32   R-HM_2FB889_Btn_01-lgActionType jmpToTarget
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgCtDlyOff geLo
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgCtDlyOn geLo
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgCtOff geLo
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgCtOn geLo
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgCtValHi 100
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgCtValLo 50
     2015-09-24 21:25:32   R-HM_2FB889_Btn_01-lgMultiExec off
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgOffDly 0 s
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgOffTime unused
     2015-09-24 21:25:32   R-HM_2FB889_Btn_01-lgOffTimeMode absolut
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgOnDly 0 s
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-lgOnTime unused
     2015-09-24 21:25:32   R-HM_2FB889_Btn_01-lgOnTimeMode absolut
     2015-09-24 21:34:40   R-HM_2FB889_Btn_01-lgSwJtDlyOff off
     2015-09-24 21:34:40   R-HM_2FB889_Btn_01-lgSwJtDlyOn off
     2015-09-24 21:37:30   R-HM_2FB889_Btn_01-lgSwJtOff off
     2015-09-24 21:37:30   R-HM_2FB889_Btn_01-lgSwJtOn off
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shActionType jmpToTarget
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shCtDlyOff geLo
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shCtDlyOn geLo
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shCtOff geLo
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shCtOn geLo
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shCtValHi 100
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shCtValLo 50
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shOffDly 0 s
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shOffTime unused
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shOffTimeMode absolut
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shOnDly 0 s
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shOnTime unused
     2015-09-24 20:27:04   R-HM_2FB889_Btn_01-shOnTimeMode absolut
     2015-09-24 21:41:39   R-HM_2FB889_Btn_01-shSwJtDlyOff on
     2015-09-24 21:41:39   R-HM_2FB889_Btn_01-shSwJtDlyOn on
     2015-09-24 21:43:08   R-HM_2FB889_Btn_01-shSwJtOff on
     2015-09-24 21:43:08   R-HM_2FB889_Btn_01-shSwJtOn on
     2015-09-24 20:08:06   R-intKeyVisib   invisib
     2015-09-24 20:08:06   R-pairCentral   0x7853C3
     2015-09-24 19:56:15   R-sign          off
     2015-09-24 21:43:06   RegL_00:         02:01 03:00 04:00 05:00 06:00 07:00 08:00 09:00 0A:78 0B:53 0C:C3 00:00
     2015-09-24 21:43:07   RegL_01:         08:00 00:00
     2015-09-24 21:43:08   RegL_03:HM_2FB889_Btn_01  02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:33 0C:33 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:01 8B:66 8C:66 00:00
     2015-09-24 21:43:33   deviceMsg       off (to HM6fachTaster)
     2015-09-24 21:43:33   level           0
     2015-09-24 21:43:33   pct             0
     2015-09-24 21:43:07   peerList        HM_2FB889_Btn_01,
     2015-09-24 19:59:50   powerOn         2015-09-24 19:59:50
     2015-09-24 21:43:33   recentStateType ack
     2015-09-24 21:43:33   state           off
     2015-09-24 21:43:33   timedOn         off
     2015-09-24 21:43:33   trigLast        HM_2FB889_Btn_01:long
     2015-09-24 21:43:33   trig_HM_2FB889_Btn_01 long


(falls intKeyVisib erforderlich, bitte nochmal bescheidgeben - das list wird ja dann soooo lang...)

Gruß, Uli

PS: das mehrfache Senden des "long"-events bei festgehaltener Taste am Sensor kann man nicht unterdrücken, oder?
Titel: Antw:HM-PB-6: short = on, long = off
Beitrag von: frank am 24 September 2015, 22:13:09
ZitatDie Register zeigen als Wert immer noch "lgOffTime unused"
Hab's auch ohne das "s" bei 111600s versucht, ebenfalls ohne Effekt.
Welche Rolle spielt dieser Wert?
unused bedeutet unendlich, also bereits richtig. wahrscheinlich dezimal 111600. alle möglichen werte siehst du mit get regList. immer ohne einheit eingeben.

ZitatPS: das mehrfache Senden des "long"-events bei festgehaltener Taste am Sensor kann man nicht unterdrücken, oder?
welche register zeigt denn der taster?

     2015-09-24 21:25:32   R-HM_2FB889_Btn_01-lgMultiExec off
zumindestens wird nicht darauf reagiert. die events müssten sich anhand einer nummer unterscheiden.
am taster gibt es eventuell ein register zum einstellen der dauer eines long. wenn du das auf maximum einstelltst, gibt es weniger events.
Titel: Antw:HM-PB-6: short = on, long = off
Beitrag von: UliM am 24 September 2015, 22:35:42
Vielen Dank für die Erklärungen, Frank!

Wegen wiederholter events des Tasters bei long: der Channel hat ein Register "longPress", das auf den ersten Blick vielversprechend aussieht:
  DEF        2FB88901
   NAME       HM_2FB889_Btn_01
   NR         622
   STATE      LongRelease 3_62 (to HM6fachTaster)
   TYPE       CUL_HM
   chanNo     01
   device     HM6fachTaster
   peerList   HM_DoseTest,
   Readings:
     2015-09-24 20:43:42   R-HM_DoseTest_chn-01-expectAES off
     2015-09-24 20:43:42   R-HM_DoseTest_chn-01-peerNeedsBurst off
     2015-09-24 19:53:16   R-dblPress      0 s
     2015-09-24 19:53:16   R-longPress     0.4 s
     2015-09-24 19:53:16   R-sign          off
     2015-09-24 20:43:41   RegL_01:          04:10 08:00 09:00 00:00
     2015-09-24 20:43:42   RegL_04:HM_DoseTest_chn:01   01:00 00:00
     2015-09-24 20:43:41   peerList        HM_DoseTest,
     2015-09-24 22:24:42   state           LongRelease 3_62 (to HM6fachTaster)
     2015-09-24 20:37:34   trigDst_7853C3  noConfig
     2015-09-24 22:24:42   trigger         Long_62
     2015-09-24 22:24:42   trigger_cnt     62
   Helper:
     BNO        62
     BNOCNT     3
     peerIDsRaw ,256CC901,00000000
     Role:
       chn        1
     Shadowreg:
Attributes:
   model      HM-PB-6-WM55
   peerIDs    00000000,256CC901,


Ein Versuch erweckt jedoch den Eindruck, dass dieses Register die Zeitspanne festlegt, die eine Taste bereits gedrückt sein muss, damit ein Tastendruck als long gilt.
Ist dieser Zeitraum aber erstmal erreicht, wird munter losgefunkt, bis die Taste losgelassen wird. Wenn ich telnet so betrachte, sieht das nach einer Wiederholrate von deutlich schneller als alle 0,4s aus.
Mir geht es um eine Unterdrückung des Telegrammhagels, nachdem der Tastendruckzeitraum "longPress" erreicht wurde. Scheint aber nix dafür zu geben - oder?

Gruß, Uli
Titel: Antw:HM-PB-6: short = on, long = off, Telegrammhagel bei langem Tastendruck
Beitrag von: frank am 24 September 2015, 23:07:08
ZitatEin Versuch erweckt jedoch den Eindruck, dass dieses Register die Zeitspanne festlegt, die eine Taste bereits gedrückt sein muss, damit ein Tastendruck als long gilt.
genau das meinte ich. ich habe keinen taster mit diesem register. meine vermutung war, dass dann diese longdauer auch den abstand der long messages bedeuten würde. es macht ja keinen sinn, zwischendurch noch zu senden, sondern immer nur bei jedem weiteren long. das müsstest du gut an den nummern beim longtrigger sehen können. zum abschluss gibt es dann immer ein longrelease.

hast du vielleicht mehrere io's, die die msgs empfangen?

sniffe doch mal die rawmessages wie im wiki homematic sniffen beschrieben. dann siehst du schön was genau gefunkt wird. der taster sendet eventuell sogar separat an die zentrale und den aktor.
Titel: Antw:HM-PB-6: short = on, long = off, Telegrammhagel bei langem Tastendruck
Beitrag von: chipmunk am 25 September 2015, 08:04:00
Hi, ich habe den 6-fach Taster zwar nicht, aber gibt es nicht auch bei diesem ein Register Multiexec oder so ähnlich, mit dem man das regelmäßige Senden bei Long ausschalten kann? Dann wird Long nur 1x geschickt. Das mehrfach Senden ist normalerweise aktiviert, damit Dimmer etc. funktionieren.
Wenn das nicht nötig ist, kann man es deaktivieren.

Chipmunk
Titel: Antw:HM-PB-6: short = on, long = off, Telegrammhagel bei langem Tastendruck
Beitrag von: UliM am 25 September 2015, 18:29:12
Hi Chipmunk,
das klingt genau nach dem, was ich suche.

Am HM-PB-6 haben  laut "get regList"

Also ist zumindest bei den 'verbal implementierten' Registern kein multiexec dabei (im Aktor hingegen schon).

Weiss jemand, wie ich herausfinde, ob bei den 'nicht verbal implementierten' Registern im HM-PB-6 (device oder channel) ein multiexec dabei ist?

Gruß, Uli
Titel: Antw:HM-PB-6: short = on, long = off, Telegrammhagel bei langem Tastendruck
Beitrag von: martinp876 am 25 September 2015, 19:59:20
Anders rum. Multiexec ist im aktor. Der Taster sendet immer periodisch bei long. Taster sind recht dumm, die Intelligenz ist im aktor.
Bei den long Registern eines aktor peers kann man einstellen, dass die programmierte Aktion einmal, oder bei jeder message  ausgeführt wird. Beim dimmen also multi bis loslassen, ebenso beim Rollo. Beim Lichtschalter kein multiexec. Die meisten würden es wohl nicht merken so lange kein toggle eingeschaltet ist: blinken im ,5s raster.