Zigbee2mqtt+ikea lamp + ikea switch howto

Спасибо большое все вышесказанное прекрасно заработало, теперь вопрос с кнопкой

кнопка у меня 0x000d6ffffe256597 (IKEA tradfri E1524)

значит устройство будет называться zigbee2mqtt/0x000d6ffffe256597

ну и например будем центральной кнопкой выключать и включать лампу

насколько видно при нажатии на эту кнопку
state не изменяется
action - изменяется и приобретает состояние toggle

помогите пожалуйста с примером кода как написать правило для того, чтоб при нажатии на центр включалась или выключалась лампа

и еще с 1 примером для ползунка (яркость)

за это будут отвечать кнопки вверх и вниз

action:

brightness_up_click
brightness_up_hold
brightness_up_release
brightness_down_click
brightness_down_hold
brightness_down_release

сейчас я успешно управляю лампой вот таким правилом:

defineVirtualDevice("simple_button", {
  title: "Simple button",
  cells: {
    enabled: {
    type: "switch",
    value: false
    },
    brightness: {
	    type: "range",
	    value: 25,
      max: 254
    },
      color_temp: {
	    type: "range",
	    value: 25,
		max: 500,
        min: 100
    },
  }
});

defineRule("simple_switch", {
whenChanged: "simple_button/enabled",
then: function (newValue, devName, cellName) {
  if (newValue){ //В newValue передается значение контрола
    publish("zigbee2mqtt/0x8cf681fffe2a0b0b/set", JSON.stringify({ state: "ON" }), 2, false);
  }
  else{
    publish("zigbee2mqtt/0x8cf681fffe2a0b0b/set", JSON.stringify({ state: "OFF" }), 2, false);
  }
}
});

defineRule("simple_switch_BR", {
  whenChanged: "simple_button/brightness",
  then: function (newValue, devName, cellName) {
	publish("zigbee2mqtt/0x8cf681fffe2a0b0b/set", JSON.stringify({ brightness: "{}".format(newValue) }), 2, false);
   }
});

defineRule("simple_switch_CT", {
  whenChanged: "simple_button/color_temp",
  then: function (newValue, devName, cellName) {
	publish("zigbee2mqtt/0x8cf681fffe2a0b0b/set", JSON.stringify({ color_temp: "{}".format(newValue) }), 2, false);
   }
});