efa2000 / node-red-contrib-alice

The module allows you to use Node-Red together with the Yandex.Alice voice assistant service (voice control of Yandex smart home devices)
MIT License
39 stars 8 forks source link

нода range яркость #37

Closed RootShell-coder closed 4 years ago

RootShell-coder commented 4 years ago

Не добавляется в устройство яркость. Временно решил через громкость. -"Алиса, громкость подсветки 20". Это работает, но все время забываю, что подсветку нужно делать громче или тише. =)

upd: В коде range.html я заметил вот такую запись. Так как громкость работает, старался ориентироваться на этот факт.

$('#node-input-unit').append('<option value="unit.number">Number</option>');
$('#node-input-unit select').val("unit.number");

и есть упоминание об unit.number в range.js

яркость описывается в процентах .

$('#node-input-unit').append('<option value="unit.percent">%</option>');
$('#node-input-unit select').val("unit.percent");

я провел небольшое исследование кода. Конечно я плохо понимаю js и не очень уверен в своих знаниях. Но я не нашел упоминание о unit.percent в range.js. Может яркость сделать не в процентах, а так же как громкость в значениях? Возможно я некорректно использую ноду range.brightness и предельное значение не может быть более 100? В моем освещении используется 8бит значение яркости от 0 до 255.

thx

RootShell-coder commented 4 years ago

Разобрался, нужно вычислять значение яркости из процента.

var brightness = 255;
var value = {}
value.payload = Math.ceil(msg.payload * (brightness / 100))
return value