6er Taster HM-PB-6-WM55 - Lautstärke mit DOIF bei längerem Halten

Begonnen von Gunther, 26 Oktober 2017, 23:39:13

Vorheriges Thema - Nächstes Thema

Gunther

Bin ich hier im Unterforum richtig?

Ich versuche vergeblich mein Tablet (AMAD) in der Lautstärke per HM-Taster WAF-tauglich zu verstellen.
Beim gedrückt halten möchte ich eine Änderung (volumeUp) haben. Geht das?

So sieht mein DOIF aus:
define doif_og_bz_6erSchalter_Btn_01 DOIF ([og_bz_6erSchalter_Btn_01:"Long.*"] (set eg_wz_Tablet10Zoll volumeUP) DOELSEIF ([og_bz_6erSchalter_Btn_01:"Short.*"] (set eg_wz_Tablet10Zoll mediaSpotifyMusic play/pause)


Habt Ihr einen Tipp für mich?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Ellert

Würdest Du das DOIF etwas strukturieren, dann liest es sich besser und wäre eine vollständige Geratebeschreibung inkl. Attribute machbar?

ZitatGeht das?

Eigentlich solltest Du sagen, ob es funktioniert, und wenn nicht, dann genau beschreiben was nicht geht.

amenomade

Damit kriegst Du eine Fehlermeldung "no right bracket".
Nur wegen Syntax, wäre es besser so:

define doif_og_bz_6erSchalter_Btn_01 DOIF ([og_bz_6erSchalter_Btn_01:"Long.*"]) (set eg_wz_Tablet10Zoll volumeUP) DOELSEIF ([og_bz_6erSchalter_Btn_01:"Short.*"]) (set eg_wz_Tablet10Zoll mediaSpotifyMusic play/pause)

Wenn eg_wz_Tablet10Zoll ein AMADDevice ist, dann ist es wahrscheinlich "volumeUp" statt "volumeUP".
Mit "play/pause" hab ich auch ein Zweifel

Das hat im Moment nichts mit Homematic zu tun... dann wäre es besser im Anfängerfragen Unterforum oder im DOIF Unterforum.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Hollo

Zitat von: Gunther am 26 Oktober 2017, 23:39:13
...Habt Ihr einen Tipp für mich?
Werd gesund, Du hast momentan eindeutig zu viel Zeit zum Basteln und zu viele Projekte.   ;)

Ich habe kein DOIF, werte meinen 6fach-Taster per notify aus und löse damit die gewünschte Funktion aus.
Vielleicht bekommen wir das kommende Woche mal hin und ich kann Dir das zeigen.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Pfriemler

Damit das DOIF nicht nur einen Long auswertet, nachdem ein Short gesendet wurde, bedarf es des attr ... do always.
Dann sollte das Teil aber ca. alle 0,3s einen volumeUp senden. Keine Ahnung ob das evtl zu schnell ist?
Allerdings triggert auch das LongRelease nach dem Loslassen, dieser "Nachschlag" könnte auch problematisch sein.
Jm2c.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Gunther

Danke Euch für die Hilfe.
Irgendwie scheint das mit dem länger drücken nicht so richtig praktikabel zu sein.
Habe nun umgebaut auf "kurz Drücken!. Dann muss man (Frau) öfter kurz drücken. Das funktioniert schon einigermaßen.
Trotzdem verhält sich das nun komisch.

Aufgebaut habe ich leise und laut in 2 DOIFS:
define doif_og_bz_6erSchalter_Btn_01 DOIF ([og_bz_6erSchalter_Btn_01:"Short.*"]) (set eg_wz_Tablet10Zoll volumeDown) DOELSEIF ([og_bz_6erSchalter_Btn_01:"Long.*"]) (set og_bz_4erSchalter_Sw_01_Verstaerker on)
attr doif_og_bz_6erSchalter_Btn_01 do always

define doif_og_bz_6erSchalter_Btn_02 DOIF ([og_bz_6erSchalter_Btn_02:"Short.*"]) (set eg_wz_Tablet10Zoll volumeUp) DOELSEIF ([og_bz_6erSchalter_Btn_02:"Long.*"]) (set og_bz_4erSchalter_Sw_02_Tablet on)
attr doif_og_bz_6erSchalter_Btn_02 do always


Wenn ich nun zu schnell in Folge drücke nimmt mein AMAD Tablet Befehle manchmal an, aber führt sie nicht aus. Im Log zu sehen bei den volumeUP Einträgen hintereinander. Andernfalls würde da der neue Volume Wert (z.B. volume:3) stehen.
Irgendwann geht es dann mal gar nicht mehr (unten im Log). Warte ich, gehts wieder. Woran liegt das? Overload?

[Edit:
Mit
attr doif_og_bz_6erSchalter_Btn_01 wait 1:0
kommen erstmal keine Fehler
]

2017-10-27 18:44:46 AMADDevice eg_wz_Tablet10Zoll volume: 9
2017-10-27 18:44:46 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:44:47 AMADDevice eg_wz_Tablet10Zoll volumeDown
2017-10-27 18:44:47 AMADDevice eg_wz_Tablet10Zoll volumeDown
2017-10-27 18:44:47 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:44:48 AMADDevice eg_wz_Tablet10Zoll volumeDown
2017-10-27 18:44:48 AMADDevice eg_wz_Tablet10Zoll volume: 6
2017-10-27 18:44:48 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:44:48 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:44:56 AMADDevice eg_wz_Tablet10Zoll volumeDown
2017-10-27 18:44:56 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:44:57 AMADDevice eg_wz_Tablet10Zoll volume: 3
2017-10-27 18:44:58 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:44:59 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:44:59 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:44:59 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:00 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:00 AMADDevice eg_wz_Tablet10Zoll volume: 6
2017-10-27 18:45:00 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:12 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:13 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:13 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:14 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:15 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:15 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:15 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:15 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:16 AMADDevice eg_wz_Tablet10Zoll volume: 9
2017-10-27 18:45:22 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:24 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:24 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:24 AMADDevice eg_wz_Tablet10Zoll volume: 12
2017-10-27 18:45:24 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:28 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:29 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:29 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_done
2017-10-27 18:45:33 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:33 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:33 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:34 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:34 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: statusRequest_error
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:35 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: statusRequest_error
2017-10-27 18:45:43 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:43 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:43 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:43 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:44 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:44 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:45 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:45 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:46 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:46 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:47 AMADDevice eg_wz_Tablet10Zoll volumeUp
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: statusRequest_error
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: statusRequest_error
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:49 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: statusRequest_error
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: statusRequest_error
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: statusRequest_error
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll 404
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: setCmd_error
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandError:
2017-10-27 18:45:50 AMADDevice eg_wz_Tablet10Zoll lastSetCommandState: statusRequest_error


Zitat von: Hollo am 27 Oktober 2017, 13:07:58
Werd gesund, Du hast momentan eindeutig zu viel Zeit zum Basteln und zu viele Projekte.   ;)
Wenigstens kann ich mich mal mehr als 30 Min. zwischendurch mit FHEM beschäftigen. Habe die letzten Tage soviel umgesetzt, wie die letzten 2 Jahre nicht. :-)
Komm gerne auf einen Kaffee vorbei. Schick mal eine WhatsApp wenn Du Zeit hast.
Achja: Hatte einige Taster bisher auch mit notifys, finde aber langsam Gefallen an den DOIFs.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Pfriemler

#6
DOIF tut ja offenbar was es soll, du solltest bei AMAD fragen, warum so schnelle Kommandos problematisch sind. Das wird dann auch klären, warum das Long für Volume nicht praktikabel war.

Sonst könnte man den Button auch auf eine niedrigere Wiederholrate programmieren. Mist, geht ja gar nicht. Dann im DOIF.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Ellert

Mit dem Attribut cmdpause könnte man die Wiederholrate im DOIF einstellen.