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

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Вс дек 25, 2016 8:44 am

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

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

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

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

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

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

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

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

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

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

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

ПОЖАЛУЙСТА ПОМОГИТЕ!!!
viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Вс дек 25, 2016 8:48 am

Прошу прощения не там создал тему... голова пухнет((( прошу перенести тему в соответсвующий форум "Сценарий и Алгоритмы"
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

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

Сообщение Jager » Вс дек 25, 2016 12:56 pm

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
За это сообщение автора Jager поблагодарил:
neromih (Чт май 25, 2017 6:44 pm)
Рейтинг: 1.16%
viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Пн дек 26, 2016 9:46 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

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

Подскажите пожалуйста, ну или дайте ссылку, где расписано какие команды нужно вписывать?
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

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

Сообщение Jager » Пн дек 26, 2016 9:53 pm

viktan92 писал(а):Прошу прощения, возможно вопрос глупый... но честно я не пойму какие команды я должен прописать???
Подскажите пожалуйста, ну или дайте ссылку, где расписано какие команды нужно вписывать?
у меня имеется контроллер wiren board 5 к нему подключены модули управления освещением uniel rx111, все работает замечательно, и сам контроллер настроен на MjD.
Вы же пишите что ваш контроллер привязан к мдм, значит вы можете управлять им отправляя соответствующие команды.
viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Пт дек 30, 2016 8:18 am

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

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

я знаю какие должны быть отправлены команды через москит, но если я тупо пропишу эти команды.. он их не будет видеть. эти команды нужно прописывать через php, а я не знаю как правильно должны выглядеть эти команды. Вот поэтому и прошу помощи, какие должны быть команды, как они должны выглядеть. и как правильно их прописывать??
tsember
Сообщения: 52
Зарегистрирован: Ср фев 04, 2015 12:28 am
Благодарил (а): 54 раза
Поблагодарили: 6 раз

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

Сообщение tsember » Чт янв 05, 2017 2:50 am

Напишите пример любой команды, которой из МЖД управляете освещением
viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Вс янв 08, 2017 9:31 am

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

А команду МЖД я не знаю... вот и задаю вопрос где можно эти команды увидеть?
viktan92
Сообщения: 15
Зарегистрирован: Пн дек 19, 2016 12:59 pm
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение viktan92 » Чт янв 12, 2017 7:23 am

Ребята помогите пожалуйста.... подскажите хотя бы где я могу найти эти команды.. ну или дайте ссылку на инструкцию, где описанно, какие команды, откуда берутся что делают и т.д.!!!!!!!!
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

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

Сообщение Jager » Чт янв 12, 2017 8:32 am

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