FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Gunther am 21 November 2019, 19:58:29

Titel: Dimmen mit Taster realisieren: nur wie?
Beitrag von: Gunther am 21 November 2019, 19:58:29
Leider bin ich bei meiner Recherche nicht fündig geworden.

Ich möchte Dimmen über einen langen Tastendruck realisieren.

Ich nutze die Fernbedienung von Tradfri (Ikey/Zigbee) über meinen DECONZ-Stick. Möchte z. B. ein Homematic-Device dimmen.


Folgendes liefern die Tasten der Ikea-Fernbedieung:
Code: [Auswählen]
# 1002 - Power
#
# 2002 - hochdimmen kurz
# 2001 - hochdimmen lang
# 2003 - hochdimmen loslassen
#
# 3002 - runterdimmen kurz
# 3001 - runterdimmen lang
# 3003 - runterdimmen loslassen
#
# 4002 - links kurz
# 4001 - links lang
# 4003 - links loslassen
#
# 5002 - rechts kurz
# 5001 - rechts lang
# 5003 - rechts loslassen

Gibt es da eine geschickte Lösung?

Meine bisherige Idee:

Da eine Taste bei längerem Drücken nur einen Wert zurückgibt (z. B. 2001), könnte man ja so lange z. B. ein
set hm_dimm_device up
zum hochdimmen ausführen, bis der Wert des Loslassens kommt (z. B. 2003).

Jetzt ist die Frage: Wie macht man es, dass die Dimm-Funktion wie beim internen Taster solange gedrückt gehalten wird?
Kann man da irgendwie mit
set hm_dimm_device pressL
arbeiten (lange Arbeitszeit vorgeben) und den Befehl durch einen weiteren Trigger (2003) abbrechen?
(*wahrscheinlich ist damit aber Dimmen nicht möglich... :-| )

Freue mich über Anregungen. Dimmen muss doch irgendwie mögliich sein, ohne x Mal eine Taste zu drücken...
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: amenomade am 21 November 2019, 20:05:31
Sowas hat eine grosse Chance, blockierend zu werden, wenn man nicht aufpasst.

Kannst Du bitte einen Auszug aus dem Eventmonitor bei langem (z.B. 3 Sek lang) Drucken?
Was für HM Device ist es?
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: amenomade am 21 November 2019, 20:16:44
Ich frage, weil deine Beschreibung nicht genau genug ist: wann kommt das Event 2001? Am Ende des Druckens ? Oder nach x ms am Anfang?

Wenn es am Anfang des langen Druckens kommt, und erst dann am Ende ein 2003 geschickt wird, kann man mit DOIF und repeadcmd arbeiten

DOIF ("2001") (dim up) DOELSEIF ("2003") ()
repeatcmd 0.1:0
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Gunther am 21 November 2019, 20:46:46
So sehen 2 lange Tastendrücke aus:

2019-11-21 20:44:36 HUEDevice eg_ki_zigbee_fernbedienung 4001
2019-11-21 20:44:38 HUEDevice eg_ki_zigbee_fernbedienung 4003
2019-11-21 20:44:46 HUEDevice eg_ki_zigbee_fernbedienung 4001
2019-11-21 20:44:52 HUEDevice eg_ki_zigbee_fernbedienung 4003


Wie kann ich denn weitere DOELSEIF einbinden.

Testweise sieht mein DOIF bisher so aus.
([eg_ki_zigbee_fernbedienung:"^1002$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_ledspots") (set eg_ki_ledspots toggle)
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^1002$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_leuchtrahmen_hauptschalter") (set eg_ki_leuchtrahmen_hauptschalter toggle)
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^1002$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_LEDStreifen") (set eg_ki_LEDStreifen toggle)
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^2001$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_ledspots") (set eg_ki_ledspots up)
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^3001$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_ledspots") (set eg_ki_ledspots up)


Oder muss ich dann mehrere DOIF machen?

Es ist ein HM-LC-DIM1T-FM.
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: amenomade am 21 November 2019, 20:53:30
Du brauchst nur noch ein zusätzliches DOELSEIF, das nichts macht, um ein Statuswechsel zu provozieren, wenn Ende des langen Tastendrucks. Un das attr repeatcmd setzen

DOELSEIF ([eg_ki_zigbee_fernbedienung:"^(2003|3003$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_ledspots") ()
attr <name> repeatcmd 0:0:0:0.1:0.1:0


EDIT: bei 3001 würde ich eher set eg_ki_ledspots down machen, oder? ;)
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Gunther am 21 November 2019, 23:12:39
Das hat geklappt! Super! Danke!

Für die Nachwelt:

defmod doif_eg_ki_zigbee_fernbedienung_licht DOIF ([eg_ki_zigbee_fernbedienung:"^1002$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_ledspots") (set eg_ki_ledspots toggle) \
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^1002$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_leuchtrahmen_hauptschalter") (set eg_ki_leuchtrahmen_hauptschalter toggle) \
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^1002$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_LEDStreifen") (set eg_ki_LEDStreifen toggle)\
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^2001$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_ledspots") (set eg_ki_ledspots up)\
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^3001$"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_ledspots") (set eg_ki_ledspots down)\
DOELSEIF ([eg_ki_zigbee_fernbedienung:"^(2003|3003$)"] and [eg_ki_dummy_fernbedienung] eq "eg_ki_ledspots") ()

attr doif_eg_ki_zigbee_fernbedienung_licht do always
attr doif_eg_ki_zigbee_fernbedienung_licht group Fernbedienung
attr doif_eg_ki_zigbee_fernbedienung_licht repeatcmd 0:0:0:0.1:0.1:0
attr doif_eg_ki_zigbee_fernbedienung_licht room Logik_Licht

Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Spartacus am 25 Dezember 2019, 20:04:17
Hallo Gunther,
ich versuche Deinen Dimmer mit dem DOIF für meine Zwecke nachzubauen. Allerdings verstehe ich es nicht ganz. Welchen Zweck haben die Dummy-Fernbedienungen?

Ich habe das mal zu Testzwecken mit meinem HUEDevice3 aufgesetzt, aber das Dimmen läuft sauschnell und  man kann es kaum kontrollieren.

defmod diZigbeeSwitch DOIF ([IKEA_Schalter:"^1002$"]) (set HUEDevice3 toggle) \
DOELSEIF ([IKEA_Schalter:"^2001$"]) (set HUEDevice3 up)\
DOELSEIF ([IKEA_Schalter:"^3001$"]) (set HUEDevice3 down)\
DOELSEIF ([IKEA_Schalter:"^(2003|3003$)"]) ()
attr diZigbeeSwitch do always
attr diZigbeeSwitch group Fernbedienung
attr diZigbeeSwitch repeatcmd 0:0.1:0.1:0
attr diZigbeeSwitch room ZigBee

setstate diZigbeeSwitch disabled
setstate diZigbeeSwitch 2019-12-25 19:56:35 Device IKEA_Schalter
setstate diZigbeeSwitch 2019-12-25 19:57:00 cmd 3
setstate diZigbeeSwitch 2019-12-25 19:57:00 cmd_event IKEA_Schalter
setstate diZigbeeSwitch 2019-12-25 19:57:00 cmd_nr 3
setstate diZigbeeSwitch 2019-12-25 19:56:35 e_IKEA_Schalter_events 3001
setstate diZigbeeSwitch 2019-12-25 19:57:00 last_cmd cmd_3
setstate diZigbeeSwitch 2019-12-25 19:57:00 mode disabled
setstate diZigbeeSwitch 2019-12-25 19:57:00 state disabled
setstate diZigbeeSwitch 2019-12-25 19:57:00 wait_timer no timer



Was mache ich hier falsch?

Danke und Gruß,
Christian
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: amenomade am 25 Dezember 2019, 20:08:56
Dann einfach das Timing in repeadcmd anpassen.
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Spartacus am 25 Dezember 2019, 20:26:35
Hi,
ich glaube der Fehler lag hier! Es fehlt das $ hinter der 2003, oder ist das Absicht gewesen?
DOELSEIF ([IKEA_Schalter:"^(2003|3003$)"]) ()
habe es in
DOELSEIF ([IKEA_Schalter:"^(2003$|3003$)"]) ()
geändert und es scheint nun zu gehen.
Christian
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Gunther am 25 Dezember 2019, 21:33:13
Der Dummy dient dazu mehrere Lampen zu steuern.
Die Lampen sollen kurz Signal geben (aufleuchten oder kurz ausgehen) sobald die entscheidende Lampe gewählt ist.
Dann schaltet das andere DOIF die jeweilige Lampe.
Hilft Dir das?
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Spartacus am 25 Dezember 2019, 21:37:34
Hu Gunther,
danke Dir, habe das Dimmen hingekriegt...Jetzt fehlt noch die Möglichkeit vordefinierte RGB-Farben quasi durchzublättern :-)

Schöne Weihnachten,
Christian
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Gunther am 25 Dezember 2019, 21:55:15
Steuerst Du eine oder mehrere Lampen?
Sonst ist es ja nicht so schwer.
Wenn mehrere Lampen könntest Du pro Lampe 2 Dummy-Signalisierungen machen:
1. einmal blinken —> Dimmen
2. zweimal blinken —> durchschalten der vordefinierten Farbszenarien (Modul Lightscene)

alternativ: nur Szenarien und kein Dimmen - könnte sonst etwas sperrig werden von der Bedienung
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Spartacus am 25 Dezember 2019, 22:32:29
Hallo Gunther,
das war eine geniale Idee mit dem Modul "Lichszene" da wäre ich nicht drauf gekommen. Die gewünschten Farben einfach mir 100% Helligkeit abspeichern und mit nem Mini-DOIF durchblättern!
([IKEA_Schalter:state]eq "5002" )
(set  scene.Zigbee nextScene)
DOELSE


Hast Du noch mehr so gute Ideen?

Gruß,
Christian.
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Dracolein am 02 Oktober 2020, 22:50:38
Zitat von: Gunther am 21 November 2019, 19:58:29
# 4001 - links lang
# 4003 - links loslassen


# 5001 - rechts lang
# 5003 - rechts loslassen



Hallo zusammen,

ich habe meine Tradfri Fernbedienung heute abend erfolgreich eingebunden und wollte nun die LongPress Geschichten hinzufügen.
Für die obere und untere Taste funktioniert dies auch wie im 1. Posting angegeben. Jedoch für die linke und rechte Taste erhalte ich im Event Monitor gar keine Meldungen bei Long Press.

Habe ich eine veraltete und/oder modernisierte Version der FFB bekommen? Woran könnte das liegen?
Die Fernbedienung habe ich über ConBee II und deCONZ in FHEM eingebunden.
Titel: Antw:Dimmen mit Taster realisieren: nur wie?
Beitrag von: Der_Tom am 06 November 2020, 09:47:10
Zitat von: Dracolein am 02 Oktober 2020, 22:50:38
Hallo zusammen,

ich habe meine Tradfri Fernbedienung heute abend erfolgreich eingebunden und wollte nun die LongPress Geschichten hinzufügen.
Für die obere und untere Taste funktioniert dies auch wie im 1. Posting angegeben. Jedoch für die linke und rechte Taste erhalte ich im Event Monitor gar keine Meldungen bei Long Press.

Habe ich eine veraltete und/oder modernisierte Version der FFB bekommen? Woran könnte das liegen?
Die Fernbedienung habe ich über ConBee II und deCONZ in FHEM eingebunden.

bei interesse habe ich hier mal was gebaut für diese Fernbedienung :
https://forum.fhem.de/index.php/topic,86199.msg1098484.html#msg1098484 (https://forum.fhem.de/index.php/topic,86199.msg1098484.html#msg1098484)

gruss thomas