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

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

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

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

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

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

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

Код колорпикера в формате 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
Но сцена у меня не появилась в списке сцен.
Ответить