Страница 1 из 3

Сценарий на включение и отключение света по времени.

Добавлено: Вс дек 25, 2016 8:44 am
viktan92
Всем здравствуйте! Сразу говорю новичок, во всем этом деле что связано умного дома! поэтому ногами не бить, и сильно не материть.... :)

Но прошу у вас помощи в следующей реализации. а именно:

В самой системе я заметил такую особу как Алиса, и она выводит системные сообщения типа "Темное время суток" или "Ночной режим включен"

у меня имеется контроллер wiren board 5 к нему подключены модули управления освещением uniel rx111, все работает замечательно, и сам контроллер настроен на MjD.

что я хочу что бы у меня вышло в итоге:

Что бы при наступлении темного времени суток, в зависимости от перехода на летнее и зимнее время. включался так сказать дежурный свет (разные подсветки и таршеры).

а с наступление ночного режима включался свет в определенных местах.

Ну и я так понял что Алиса понимает длительность светового дня? Если так то нужно так что бы свет работал с таким же пониманием.

Надеюсь вы поняли о чем я.

Теперь сам вопрос. Как все это можно организовать? (Прошу пожалуйста расписать, или дать статью где доступно разжевано)

P.S. лазил по форуму и читал faq ни чего подобного не нашел, не исключено что не правильно искал и смотрел, в силу слабой компетентности в данном вопросе.

ПОЖАЛУЙСТА ПОМОГИТЕ!!!

Re: Сценарий на включение и отключение света по времени.

Добавлено: Вс дек 25, 2016 8:48 am
viktan92
Прошу прощения не там создал тему... голова пухнет((( прошу перенести тему в соответсвующий форум "Сценарий и Алгоритмы"

Re: Сценарий на включение и отключение света по времени.

Добавлено: Вс дек 25, 2016 12:56 pm
Jager
viktan92 писал(а):В самой системе я заметил такую особу как Алиса, и она выводит системные сообщения типа "Темное время суток" или "Ночной режим включен"
что я хочу что бы у меня вышло в итоге:
Что бы при наступлении темного времени суток, в зависимости от перехода на летнее и зимнее время. включался так сказать дежурный свет (разные подсветки и таршеры).
а с наступление ночного режима включался свет в определенных местах.
Ну и я так понял что Алиса понимает длительность светового дня? Если так то нужно так что бы свет работал с таким же пониманием.
За наступление темного времени суток отвечает следующий код в методе onNewMinute

Код: Выделить всё

if (timeBetween(getGlobal('ThisComputer.SunRiseTime'),getGlobal('ThisComputer.SunSetTime'))) {
 if (getGlobal('isDark')) {
 setGlobal("isDark",0);
 callMethod('DarknessMode.deactivate');
 } 

} else {
 if (!getGlobal('isDark')) {
 setGlobal("isDark",1);
 callMethod('DarknessMode.activate'); 
Соответственно что бы он работал корректно для вашего местоположения нужны актуальные данные SunSetTime и SunRiseTime, т.е. время заката и рассвета. Эти данные можно взять из модуля погоды или при помощи такого скрипта, вычисляющего рассвет, закат, сумерки и т.д. на основе географических координат.

Код: Выделить всё

$sun_info = date_sun_info(time(), 55.XXXXXX, 52.XXXXXXX);

foreach ($sun_info as $key => $val) {

if ($key == 'sunrise') {

$sunrise = $val;
//echo 'Восход: '.date("H:i:s", $sunrise).'<br>';
setGlobal('ThisComputer.SunRiseTime',date("H:i", $sunrise));
}

if ($key == 'sunset') {

$sunset = $val;
$day_length = $sunset - $sunrise;

//echo 'Заход: '.date("H:i", $sunset).'<br>';
//echo 'Долгота дня: '.gmdate("H:i", $day_length).'<br>';
setGlobal('ThisComputer.SunSetTime',date("H:i", $sunset));
setGlobal('ThisComputer.LongTagTime',gmdate("H:i", $day_length));
}

if ($key == 'transit') {
//echo 'В зените: '.date("H:i:s", $val).'<br>';
setGlobal('ThisComputer.TransitTime',date("H:i", $val));
}

if ($key == 'civil_twilight_begin') {
//echo 'Начало утренних сумерек: '.date("H:i", $val).'<br>';
setGlobal('ThisComputer.Chicivil_beginTime',date("H:i", $val));
}

if ($key == 'civil_twilight_end') {
//echo 'Конец вечерних сумерек: '.date("H:i:s", $val).'<br>';
setGlobal('ThisComputer.civil_endTime',date("H:i", $val));
}

} 
За «ночной режим» отвечает следующий код в onNewMinute

Код: Выделить всё

if (timeIs('23:00')) {
callMethod('NightMode.activate');
т. е. вы сами определяете время наступления ночного режима.
Для того что бы управлять например освещением вам нужно прописать ваши команды в нужные методы.
Действия при наступлении темного времени суток в метод DarknessMode.activate
Действия при наступлении ночного режима в метод NightMode.activate

Re: Сценарий на включение и отключение света по времени.

Добавлено: Пн дек 26, 2016 9:46 pm
viktan92
Jager писал(а):
viktan92 писал(а):В самой системе я заметил такую особу как Алиса, и она выводит системные сообщения типа "Темное время суток" или "Ночной режим включен"
что я хочу что бы у меня вышло в итоге:
Что бы при наступлении темного времени суток, в зависимости от перехода на летнее и зимнее время. включался так сказать дежурный свет (разные подсветки и таршеры).
а с наступление ночного режима включался свет в определенных местах.
Ну и я так понял что Алиса понимает длительность светового дня? Если так то нужно так что бы свет работал с таким же пониманием.
За наступление темного времени суток отвечает следующий код в методе onNewMinute

Код: Выделить всё

if (timeBetween(getGlobal('ThisComputer.SunRiseTime'),getGlobal('ThisComputer.SunSetTime'))) {
 if (getGlobal('isDark')) {
 setGlobal("isDark",0);
 callMethod('DarknessMode.deactivate');
 } 

} else {
 if (!getGlobal('isDark')) {
 setGlobal("isDark",1);
 callMethod('DarknessMode.activate');
Соответственно что бы он работал корректно для вашего местоположения нужны актуальные данные SunSetTime и SunRiseTime, т.е. время заката и рассвета. Эти данные можно взять из модуля погоды или при помощи такого скрипта, вычисляющего рассвет, закат, сумерки и т.д. на основе географических координат.

Код: Выделить всё

$sun_info = date_sun_info(time(), 55.XXXXXX, 52.XXXXXXX);

foreach ($sun_info as $key => $val) {

if ($key == 'sunrise') {

$sunrise = $val;
//echo 'Восход: '.date("H:i:s", $sunrise).'<br>';
setGlobal('ThisComputer.SunRiseTime',date("H:i", $sunrise));
}

if ($key == 'sunset') {

$sunset = $val;
$day_length = $sunset - $sunrise;

//echo 'Заход: '.date("H:i", $sunset).'<br>';
//echo 'Долгота дня: '.gmdate("H:i", $day_length).'<br>';
setGlobal('ThisComputer.SunSetTime',date("H:i", $sunset));
setGlobal('ThisComputer.LongTagTime',gmdate("H:i", $day_length));
}

if ($key == 'transit') {
//echo 'В зените: '.date("H:i:s", $val).'<br>';
setGlobal('ThisComputer.TransitTime',date("H:i", $val));
}

if ($key == 'civil_twilight_begin') {
//echo 'Начало утренних сумерек: '.date("H:i", $val).'<br>';
setGlobal('ThisComputer.Chicivil_beginTime',date("H:i", $val));
}

if ($key == 'civil_twilight_end') {
//echo 'Конец вечерних сумерек: '.date("H:i:s", $val).'<br>';
setGlobal('ThisComputer.civil_endTime',date("H:i", $val));
}

}
За «ночной режим» отвечает следующий код в onNewMinute

Код: Выделить всё

if (timeIs('23:00')) {
callMethod('NightMode.activate');
 
т. е. вы сами определяете время наступления ночного режима.
Для того что бы управлять например освещением вам нужно прописать ваши команды в нужные методы.
Действия при наступлении темного времени суток в метод DarknessMode.activate
Действия при наступлении ночного режима в метод NightMode.activate

Прошу прощения, возможно вопрос глупый... но честно я не пойму какие команды я должен прописать???

Подскажите пожалуйста, ну или дайте ссылку, где расписано какие команды нужно вписывать?

Re: Сценарий на включение и отключение света по времени.

Добавлено: Пн дек 26, 2016 9:53 pm
Jager
viktan92 писал(а):Прошу прощения, возможно вопрос глупый... но честно я не пойму какие команды я должен прописать???
Подскажите пожалуйста, ну или дайте ссылку, где расписано какие команды нужно вписывать?
у меня имеется контроллер wiren board 5 к нему подключены модули управления освещением uniel rx111, все работает замечательно, и сам контроллер настроен на MjD.
Вы же пишите что ваш контроллер привязан к мдм, значит вы можете управлять им отправляя соответствующие команды.

Re: Сценарий на включение и отключение света по времени.

Добавлено: Пт дек 30, 2016 8:18 am
viktan92
Jager писал(а):
viktan92 писал(а):Прошу прощения, возможно вопрос глупый... но честно я не пойму какие команды я должен прописать???
Подскажите пожалуйста, ну или дайте ссылку, где расписано какие команды нужно вписывать?
у меня имеется контроллер wiren board 5 к нему подключены модули управления освещением uniel rx111, все работает замечательно, и сам контроллер настроен на MjD.
Вы же пишите что ваш контроллер привязан к мдм, значит вы можете управлять им отправляя соответствующие команды.

Да могу... но я не знаю как эти команды прописать в этом модуле, который отвечает за наступление темноты. ((((

я знаю какие должны быть отправлены команды через москит, но если я тупо пропишу эти команды.. он их не будет видеть. эти команды нужно прописывать через php, а я не знаю как правильно должны выглядеть эти команды. Вот поэтому и прошу помощи, какие должны быть команды, как они должны выглядеть. и как правильно их прописывать??

Re: Сценарий на включение и отключение света по времени.

Добавлено: Чт янв 05, 2017 2:50 am
tsember
Напишите пример любой команды, которой из МЖД управляете освещением

Re: Сценарий на включение и отключение света по времени.

Добавлено: Вс янв 08, 2017 9:31 am
viktan92
tsember писал(а):Напишите пример любой команды, которой из МЖД управляете освещением
mosquitto_pub -h "192.168.0.2" -t "/devices/wb-gpio/controls/Relay 0" -m "0"

А команду МЖД я не знаю... вот и задаю вопрос где можно эти команды увидеть?

Re: Сценарий на включение и отключение света по времени.

Добавлено: Чт янв 12, 2017 7:23 am
viktan92
Ребята помогите пожалуйста.... подскажите хотя бы где я могу найти эти команды.. ну или дайте ссылку на инструкцию, где описанно, какие команды, откуда берутся что делают и т.д.!!!!!!!!

Re: Сценарий на включение и отключение света по времени.

Добавлено: Чт янв 12, 2017 8:32 am
Jager
viktan92 писал(а):Ребята помогите пожалуйста.... подскажите хотя бы где я могу найти эти команды.. ну или дайте ссылку на инструкцию, где описанно, какие команды, откуда берутся что делают и т.д.!!!!!!!!
Вам это нужно спрашивать у разработчиков Wiren Board. У меня эта глючная коробка то же есть, но заброшена в дальний угол. Железо они собрали вполне хорошее, только вот прошивку пилит один человек левой ногой.
Для вас самый простой путь это изучить вот эту страницу и выбрать для себя распространенную железяку которая уже интегрирована в МДМ.