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

Оформление сцен, меню, страниц

Модераторы: immortal, newz20

Ответить
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

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

Сообщение Divan »

Тренировочная сцена для управления освещением. Если вы хотите научиться делать сцену с управлением освещения, то вам нужно посмотреть видео. Ниже приложил рабочий код для встраивания колорпикера на сцену. Установщик рекомендую ставить на тестовую машину. Сначала потренируйтесь, а потом переносите на боевую машину.
SPOILERSPOILER_SHOW
Сцена управления освещением.jpg
Сцена управления освещением.jpg (51.95 КБ) 6275 просмотров
Скачать установщик сцены. Устанавливать вручную через маркет дополнении.
LightingControl.tar.gz
(107.3 КБ) 349 скачиваний
Скачать колорпикер
Farbtastic Color Picker.zip
(20.36 КБ) 347 скачиваний

Код колорпикера в формате 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>
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
SlavaAf
Сообщения: 59
Зарегистрирован: Вс июл 26, 2020 6:52 pm

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

Сообщение SlavaAf »

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