Страница 1 из 1

[Дизайн] Сцена для управления освещением Yeelight

Добавлено: Вт сен 08, 2020 12:29 am
Divan
Тренировочная сцена для управления освещением. Если вы хотите научиться делать сцену с управлением освещения, то вам нужно посмотреть видео. Ниже приложил рабочий код для встраивания колорпикера на сцену. Установщик рекомендую ставить на тестовую машину. Сначала потренируйтесь, а потом переносите на боевую машину.
СпойлерПоказать
Сцена управления освещением.jpg
Сцена управления освещением.jpg (51.95 КБ) 2572 просмотра
Скачать установщик сцены. Устанавливать вручную через маркет дополнении.
LightingControl.tar.gz
(107.3 КБ) 195 скачиваний
Скачать колорпикер
Farbtastic Color Picker.zip
(20.36 КБ) 197 скачиваний

Код колорпикера в формате HEX

Код: Выделить всё

<script type="text/javascript" src="/js/farbtastic.js"></script>
<link rel="stylesheet" href="/css/farbtastic.css" type="text/css" />
<div id="имя для колорпикера"></div>
<script language="javascript">
function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h}
function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)}
function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)}
function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)}
function decToHex(number) { if (number < 0) { number = 0xFFFFFFFF + number + 1; }
return number.toString(16).toUpperCase(); }
$('#имя для колорпикера').farbtastic( function (color) {
r = HexToR(color);
g = HexToG(color);
b = HexToB(color);
$.get("/objects/?object=Объект&op=set&p=Свойство&v="+cutHex(color));
});
$.get("/objects/?object=Объект&op=get&p=Свойство", function (data) { $.farbtastic("#имя для колорпикера").setColor("#"+data); });
</script>  


Код колорпикера в формате RGB
Внимание!!!
$.get("/objects/?object=Объект&op=set&p=Red&v="+r); \\Red это свойство. Нужно создать свойство с этим именем.
$.get("/objects/?object=Объект&op=set&p=Green&v="+g); \\Green это свойство. Нужно создать свойство с этим именем.
$.get("/objects/?object=Объект&op=set&p=Blue&v="+b); \\Blue это свойство. Нужно создать свойство с этим именем.

Код: Выделить всё

<script type="text/javascript" src="../js/farbtastic.js"></script>
<link rel="stylesheet" href="../css/farbtastic.css" type="text/css" />

<div id="имя для колорпикера" style="margin: 0 auto;"></div>

<script language="javascript">
function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h}
function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)}
function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)}
function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)}
function decToHex(number) { if (number < 0) { number = 0xFFFFFFFF + number + 1; }
return number.toString(16).toUpperCase(); }

$('#имя для колорпикера').farbtastic( function (color) {
r = HexToR(color);
g = HexToG(color);
b = HexToB(color);
$.get("/objects/?object=Объект&op=set&p=Red&v="+r);
$.get("/objects/?object=Объект&op=set&p=Green&v="+g);
$.get("/objects/?object=Объект&op=set&p=Blue&v="+b);
$.get("/objects/?object=Объект&op=set&p=Свойство&v="+cutHex(color));
});

$.get("/objects/?object=Объект&op=get&p=Свойство", function (data) { $.farbtastic("#имя для колорпикера").setColor("#"+data); });
</script>

Re: [Дизайн] Сцена для управления освещением Yeelight

Добавлено: Чт сен 10, 2020 2:42 pm
SlavaAf
Добрый день. Не получилось установить на Raspberry. Маркет дополнений все пишет ОК. Далее я нашел LightingControl.tar во вкладке Custom маркета дополнений, потом я скопировал файлы по инструкции, только путь у меня другой в /var/www/html/js и /var/www/html/css
Но сцена у меня не появилась в списке сцен.