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

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

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

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

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

Сообщение Divan » Вт сен 08, 2020 12:29 am

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

Код колорпикера в формате 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>
За это сообщение автора Divan поблагодарили (всего 4):
homester (Вт сен 08, 2020 4:21 am) • Chainik (Вт сен 08, 2020 9:45 am) • kas5858 (Чт дек 10, 2020 3:45 pm) • Samir77 (Пн янв 25, 2021 8:47 pm)
Рейтинг: 4.65%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
SlavaAf
Сообщения: 59
Зарегистрирован: Вс июл 26, 2020 6:52 pm
Благодарил (а): 17 раз
Поблагодарили: 0

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

Сообщение SlavaAf » Чт сен 10, 2020 2:42 pm

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