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]
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.
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
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
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
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
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
Wenn ich richtig sehe ist da nichts gepeert.
--> peerIDs 00000000,
Gruß Otto
ausserdem benötigt die fb ein getconfig.
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
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.