Управление Алисой

Добрый день. Пытаюсь настроить управление WB6 Алисой. Использовал инструкцию https://m.habr.com/ru/post/465537/
Получил статический ip от провайдера. Зарегистрировал домен, настроил dns. Получил сертификат ssl. При проверке сертификата https://www.sslshopper.com/ssl-checker.html все хорошо.
Дошел до настроек привязки аккаунта в Яндексе. Создал диалог настроил. Опубликовал. При попытке привязать аккаунт происходит авторизация.
Далее запрос на разрешение


После этого выдает сообщение об ошибке
Подскажите пожалуйста в чем проблема и как это исправить?

подключите через спрут хаб и проблем не будет, правдо она еще тестовая и нужно попросить разработчика дать разрешение на эксплуатацию, но за то все подключается легко

1 симпатия

Добрый день! Как удалось решить данную проблему? Через спрут или по данной статье? А если через спрут, подскажите как спросить разрешение разработчика?
Заранее спасибо

Проблема не решена. Заказчик приостановил работы по настройке, вероятно до весны. Управляем контроллером через интернет, web интерфейс. Sprut hab надо спросить в Telegram

Спасибо.

Для Node-red появился замечательный плагин управления через Алису / Yandex:


Это не только плагин, а так-же, можно сказать, облачная платформа, которая позволяет легко связать аккаунт в Яндексе с созданным вами аккаунте в этом плагине (напрямую из этого плагина!). Более того, я умудрился на следующий день потерять созданный пароль - плагин позволил мне его восстановить через E-mail!
Таким образом буквально за 5 мин я прикрутил WB с Node-red к Алисе /.Яндексу. И уже через час мог командовать своим освещением и подогревом воды своего бойлера :slight_smile:

Проект некоммерческий и у него один контрибутор, поэтому, нет уверенности в его дальнейшем успешном существовании. Но в текущий момент я буду пользоваться им.

1 симпатия

Подскажите пожалуйста Кто то связывал Алису с wb rgb?

Я связывал, а в чем у вас трудность?

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

Не совсем понял суть. Не могли бы подробнее описать проблему: что вы делаете, что ожидаете получить, что получаете вместо этого?

Например:
Я подключил диммер к контроллеру, настроил Алису, написал промежуточное правило для конвертирования хекса в rgb, полученные RGB значения шлю в топик диммера. Диммер меняет цвет.

Ожидаю: получить от Яндекса HEX,
Получаю: Яндекс присылает HSL

Не могли бы Вы предоставить код правила, я понял в чем проблема.

Мы одно и то же обсуждаем:

Может быть у Вас есть пример где то в базе знаний как это реализовать? Подскажите пожалуйста

Вот сейчас для пожего вопроса набросал скрипт:


Можно использовать функцию оттуда для установки строки из трех целых.
С разложением в RGB справитесь?

Спасибо, да

var rule_RGB_device_light_lounge_color = defineRule('RGB_device_light_lounge_color', { 
  whenChanged: 'light_lounge/Цвет', 
  then: function (newValue, devName, cellName){
    var timer_loc = null;
    
    switch(newValue){
      //красный
      case 16714250 :
        newValue = '255;0;0';
        break;
     //изумрудный
      case 16729907 : 
        newValue = '255;127;80';
        break;
      //оранжевый
      case 16727040 : 
        newValue = '255;127;0';
        break;
      //салатовый
      case 13303562 : 
        newValue = '153;255;153';
        break;
      //желтый
      case 16740362 : 
        newValue = '255;255;0';
        break;
      //зеленый
   timer_loc = setTimeout(function(){
      if (newValue != '0;0;0'){
        dev['light_lounge/Цвет'] = newValue;
        dev['light_RGB/Цвет над фартуком'] = newValue;
        dev['light_RGB/Цвет над телевизором'] = newValue;
        dev['light_lounge/Подсветка в гостиной'] = true;
        initColorRGB('light_lounge/Цвет');
      }
      else {
        dev['light_lounge/Цвет'] = newValue;
        dev['light_RGB/Цвет над фартуком'] = '0;0;0';
        dev['light_RGB/newValue'] = '0;0;0';
        dev['light_lounge/Подсветка в гостиной'] = false;
      }
    },500);
  }
});

Не срабатывает, что то не так. Не подскажите? Не передает новое значение из case

Поставьте перед switch вывод в лог значения и типа newValue. Очень даже можнет быть что это строка.

А зачем вообще case?
Ну проще ж можно:

//01_14_test_01.js
var newValue = 16714250;
//var newValue = 255;
strHexValue = newValue.toString(16)

log.info ("strHexValue=",strHexValue)

while (strHexValue.length<6){
  strHexValue="0"+strHexValue;
}
log.info ("full strHexValue=",strHexValue)
intR =parseInt("0x"+strHexValue.slice(0, 2))
intG =parseInt("0x"+strHexValue.slice(2, 5))
intB =parseInt("0x"+strHexValue.slice(4, 6))
outStringRGB = intR.toString()+";"+intG.toString()+";"+intB.toString()
log.info ("outStringRGB=",outStringRGB)

Это строка. В Вашем коде надо что то править? В своем я в кавычки взял
case ‘16714250’ :
newValue = ‘255;0;0’;
break;