Радио-управление nooLight

ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Радио-управление nooLight

Сообщение ignat99 » Пн янв 13, 2014 1:04 pm

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
Последний раз редактировалось ignat99 Пн янв 13, 2014 1:30 pm, всего редактировалось 3 раза.
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Радио-управление nooLight

Сообщение ErmolenkoM » Пн янв 13, 2014 1:07 pm

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.
aka msh555
Cubian на Cubietruck, Connect
I_I_Imonder
Сообщения: 256
Зарегистрирован: Сб янв 11, 2014 2:54 pm
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Радио-управление nooLight

Сообщение I_I_Imonder » Пн янв 13, 2014 1:43 pm

спасибо большое)буду ковырять
I_I_Imonder
Сообщения: 256
Зарегистрирован: Сб янв 11, 2014 2:54 pm
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Радио-управление nooLight

Сообщение I_I_Imonder » Пн янв 13, 2014 1:50 pm

вот засада) у меня же на винде все стоит) а каким параметром время брать в винде? (не силен в программировании, прогуливал)
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Радио-управление nooLight

Сообщение ignat99 » Пн янв 13, 2014 1:53 pm

I_I_Imonder писал(а):вот засада) у меня же на винде все стоит) а каким параметром время брать в винде? (не силен в программировании, прогуливал)
Но MJD же PHP на Apache. Я не работал c Windows, но по идее всё то же самое должно рабоать.
I_I_Imonder
Сообщения: 256
Зарегистрирован: Сб янв 11, 2014 2:54 pm
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Радио-управление nooLight

Сообщение I_I_Imonder » Пн янв 13, 2014 2:03 pm

можете подробнее объяснить что делает вот этот код? если время на сервере 00:00 то красный

а что вот эта строка делает? как ноолайт понимает какой ему цвет включить
$this->callMethod('setColor',array("VALUE"=>'001100000000'));
ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Радио-управление nooLight

Сообщение ErmolenkoM » Пн янв 13, 2014 2:15 pm

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);
aka msh555
Cubian на Cubietruck, Connect
I_I_Imonder
Сообщения: 256
Зарегистрирован: Сб янв 11, 2014 2:54 pm
Благодарил (а): 12 раз
Поблагодарили: 14 раз

Re: Радио-управление nooLight

Сообщение I_I_Imonder » Пн янв 13, 2014 2:36 pm

спасибо!
ILGAS
Сообщения: 366
Зарегистрирован: Пт июл 26, 2013 4:11 pm
Благодарил (а): 71 раз
Поблагодарили: 18 раз

Re: Радио-управление nooLight

Сообщение ILGAS » Пн янв 13, 2014 7:13 pm

всем привет.
хотел спросить приёмник nooLight (RX1164) - он работает только как приемник? только слушает.
и получается нужно два покупать приемник (RX1164) и передатчика (PC118) чтобы работала с двухсторонней связью?
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Радио-управление nooLight

Сообщение ignat99 » Пн янв 13, 2014 7:30 pm

Да именно так, последние 2 цифры в названии это количество поддерживаемых каналов.

Но активные управляющие эелемнты в NooLight не возвращают своего состояния.
Обещают в новых версиях устройств добавить эту опцию.

Получается что приёмник нужен для перехвата состояния во время переключения устройств по радиоканалу.
Но он не нужен для минимальной работоспособной конфигурации NooLight системы.
Ответить