Страница 12 из 28
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 1:04 pm
ignat99
I_I_Imonder писал(а):а можно получить код Световых часов, как Вы это сделали? откуда время берет?
http://connect.smartliving.ru/profile/57
Объекты системы->OperationalModes->Объекты класса->NobodyHomeMode->Методы объекта->modeChanged
//Включим световой будильник
callMethod("NooLite_RGB_1.check");
Объекты системы->systemStates->Объекты класса->Communication ->Методы объекта->checkState
Объекты системы->Timer->Объекты класса->ClockChime ->Методы объекта->onNewHour
// Световые часы
callMethod("NooLite_RGB_1.check");
А вот и сам код часов:
Объекты системы->Класс NooLiteDimm >NooLiteRGB->Объекты класса->NooLite_RGB_1 ->Методы объекта->check
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 1:07 pm
ErmolenkoM
I_I_Imonder писал(а):а можно получить код Световых часов, как Вы это сделали? откуда время берет?
мой профиль.
http://connect.smartliving.ru/profile/57
Timer
onNewHour
Код: Выделить всё
// Световые часы
callMethod("NooLite_RGB_1.check");
NooLite_RGB_1 - Разноцветный свет в коридоре
check
Код: Выделить всё
//Только если дома кто-то есть включим цветовые часы
if (!getGlobal("NobodyHomeMode.active")){
if (timeBetween("00:00", "01:00")||timeBetween("12:00", "13:00")){
// красный
$this->callMethod('setColor',array("VALUE"=>'001100000000'));
}elseif (timeBetween("01:00", "02:00")||timeBetween("13:00", "14:00")){
// желтый
$this->callMethod('setColor',array("VALUE"=>'001100050000'));
}elseif (timeBetween("02:00", "03:00")||timeBetween("14:00", "15:00")){
// морская волна
$this->callMethod('setColor',array("VALUE"=>'001000100100'));
}elseif (timeBetween("03:00", "04:00")||timeBetween("15:00", "16:00")){
// красный
$this->callMethod('setColor',array("VALUE"=>'001100000010'));
}elseif (timeBetween("04:00", "05:00")||timeBetween("16:00", "17:00")){
// зелный
$this->callMethod('setColor',array("VALUE"=>'001000100000'));
}elseif (timeBetween("05:00", "06:00")||timeBetween("17:00", "18:00")){
// голубой
$this->callMethod('setColor',array("VALUE"=>'001000100050'));
}elseif (timeBetween("06:00", "07:00")||timeBetween("18:00", "19:00")){
// малиновый
$this->callMethod('setColor',array("VALUE"=>'001100000050'));
}elseif (timeBetween("07:00", "08:00")||timeBetween("19:00", "20:00")){
// светло-зеленый
$this->callMethod('setColor',array("VALUE"=>'001050100000'));
}elseif (timeBetween("08:00", "09:00")||timeBetween("20:00", "21:00")){
// синий
$this->callMethod('setColor',array("VALUE"=>'001000050100'));
}elseif (timeBetween("09:00", "10:00")||timeBetween("21:00", "22:00")){
// красный
$this->callMethod('setColor',array("VALUE"=>'001100010000'));
}elseif (timeBetween("10:00", "11:00")||timeBetween("22:00", "23:00")){
// салатовый
$this->callMethod('setColor',array("VALUE"=>'001100100000'));
}elseif (timeBetween("11:00", "12:00")||timeBetween("23:00", "00:00")){
// фиолетовый
$this->callMethod('setColor',array("VALUE"=>'001000000100'));
}else{ //неизвестное время суток
$this->callMethod('setColor',array("VALUE"=>'001100100100'));
}
}else{
$this->callMethod('turnOff');
}
Время берется естественно с сервера МЖД, непосредственно функцией timeBetween.
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 1:43 pm
I_I_Imonder
спасибо большое)буду ковырять
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 1:50 pm
I_I_Imonder
вот засада) у меня же на винде все стоит) а каким параметром время брать в винде? (не силен в программировании, прогуливал)
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 1:53 pm
ignat99
I_I_Imonder писал(а):вот засада) у меня же на винде все стоит) а каким параметром время брать в винде? (не силен в программировании, прогуливал)
Но MJD же PHP на Apache. Я не работал c Windows, но по идее всё то же самое должно рабоать.
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 2:03 pm
I_I_Imonder
можете подробнее объяснить что делает вот этот код? если время на сервере 00:00 то красный
а что вот эта строка делает? как ноолайт понимает какой ему цвет включить
$this->callMethod('setColor',array("VALUE"=>'001100000000'));
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 2:15 pm
ErmolenkoM
I_I_Imonder писал(а):можете подробнее объяснить что делает вот этот код? если время на сервере 00:00 то красный
а что вот эта строка делает? как ноолайт понимает какой ему цвет включить
$this->callMethod('setColor',array("VALUE"=>'001100000000'));
Код: Выделить всё
setColor - Устанавливает яркость и цвет
$value = $params['VALUE'];
if ($value){
$brightness=substr($value,0,3);
$R=substr($value,3,3);
$G=substr($value,6,3);
$B=substr($value,9,3);
}else{
$brightness=$params['brightness'];
$R=$params['R'];
$G=$params['G'];
$B=$params['B'];
}
$this->setProperty('brightness',$brightness);
$this->setProperty('R',$R);
$this->setProperty('G',$G);
$this->setProperty('B',$B);
$this->callMethod('refresh');
refresh
$brightness=$this->getProperty("brightness");
$r=$this->getProperty("R");
$g=$this->getProperty("G");
$b=$this->getProperty("B");
/*
$sum=$r+$g+$b;
if ($sum==0) {
$sum=1;
}
*/
$sum=100; // не понял я задумку, но так занчения [0..100] приводятся к [0..255]
$r_value=round((255*$r/$sum)*$brightness/100);
$g_value=round((255*$g/$sum)*$brightness/100);
$b_value=round((255*$b/$sum)*$brightness/100);
if ($this->getProperty("rolling")) {
$this->callMethod("sendCommand",array('command'=>'-roll_color_ch '.$this->getProperty("channel")));
} else {
$this->callMethod("sendCommand",array('command'=>'-set_color_ch '.$this->getProperty("channel").' '.$r_value.' '.$g_value.' '.$b_value));
}
if ($brightness>0) {
$this->setProperty('status',1);
} else {
$this->setProperty('status',0);
}
sendCommand - Отправка команды устройству Noolite
Код: Выделить всё
$cmdline='sleep 0.5; /usr/local/bin/noolitepc -api '.$params['command'];
safe_exec($cmdline);
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 2:36 pm
I_I_Imonder
спасибо!
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 7:13 pm
ILGAS
всем привет.
хотел спросить приёмник nooLight (
RX1164) - он работает только как приемник? только слушает.
и получается нужно два покупать приемник (
RX1164) и передатчика (
PC118) чтобы работала с двухсторонней связью?
Re: Радио-управление nooLight
Добавлено: Пн янв 13, 2014 7:30 pm
ignat99
Да именно так, последние 2 цифры в названии это количество поддерживаемых каналов.
Но активные управляющие эелемнты в NooLight не возвращают своего состояния.
Обещают в новых версиях устройств добавить эту опцию.
Получается что приёмник нужен для перехвата состояния во время переключения устройств по радиоканалу.
Но он не нужен для минимальной работоспособной конфигурации NooLight системы.