IKEA Fernbedienung STYRBAR 3fach Event

Begonnen von SamNitro, 12 Dezember 2021, 16:50:42

Vorheriges Thema - Nächstes Thema

SamNitro

Hallo zusammen, ich habe heute eine IKEA STYRBAR in betrieb genommen, aber bei einem Tastendruck bekomme ich 3 mal das Event on bzw off.
Ich würde gerne per doif einen Toggle Befehl ausführen, der natürlich dann auch 3 mal ausgeführt wird.

Wie kann ich das unterbinden?

2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 update_available: false
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 action: on
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 update_state: idle
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 battery: 100
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 linkquality: 255
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 linkquality: 255
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 battery: 100
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 update_state: idle
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 action_group: 901
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 update_available: false
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 action: on
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 linkquality: 255
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 update_state: idle
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 battery: 100
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 action: on
2021-12-12 16:44:14 MQTT2_DEVICE FB_Eckig_Neu_1 update_available: false


LG Patrick
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

bartman121


SamNitro

Bringt mir bei der toggle Funktion nichts.. dann löst er ja nur ein mal aus
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

bartman121

Also, keine Ahnung warum der Schalter überhaupt die drei Events sendet... Hab den nicht da und kann daher nicht helfen...

Hinsichtlich doif hab ich keine Ahnung, weil ich das nicht einsetze. Geht ja auch alles mit notify, watchdog und at zu erschlagen.....

Wenn du nötify nutzen würdest,dann wäre das Attribut "disabledAfterTrigger" meine Wahl für dieses Problem....

Aber bei deiner Konstellation/Wunsch bin ich ratlos,weil keine Ahnung von doif.

Warum eigentlich ein doif für diese einfache Aufgabe?

SamNitro

Habe die Lösung gefunden, im zigbee2mqtt kann man beim Device folgendes hinzufügen:
debounce: 0.1
    debounce_ignore:
    - action
    - brightness


DOIF finde ich persönlich übersichtlicher und da der Taster 4 oder sogar noch mehr Funktionen hat, habe ich dann alles in einem DOIF.

Zitat vom zigbee2mqtt
This device sends multiple messages in short time period with the same payload. It's worth setting debounce option with debounce_ignore: - action to throttle them without losing unique action payloads.

(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

bartman121

#5
Nunja, du hast es ja gelöst...herzliche. Glückwunsch!

Aber man kann sowas auch in EINEM notify alles abfrühstücken...

Beispiel aqara opple Taster der vier Tasten hat und sogar noch short- und Longpress unterscheidet...

SZ.SWITCH2:.*([1-4]00[1-3]) {
#LED ist oben links
#oben links
if ($EVENT eq "1002") {
fhem("set SZ.HEIZDECKE on");;
}
#oben rechts
if ($EVENT eq "2002") {
fhem("set SZ.HEIZDECKE off");;
}

#unten links

if ($EVENT eq "3002") {
fhem("set ha_bedside_lamp on_4_blue");
fhem("defmod ha_bedside_lamp_off at +01:00:00 set ha_bedside_lamp off_");;
}

if ($EVENT eq "3001") {
fhem("set ha_bedside_lamp on_255_blue");
fhem("defmod ha_bedside_lamp_off at +01:00:00 set ha_bedside_lamp off_");;
}

#unten rechts
if ($EVENT eq "4002") {
fhem("set ha_bedside_lamp off_");;
}
}


Aber ich denke doif ist momentan das non-plus-ultra, weil ich hier immer nur lese,dass doif selbst für die einfachsten Sachen verwendet wird. Irgendwelche Vorteile wird's schon haben

Grüße Andreas