NEWS
On-Funktion mit mehreren Triggerquellen
-
Hallo, ich hoffe der Titel ist nicht alzu verwirrend. Ich habe zwei Zigbee Taster mit je 6 Tasten von Aqara. Die sollen sich gleich verhalten. Also Taste 4 bei Taster A soll das gleiche Event wie Taste 4 bei Taster B auslösen. Kann man dies mit einer On-Funktion realisieren, oder braucht jeder Taster seinen eigenen Satz an On-Funktionen? Habe mir die Hilfe zur On-Funktion angesehen, werde da aber nicht so recht schlau daraus.
-
@pk68 Wenn Du dir die Funktionsbeschreibung anschaust, kannst sowohl einen String, als auch ein Array mitgeben:
oder einen regulären Ausdruck.
Wenn das eindeutig ist, dann kannst auch Wildcards im String nutzen (wahrscheinlich wird das dann als regulärer Ausdruck genutzt).Im Prinzip müsste also folgendes gehen :
zigbee.0.*.Taste4 gehen, um alle Taster, die einen Datenpunkt Taste4 haben triggern.Wahrscheinlich geht auch so was:
zigbee.0.TasterA.* und dann triggern alle Punkte unter dem TasterA und dann analysierst Du in der function welche Unterpunkt getriggert hat. -
@mickym sagte: Im Prinzip müsste also als String gehn: zigbee.0.*.Taste4 gehen
Als String muss die ID eindeutig sein. Als RegExp funktioniert es mit *.
/zigbee\.0\..*\.Taste4$/
-
@paul53 Und geht das
zigbee.0.TasterA.*
??? oder geht das nicht weil nicht eindeutig und muss
/zigbee\.0\.TasterA\..*$/
heißen???
-
@mickym sagte: Und geht das
zigbee.0.TasterA.* ???Nicht als String.
-
@paul53 Also nur als regulärer Ausdruck wie unten und keine Wildcards in Strings und Arrays?
-
@mickym sagte: Also nur als regulärer Ausdruck wie unten und keine Wildcards in Strings und Arrays?
Ja.
-
Danke Euch beiden für die schnelle Antwort. Hätte vielleicht erwähnen sollen, dass ich noch einen weiteren Schalter aus der Serie habe, welcher in einem anderen Raum liegt und deshalb einen andere Funktionalität hat. Also Wildcard ist keine Option.
Aber Array sollte gehen?on({id: ['zigbee.0.04cf8cdf3c7d31cd.button_4_click','zigbee.0.54ef441000179e04.button_4_click'], val: true}, function (obj) { });
-
Habe es so wie oben eingebaut. Scheint zu funktionieren. Nochmals Danke.