@paul53
Danke Paul, das war schon der Hinweis den ich gebraucht habe.
Er sendet ein und ein "brightness_up_hold" beim Drücken und ein "brightness_up_release" beim Loslassen.
Ich hatte das übersehen.
Und sorry wenn ich mich mit den ganzen Begriffen noch nicht so auskenne.
Aber Paul hat ja mein Problem dann doch erkannt
so geht es
var timer= null;
on( // Ikea Lichttaster 1
{id: 'mqtt.0.zigbee2mqtt.0x5c0272fffe33314b', change: "any"}, function () {
var x = (getState('mqtt.0.zigbee2mqtt.0x5c0272fffe33314b').val);
var x2 = JSON.parse(x).action;
//console.log(x2);
var y = '0_userdata.0.Lichttaster_Ikea_1.Helligkeit';
var z = '0_userdata.0.Lichttaster_Ikea_1.Farbton';
var e = '0_userdata.0.Lichttaster_Ikea_1.EIN';
if(x2 == 'brightness_up_click') setState(y, getState(y).val + 10);
if(x2 == 'brightness_down_click') setState(y, getState(y).val - 10);
if(x2 == 'brightness_up_hold') {
timer = setInterval(function(){ setState(y, getState(y).val + 5);}, 500);
if (getState(y).val == 100) clearInterval(timer); }
if(x2 == 'brightness_up_release') {
console.log(x2);
clearInterval(timer); }
if(x2 == 'brightness_down_hold') {
timer = setInterval(function(){ setState(y, getState(y).val - 5);}, 500);
if (getState(y).val < 1) clearInterval(timer); }
if(x2 == 'brightness_down_release') {
console.log(x2);
clearInterval(timer); }
if(x2 == 'arrow_right_click') {setState(z, getState(z).val + 1); if (getState(z).val >9) setState(z,1);}
if(x2 == 'arrow_left_click') {setState(z, getState(z).val - 1); if (getState(z).val <2) setState(z,10);}
if(x2 == 'toggle') setState(e, !getState(e).val);
});