keine Unterscheidung zwischen kurzem und langem Tastendruck

Begonnen von mrhaefele@gmx.de, 18 Januar 2015, 02:17:37

Vorheriges Thema - Nächstes Thema

mrhaefele@gmx.de

Hallo,

ich habe mittlerweile meine Fernbedienung  (HM-RC-Key4-2) ge'peered mit meinem 4-Kanal-Schalter HM-LC-Sw4-PCB.

Ein get hm register -f HM_SW4_Sw_01 liefert mir:



HM_SW4_Sw_01 type:switch -
list:peer register         :value
   1:      sign             :off
                       remoteHM_light                 
                       lg              sh             
ActionType             jmpToTarget     jmpToTarget     
CtDlyOff               geHi            ltLo           
CtDlyOn                geHi            ltLo         
CtOff                  geHi            ltLo           
CtOn                   geHi            ltLo           
CtValHi                100             100         
CtValLo                50              50
MultiExec              on              on
OffDly            [s]  0               0   
OffTime                unused          unused
OffTimeMode            absolut         absolut
OnDly             [s]  0               0       
OnTime            [s]  unused          unused 
OnTimeMode             absolut         absolut
SwJtDlyOff             off             off
SwJtDlyOn              on              on
SwJtOff                dlyOn           dlyOn
SwJtOn                 dlyOff          dlyOff



Mein Problem:
Mit der Taste "remoteHM_light" möchte unterschiedliche Aktionen ausführen bei kurzem oder langen Tastendruck (direkt ge'peered - auch ohne fhem). Bei langem Tastendruck ist alles ok (Reaktion wie erwartet). Bei einem kurzen Tastendruck passiert nichts. Ich habe den lgActionType testhalber auf "off" gestellt, um zu testen, was er macht bei kurzen Tastendrücken, aber dann reagiert der Schalter nicht mehr. Oder ich habe versucht den "CtValLo" zu verändern. Dadurch hat sich die Zeit für einen langen/kurzen Tastendruck auch nicht verändert.

In der Fhem Einsteigerdoku "Heimautomatisierung-mit-fhem.pdf" steht auf Seite 84:

ZitatPer Default ist kein Unterschied zwischen 'long' und 'short' in den JT Tabellen. Der Unterschied wird durch 'multiexecution' und die Dauer in MAX_TIME_FIRST_DIR erreicht.


Multiexecution habe ich auf "on" gesetzt, aber:

  • Wie bringe ich das Ding dazu auf kurze Tastendrücke zu reagieren
  • Wo stelle ich die Zeit MAX_TIME_FIRST_DIR ein bzw wie heisst das Register, das definiert, was ein kurzer Tastendruck ist. Ich dachte, dass die Zeit eingestellt wird durch ein "ltLo" in Bezug auf den Registerwert "CtDlyOn" usw. Obiges funktioniert leider nicht

Hat mir jemand einen Rat, was ich tun muss, um auf kurze Tastendrücke zu reagieren? Geht das evtl überhaupt nicht mit meiner Fernbedienung/Schalter, die ich einsetze???

Gruß

udo


[/list][/list]

Fritz R.

#1
Du hast einen Button gepeered also mit single ? Sieht für mich normal aus.
Sendet die Fernbedienung einen Wert mit ? Wenn der größer ist als Deine Einstellung für Lo , ist das Verhalten erklärt, da Du ja ltLo eingestellt hast.
Schau mal in die Readings des Schalters, was hat er als letzten Trigger (lastTrig) erhalten

Bist Du sicher dass Du mit ConditionTable arbeiten musst um langen und kurzen Tastendruck zu unterscheiden? Ich kenne keine Fernbedienung die Werte mitschickt.

ZitatMultiexecution habe ich auf "on"
Willst Du das. Wenn Du den Knopf auf der Fernbedienung länger drückst sendet die ein long nach dem anderen und der Schalter reagiert auf jedes long mit einer neuen Ausführung.

Ich bin da gerade selber am einarbeiten und muss noch viel probieren. Aber so hab ich's verstanden.

mrhaefele@gmx.de

Hallo,

danke für den Hinweis. Ich sehe in den Readings des Schalters nichts von einem Trigger. Somit vermute ich, dass ich auch keinen Wert übermittelt bekomme. Bin aber blutiger Anfänger....
Unter welchem Reading des Schalters müsste der Wert stehen. Nicht dass ich vor lauter Bäumen den Wald nicht mehr sehe...

Die Fernbedienung funktioniert wie erwartet.
Ich sehe <400ms ein
2015-01-18 22:43:30 CUL_HM remoteHM remoteHM_light Short (to vccu)
und >400ms
2015-01-18 22:45:57 CUL_HM remoteHM remoteHM_light Long 1-8440- (to vccu)

Ich wollte das mit Condition Tables machen, um Ausfallsicherheit zu haben, wenn mein fhem-Raspi sterben sollte (warum auch immer). Das ganze mit notify hatte ich vorher.
Für mich als Laie sieht es so aus, dass die Möglichkeiten mit Condition table eingeschränkter ist als mit notify....


Falls ich akzeptieren muss, dass ich mit Condition  tables nur auf lange Tastendrücke reagieren kann (bei meiner Fernbedienung), ist es möglich, das Peering so zu lassen und zusätzlich kurze Tastendrücke mit notify behandeln? Sozusagen Mischbetrieb?



Gruß Udo

stromer-12

Ich habe keine Fernbedienung, aber bei den Tastern kann man die Dauer ab wann ein langer Tastendruck vorliegt im jeweiligen Channel einstellen mit:

R-longPress
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

mrhaefele@gmx.de

wenn ich versuche den Wert zu ändern,
setreading   remoteHM_light R-longPress 3

steht er zunächst im Reading.Es ändert sich aber nichts am Verhalten. Irgendwann steht wieder der alte Wert drin mit 0,4s

Ich glaube aber das Problem ist, dass beim Schalter keine Tastendruckzeit ankommt

Ich den Internal steht


Internals:
   DEF        29C30201
   NAME       HM_SW4_Sw_01
   NR         307
   STATE      on
   TYPE       CUL_HM
   chanNo     01
   device     HM_SW4
   peerList   remoteHM_lock,
   Readings:
     2015-01-18 23:04:35   CommandAccepted yes
     2015-01-19 00:02:13   R-remoteHM_lock-lgActionType jmpToTarget
     2015-01-19 00:02:13   R-remoteHM_lock-lgCtDlyOff geLo
     2015-01-19 00:02:13   R-remoteHM_lock-lgCtDlyOn geLo
     2015-01-19 00:02:13   R-remoteHM_lock-lgCtOff geLo
     2015-01-19 00:02:13   R-remoteHM_lock-lgCtOn geLo
     2015-01-19 00:02:13   R-remoteHM_lock-lgCtValHi 100
     2015-01-19 00:02:13   R-remoteHM_lock-lgCtValLo 50
     2015-01-19 00:02:13   R-remoteHM_lock-lgMultiExec on
     2015-01-19 00:02:13   R-remoteHM_lock-lgOffDly 0 s
     2015-01-19 00:02:13   R-remoteHM_lock-lgOffTime unused
     2015-01-19 00:02:13   R-remoteHM_lock-lgOffTimeMode absolut
     2015-01-19 00:02:13   R-remoteHM_lock-lgOnDly 0 s
     2015-01-19 00:02:13   R-remoteHM_lock-lgOnTime unused
     2015-01-19 00:02:13   R-remoteHM_lock-lgOnTimeMode absolut
     2015-01-19 00:02:13   R-remoteHM_lock-lgSwJtDlyOff off
     2015-01-19 00:02:13   R-remoteHM_lock-lgSwJtDlyOn on
     2015-01-19 00:02:13   R-remoteHM_lock-lgSwJtOff dlyOn
     2015-01-19 00:02:13   R-remoteHM_lock-lgSwJtOn dlyOff
     2015-01-19 00:02:13   R-remoteHM_lock-shActionType jmpToTarget
     2015-01-19 00:02:13   R-remoteHM_lock-shCtDlyOff geLo
     2015-01-19 00:02:13   R-remoteHM_lock-shCtDlyOn geLo
     2015-01-19 00:02:13   R-remoteHM_lock-shCtOff geLo
     2015-01-19 00:02:13   R-remoteHM_lock-shCtOn geLo
     2015-01-19 00:02:13   R-remoteHM_lock-shCtValHi 100
     2015-01-19 00:02:13   R-remoteHM_lock-shCtValLo 50
     2015-01-19 00:02:13   R-remoteHM_lock-shOffDly 0 s
     2015-01-19 00:02:13   R-remoteHM_lock-shOffTime unused
     2015-01-19 00:02:13   R-remoteHM_lock-shOffTimeMode absolut
     2015-01-19 00:02:13   R-remoteHM_lock-shOnDly 0 s
     2015-01-19 00:02:13   R-remoteHM_lock-shOnTime unused
     2015-01-19 00:02:13   R-remoteHM_lock-shOnTimeMode absolut
     2015-01-19 00:02:13   R-remoteHM_lock-shSwJtDlyOff off
     2015-01-19 00:02:13   R-remoteHM_lock-shSwJtDlyOn on
     2015-01-19 00:02:13   R-remoteHM_lock-shSwJtOff dlyOn
     2015-01-19 00:02:13   R-remoteHM_lock-shSwJtOn dlyOff
     2015-01-17 21:30:04   R-sign          off
     2015-01-19 00:02:26   RegL_01:         08:00 00:00
     2015-01-19 00:02:27   RegL_03:remoteHM_lock  02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:63 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:14 8C:63 00:00
     2015-01-19 00:07:39   deviceMsg       on (to broadcast)
     2015-01-19 00:07:39   level           100
     2015-01-19 00:07:39   pct             100
     2015-01-19 00:02:26   peerList        remoteHM_lock,
     2015-01-19 00:07:39   recentStateType info
     2015-01-19 00:07:39   state           on
     2015-01-19 00:07:39   timedOn         off
   Helper:
     dlvlCmd    ++A01129A0F629C3020201000000
     peerIDsRaw ,2FB22902,00000000
     Role:
       chn        1
       prs        1
     Shadowreg:
Attributes:
   model      HM-LC-SW4-PCB
   peerIDs    00000000,2FB22902,
   room       CUL_HM
   webCmd     statusRequest:toggle:on:off


frank

entweder du zeigst uns die falschen infos, oder die hast die falschen buttons und aktorchannel gepeert.

ZitatpeerList   remoteHM_lock,
Zitatsetreading   remoteHM_light R-longPress 3
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

mrhaefele@gmx.de

Mein Hauptproblem bleibt dass der gepeerte Schalter keine kurzen Tastendruck akzeptiert. wenn ich kurz drücke passiert nichts. Wenn ich lange drücke funktioniert der gepeerte Schalter

Aber du hast recht. Es War gestern zu spät....

Sorry. Das richtige List

Internals:
   DEF        2FB22903
   NAME       remoteHM_light
   NR         211
   STATE      Short (to vccu)
   TYPE       CUL_HM
   chanNo     03
   device     remoteHM
   Readings:
     2015-01-12 22:18:33   R-dblPress      0 s
     2015-01-17 20:55:38   R-fhem01-expectAES set_off
     2015-01-17 20:55:38   R-fhem01-peerNeedsBurst set_off
     2015-01-18 23:51:11   R-longPress     0.4 s
     2015-01-17 21:42:55   R-sign          on
     2015-01-18 23:51:11   RegL_01:          04:10 08:01 09:00 00:00
     2015-01-19 00:06:55   state           Short (to vccu)
     2015-01-18 19:32:25   trigDst_29A0F6  noConfig
     2015-01-19 00:06:55   trigDst_vccu    noConfig
     2015-01-19 00:06:55   trigger         Short_119
     2015-01-19 00:06:55   trigger_cnt     119
   Helper:
     peerIDsRaw ,00000000
     Role:
       chn        1
     Shadowreg:
Attributes:
   model      HM-RC-Key4-2
   peerIDs    00000000,
   room       CUL_HM

Otto123

Wenn ich richtig sehe ist da nichts gepeert.

--> peerIDs    00000000,

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

wmr72

Zitat von: mrhaefele@gmx.de am 19 Januar 2015, 00:11:34
wenn ich versuche den Wert zu ändern,
setreading   remoteHM_light R-longPress 3

Das ist kein Reading sondern ein Register (was im Taster dauerhaft gespeichert wird). Du kannst das ändern mit
set remoteHM_light regSet longPress 3

mrhaefele@gmx.de

Hallo an Alle,

ich möchte mich ausdrücklich für Eure Tipps bedanken. Die haben mich letztendlich dazu geführt (weil irgendwie nicht funktionieren wollte), beim Schalter und der Fernbedienung einen Werksreset zu machen...

Und siehe da, es tut alles. Geil   ;-)

Ich kann jetzt wie erwartet zwischen short und long unterscheiden.