@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);
});