Решил ребенку сделать, тем более у него светодиодная подсветка.
Понятно, что могу тупо яркость желтого цвета увеличивать (как, кстати?), но хочется еще и правильный свет
![Smile :)](./images/smilies/icon_e_smile.gif)
Никто не разрабатывал тему, какого цвета рассвет ?????
![Wink ;)](./images/smilies/icon_e_wink.gif)
Модератор: immortal
Код: Выделить всё
$brightness = gg("NooLiteD_SpalnyaBra.brightness");
if ($brightness > 0 && $brightness < 100){
// вычислим новую яркость
$brightness = $brightness + 5;
// установим яркость Бра в спальне
callMethod("NooLiteD_SpalnyaBra.dim",array("value"=>$brightness));
// запланируем запуск себя через 1 минуту.
SetTimeOut("nl_lowOn_SpalnyaBra",'runScript("nl_lowOn_SpalnyaBra");', 60);
}elseif($brightness == 100){
callMethod("NooLiteD_SpalnyaBra.dim",array("value"=>0));
}
Код: Выделить всё
a:31:{i:0;s:1:"1";i:1;s:1:"1";i:2;s:1:"2";i:3;s:1:"3";i:4;s:1:"4";i:5;s:1:"6";i:6;s:1:"8";i:7;s:2:"12";i:8;s:2:"17";i:9;s:2:"24";i:10;s:2:"34";i:11;s:2:"46";i:12;s:2:"62";i:13;s:2:"81";i:14;s:3:"103";i:15;s:3:"126";i:16;s:3:"148";i:17;s:3:"168";i:18;s:3:"186";i:19;s:3:"200";i:20;s:3:"211";i:21;s:3:"220";i:22;s:3:"226";i:23;s:3:"230";i:24;s:3:"233";i:25;s:3:"235";i:26;s:3:"237";i:27;s:3:"238";i:28;s:3:"238";i:29;s:3:"239";i:30;s:3:"240";}
Код: Выделить всё
if (isWeekDay()) {
if (gg("DimmerKid.Alarm") == 1){ // будильник
if (timeBetween('6:47', '6:49')){
sg("DimmerKid.Ind", 0);
}
if (timeBetween('6:45', '7:15')){
$ar=unserialize(getGlobal('DimmerKid.Mas'));
$ind = gg("DimmerKid.Ind");
$indN = $ind + 1;
sg("DimmerKid.Ind", $indN);
$dd=$ar[$ind];
sg('DimmerKid.Red', $dd);
sg('DimmerKid.Green', $dd);
sg('DimmerKid.Blue', $dd);
sg('DimmerKid.brightness', $dd);
callMethod("DimmerKid.refresh"); // Отправка команды на ардуину и обновление всех свойств.
}
if (timeBetween('7:30', '7:35')){
if (gg("DimmerKid.status") > 0){
sg('DimmerKid.brightness', 0);
callMethod("DimmerKid.refresh");
}
}
}
}
Код: Выделить всё
<?php
$ip = $_GET['ip'];
$pwd = $_GET['pwd'];
$port = $_GET['port'];
$pwm = $_GET['pwm'];
function get($ip, $pwd, $port, $pwm)
{
file_get_contents("http://".$ip."/".$pwd."/?pt=$port&pwm=$pwm");
}
if ($port == 10 || $port == 12 || $port == 13) {
while ($pwm > 0)
{
$pwm = $pwm - 5;
get ($ip, $pwd, $port, $pwm);
usleep(150000);
}
}
?>
Код: Выделить всё
getURL('http://localhost/mega_off.php?ip=10.10.100.10&pwd=sec&port=10&pwm='.getGlobal('MegaD1_10.value'),0);
http://okbit.ru/blog/umnyij-dom/modul-d ... -volt.htmlOlegM писал(а):Есть пару вопросов.
Поскольку в МД обновление сценариев происходит раз в секунду, написал внешний скрипт на php для того чтобы нарастание и убывание происходило плавно в течении 5-10 сек такого содержания:
mega_off.phpСоздал сценарий такого типа:Код: Выделить всё
<?php $ip = $_GET['ip']; $pwd = $_GET['pwd']; $port = $_GET['port']; $pwm = $_GET['pwm']; function get($ip, $pwd, $port, $pwm) { file_get_contents("http://".$ip."/".$pwd."/?pt=$port&pwm=$pwm"); } if ($port == 10 || $port == 12 || $port == 13) { while ($pwm > 0) { $pwm = $pwm - 5; get ($ip, $pwd, $port, $pwm); usleep(150000); } } ?>
Плавное выключение происходит приятно, но на время выключения света МД ждет завершение внешнего скрипта и только после того как он выполняется до конца дает что либо делать дальше. Как можно сделать, чтобы он выполнял скрипт, но при этом сам МД был доступен на выполнение других операций?Код: Выделить всё
getURL('http://localhost/mega_off.php?ip=10.10.100.10&pwd=sec&port=10&pwm='.getGlobal('MegaD1_10.value'),0);
Второй вопрос
Хотелось бы с кнопки управлять димером при быстром нажатии включалось/выключалось, при долгом нажатии увеличивалось/уменьшалось пока не отпустишь. Кто нибудь писал такой метод? Если есть какие соображения по этому вопросу - поделитесь пожалуйста.![]()
Управление Мега-Д.