Управление RGB лентой из Homebridge - неверный формат сообщения в топике RGB/on

Добрый вечер!

Настраиваю интеграцию Apple Siri с Wirenboard 6 через Homebridge и плагин MQTT. Возник вопрос по настройке цветной светодиодной ленты, путём изучения логов MQTT выяснилось, что WB-MRGBW-D ожидает в топике для RGB/on значение яркости каналов с разделителем точка-запятая т.е. -t ‘123;23;100’. А homebridge отправляет в качестве разделителя просто запятую ‘123,23,100’ - в результате управление светодиодном не работает.

Вопрос

  1. можно ли настроить в WB6 символ разделителя сообщения на управление RBG-каналом - чтобы он понимал запятую?

  2. или альтернативный вариант - можно ли перенастроить символ разделителям на стороне homebridge? Чтобы он писал в топик в понятном для WB6 формате? Поискала - пока ничего не нашла :frowning:

Помогите :sos:

Добрый день.
В самом Homebridge - - не подскажу а в движке правил контроллера - можно как угодно поменять формат, создав виртуальное устройство-посредник.
Например так:

Ну и похожая тема, с преобразованием:

То есть сделать аналогично, получить строку с разделителем-запятой и поменять на разделитель “;”

Спасибо :pray: Сделала тестовый вариант с виртуальным устройством - через него цвет управляется корректно.


//   /devices/wb-mrgbw-d_229/controls/RGB
var dimmNumber = "02" //name VIRTUAL device (this) #ChangeMe!#
var devDimmer = "wb-mrgbw-d_229" // For name REAL MRGBW-D device #ChangeMe!#

defineVirtualDevice(dimmNumber +"mrgbw-d", {
  title: dimmNumber +" MRGBW-D", //
  cells: {
    RGB : {
        type : "text",
        readonly: false,
      	value : "0,0,0",
        order: 1,
    }
  }
});

function changeSetting(){
  log.info("Enter function");
  stringRGB = dev[dimmNumber +"mrgbw-d/RGB"].toString();  
  dev[devDimmer +"/RGB"] = stringRGB.replace(/,/g,';');
}


defineRule( "RGB_change" ,{
  whenChanged: dimmNumber +"mrgbw-d/RGB",
  then: function (newValue, devName, cellName){
    log.info("RGB changed", newValue)
    changeSetting();
  }
});


1 Like

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.