Двухцветная лента и алиса

Добрый день! У лед димера я выбрал каналы cct+cct. В вебинтерфейсн wb лента ползунком меняет цветовую температуру. Добавил в интеграцию к алисе этот элемент, в нем тоже выбрал со сменой температуры, в алисе добавил этот элемент, в алисе у этого элемента есть выбор цветрвой температуры, но температура всегда одно. Опишите пожалуйста пошагово с самого начала как сделать так, чтоб в итоге алиса меняла световую температуру.

Добрый день.
Я делаю примерно так:

log.info("BrightnessCCT2HA: запуск");

var HA_BASE = "homeassistant";

/**
 * Регистрирует источник света с поддержкой яркости и CCT в Home Assistant через MQTT Discovery.
 *
 * @param {string} lightName  - Отображаемое имя в Home Assistant
 * @param {string} wbTopic    - Топик WB в формате "устройство/контрол"
 * @param {string} uniqueId   - Уникальный ID (только латиница, цифры, _)
 * @param {string} [suggestedArea] - Рекомендуемая зона/помещение в HA (опционально)
 */
function registerLightBrightnessCCT(lightName, wbTopic, uniqueId, suggestedArea) {
  var parts   = wbTopic.split("/");
  var device  = parts[0];
  var control = parts[1];

  // MQTT-пути WirenBoard
  var wbStatePath   = "/devices/" + device + "/controls/" + control;
  var wbCommandPath = wbStatePath + "/on";
  var wbBrightnessPath = wbStatePath + "/brightness";
  var wbCCTPath = wbStatePath + "/cct";
  var wbErrorCell   = wbTopic + "#error";

  // Топики Home Assistant
  var haAvailTopic  = HA_BASE + "/light/" + uniqueId + "/availability";
  var haConfigTopic = HA_BASE + "/light/" + uniqueId + "/config";

  // --- 1. MQTT Discovery ---
  var config = {
    name:               lightName,
    command_topic:      wbCommandPath,
    state_topic:        wbStatePath,
    payload_on:         "1",
    payload_off:        "0",
    state_on:           "1",
    state_off:          "0",
    availability_topic: haAvailTopic,
    unique_id:          uniqueId,
    brightness:         true,
    brightness_command_topic: wbBrightnessPath,
    brightness_state_topic: wbBrightnessPath,
    brightness_scale:   100,
    color_temp:         true,
    color_temp_command_topic: wbCCTPath,
    color_temp_state_topic: wbCCTPath,
    min_mireds:         153,
    max_mireds:         500,
    device: {
      identifiers:  [uniqueId],
      name:         lightName,
      manufacturer: "WirenBoard",
      model:        "MQTT Light Brightness CCT"
    }
  };

  if (typeof suggestedArea === "string" && suggestedArea.trim() !== "") {
    config.device.suggested_area = suggestedArea.trim();
  }

  function publishAvailability(errorValue) {
    var hasError = (errorValue !== undefined &&
                    errorValue !== null &&
                    String(errorValue).trim() !== "");
    publish(haAvailTopic, hasError ? "offline" : "online", 1, true);
  }

  publish(haConfigTopic, JSON.stringify(config), 1, true);
  publishAvailability(dev[wbErrorCell]);

  log.info("BrightnessCCT2HA: зарегистрирован [" + lightName + "]" +
           " | WB: " + wbTopic +
           " | HA id: " + uniqueId);

  defineRule("wb2ha_avail_" + uniqueId, {
    whenChanged: wbErrorCell,
    then: function (newError) {
      publishAvailability(newError);
      if (newError !== undefined && newError !== null && String(newError).trim() !== "") {
        log.warning("BrightnessCCT2HA: [availability] " + lightName + " -> offline | error: " + newError);
      } else {
        log.info("BrightnessCCT2HA: [availability] " + lightName + " -> online");
      }
    }
  });

  defineRule("wb2ha_light_" + uniqueId, {
    whenChanged: wbTopic,
    then: function (newValue, devName, cellName) {
      var state = newValue ? "1" : "0";
      log.debug("BrightnessCCT2HA [wb→ha] " + lightName + " = " + state);
      publish(wbStatePath, state, 0, true);
    }
  });

  defineRule("ha2wb_light_" + uniqueId, {
    whenChanged: wbTopic,
    then: function (newValue, devName, cellName) {
      log.debug("BrightnessCCT2HA [ha→wb] " + lightName +
                " | устройство: " + devName +
                " | канал: " + cellName +
                " | значение: " + newValue);
    }
  });

  // Яркость
  defineRule("wb2ha_brightness_" + uniqueId, {
    whenChanged: wbBrightnessPath,
    then: function (newValue) {
      log.debug("BrightnessCCT2HA [wb→ha] " + lightName + " яркость = " + newValue);
      publish(wbBrightnessPath, newValue, 0, true);
    }
  });
  defineRule("ha2wb_brightness_" + uniqueId, {
    whenChanged: wbBrightnessPath,
    then: function (newValue) {
      log.debug("BrightnessCCT2HA [ha→wb] " + lightName + " яркость = " + newValue);
    }
  });

  // CCT
  defineRule("wb2ha_cct_" + uniqueId, {
    whenChanged: wbCCTPath,
    then: function (newValue) {
      log.debug("BrightnessCCT2HA [wb→ha] " + lightName + " CCT = " + newValue);
      publish(wbCCTPath, newValue, 0, true);
    }
  });
  defineRule("ha2wb_cct_" + uniqueId, {
    whenChanged: wbCCTPath,
    then: function (newValue) {
      log.debug("BrightnessCCT2HA [ha→wb] " + lightName + " CCT = " + newValue);
    }
  });

  // Публикуем текущее состояние сразу при запуске скрипта
  publish(wbStatePath, dev[wbTopic] ? "1" : "0", 0, true);
  publish(wbBrightnessPath, dev[wbBrightnessPath] || 0, 0, true);
  publish(wbCCTPath, dev[wbCCTPath] || 153, 0, true);
}

// Пример регистрации:
// registerLightBrightnessCCT("Свет с диммированием и CCT", "wb-led/CH1", "dimmable_light1", "Коридор");

Получаю вот такую структуру:

mosquitto_sub -v -t homeassistant/#
homeassistant/light/dimmable_light1/config {"name":"Свет с диммированием и CCT","command_topic":"/devices/wb-led/controls/CH1/on","state_topic":"/devices/wb-led/controls/CH1","payload_on":"1","payload_off":"0","state_on":"1","state_off":"0","availability_topic":"homeassistant/light/dimmable_light1/availability","unique_id":"dimmable_light1","brightness":true,"brightness_command_topic":"/devices/wb-led/controls/CH1/brightness","brightness_state_topic":"/devices/wb-led/controls/CH1/brightness","brightness_scale":100,"color_temp":true,"color_temp_command_topic":"/devices/wb-led/controls/CH1/cct","color_temp_state_topic":"/devices/wb-led/controls/CH1/cct","min_mireds":153,"max_mireds":500,"device":{"identifiers":["dimmable_light1"],"name":"Свет с диммированием и CCT","manufacturer":"WirenBoard","model":"MQTT Light Brightness CCT","suggested_area":"Коридор"}}
homeassistant/light/dimmable_light1/availability online

После этого отдаю в Алису светильник - и все.

Опишите пожалуйста чуть подробнее - какие топики используете, какие значения в них ожидаете, как изменения в топиках должны меняться?

Я поковырялся и разобрался!

Я добавляю в интеграцию устройство, в него добавил три умения

  1. Вкл/выкл
  2. Смену цвета
  3. Смену яркости.

Сохранил, добавил в алису и все, управляю лентой как хочу и алиса все команды выполняет.

Извините за беспокойство! Спасибо за ответы!

Ну отлично, раз то получилось.