ночной и дневной режим

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

Модераторы: Bagir, Ivan, Vit, immortal, PAV

kbh72
Сообщения: 10
Зарегистрирован: Сб июн 09, 2018 9:33 pm
Откуда: Архангельск
Благодарил (а): 5 раз
Поблагодарили: 0

Re: ночной и дневной режим

Сообщение kbh72 » Ср июн 13, 2018 11:53 pm

Подскажите пожалуйста.
Хочу сделать включение устройства, привязанного ко времени захода солнца(ThisComputer.SunSetTime ), но со смещением на некоторое время (например на час раньше)
Как возможно это сделать?? В PHP "чайник".
Нашел пример в инете как изменять системное время. (+3ч)
<?php
$date = new DateTime();
echo $date->format('H:i:s') . "\n";
$date->sub(new DateInterval('PT3H0M0S'));
echo $date->format('H:i:s') . "\n";
Не могу пока "въехать" как подставить переменную захода солнца.
И было бы неплохо делать корректировку через timebox.
C_3AXAPOB
Сообщения: 455
Зарегистрирован: Ср июн 08, 2016 4:17 pm
Благодарил (а): 104 раза
Поблагодарили: 87 раз

Re: ночной и дневной режим

Сообщение C_3AXAPOB » Чт июн 14, 2018 12:58 am

Если используете openweather то как-то так

$RunTime=(gg('ow_fact.sunset')-3600);
$RunTime=date('H:i',$RunTime);
echo($RunTime);

Возможно есть более изящное решение но и мой вариант работает.
За это сообщение автора C_3AXAPOB поблагодарил:
kbh72 (Чт июн 14, 2018 3:10 pm)
Рейтинг: 1.43%
skysilver
Сообщения: 2060
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 289 раз
Поблагодарили: 1180 раз
Контактная информация:

Re: ночной и дневной режим

Сообщение skysilver » Чт июн 14, 2018 9:47 am

А в каком виде время в ThisComputer.SunSetTime?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
kbh72
Сообщения: 10
Зарегистрирован: Сб июн 09, 2018 9:33 pm
Откуда: Архангельск
Благодарил (а): 5 раз
Поблагодарили: 0

Re: ночной и дневной режим

Сообщение kbh72 » Чт июн 14, 2018 3:06 pm

skysilver писал(а):
Чт июн 14, 2018 9:47 am
А в каком виде время в ThisComputer.SunSetTime?
Берется отсюда.
$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));
}

}
kbh72
Сообщения: 10
Зарегистрирован: Сб июн 09, 2018 9:33 pm
Откуда: Архангельск
Благодарил (а): 5 раз
Поблагодарили: 0

Re: ночной и дневной режим

Сообщение kbh72 » Чт июн 14, 2018 3:08 pm

C_3AXAPOB писал(а):
Чт июн 14, 2018 12:58 am
Если используете openweather
Использую для прогноза. Но расчет захода взял в этой теме.
Возможно попробую и ваш вариант. Спасибо.
Аватара пользователя
xor
Сообщения: 716
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 42 раза
Поблагодарили: 177 раз

Re: ночной и дневной режим

Сообщение xor » Чт июн 14, 2018 10:25 pm

Я у себя использую так
Darknessmode.activate активируется во время заката и в нём

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

//задержка вкл уличного света после заката от 10 с (100% облачность) до ~30 мин (облачность 0%)

callMethod('testRGB.turnon'); //в доме подсветка сразу
Settimeout('StreetLightOn2',"cm('nl2.turnon');",(101-gg('weather_my.clouds'))*10); //крыльцо
Settimeout('LoungeLightOn2',"cm('nl6.turnon');",(101-gg('weather_my.clouds'))*10); //дом снаружи
Время заката вычисляется в полночь или после рестарта, если вам нужно что-то включить до заката, тут же можете добавить
шедулед джоб

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

$t_start = timeConvert(gg('SunSetTime')) - 60 * 60 ;//за час до заката
AddScheduledJob("Включим что-нибудь за час до заката","cm('МояЛампа.turnOn');",$t_start);
За это сообщение автора xor поблагодарил:
kbh72 (Чт июн 14, 2018 10:50 pm)
Рейтинг: 1.43%
Аватара пользователя
xor
Сообщения: 716
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 42 раза
Поблагодарили: 177 раз

Re: ночной и дневной режим

Сообщение xor » Чт июн 14, 2018 11:20 pm

xor писал(а):
Чт июн 14, 2018 10:25 pm
...Время заката вычисляется в полночь или после рестарта, если вам нужно что-то включить до заката, тут же можете добавить
шедулед джоб...
Тут же - имеется в виду, конечно, то место, где вычисляется время заката...
У меня это в методе thiscomputer.startup идет вызов скрипта sun (можете у меня в коннекте глянуть)

ps. Постоянно в форуме вижу путаницу с режимами Ночной и Тёмное время суток. Люди спрашивают о Ночном режиме, а подразумевают Тёмное время суток.
У себя вместо NighMode прописал QuietMode - Тихий режим и не парюсь :idea:
kbh72
Сообщения: 10
Зарегистрирован: Сб июн 09, 2018 9:33 pm
Откуда: Архангельск
Благодарил (а): 5 раз
Поблагодарили: 0

Re: ночной и дневной режим

Сообщение kbh72 » Чт июн 14, 2018 11:58 pm

ps. Постоянно в форуме вижу путаницу с режимами Ночной и Тёмное время суток. Люди спрашивают о Ночном режиме, а подразумевают Тёмное время суток.
У себя вместо NighMode прописал QuietMode - Тихий режим и не парюсь :idea:
Ну про ночной режим и темное время вроде понятно написано. Спасибо. Принцип примерно понял. :) Буду "тренироваться"
Yashalta
Сообщения: 96
Зарегистрирован: Вс май 20, 2018 9:27 am
Благодарил (а): 30 раз
Поблагодарили: 4 раза

Re: ночной и дневной режим

Сообщение Yashalta » Ср июл 04, 2018 12:32 pm

Alexsan писал(а):
Вс янв 29, 2017 6:17 pm
можно немного попадробней об этой теме,хотелось бы тоже такое сделать.... куда и что прописывать
Я делал так.
Панель управления - Объекты - Timer - onNewMinute - в коде найти строки к примеру "say('Всходит солнце');" после которых нужно добавить свой код. Что бы после того как выполниться "say('Всходит солнце');" следом сразу будет выполняться ваш код... Либо найти код "say('Солнце заходит',2);" далее добавить ваш код к примеру включение подсвтетки во дворе.
Вчера попробовал, все здорово работает, спасибо автору кода!!!

так же вчера сделал скриншот
Изображение
и сделал скриншот сегодня
Изображение
Из которого видно, что время меняется! И это правильно!
Вопрос:
Я правильно понимаю, если я в ручную поменяю значения "время восхода" и "время заката" солнца то, скрипт будет пролжать изменять время восхода/заката но, уже отталкиваясь от моих установленных значений?
Я спрашиваю т.к. я новичок в MD а в кодировании я вообще нуб! и боюсь "сломать" рабочий код но, мне нужно изменить время срабатывания кода! Конечно я могу в коде поставить "паузу" на нужное количество минут, отсрочив срабатывания кода... Но, здесь это было бы проще!
За это сообщение автора Yashalta поблагодарил:
kurs (Ср июл 04, 2018 2:05 pm)
Рейтинг: 1.43%
dksobol
Сообщения: 39
Зарегистрирован: Вт июл 24, 2018 12:01 pm
Благодарил (а): 5 раз
Поблагодарили: 0

Re: ночной и дневной режим

Сообщение dksobol » Сб авг 25, 2018 9:23 pm

Всем привет помогите. Работал режим ночной Алиса затыкалась и не говорила. Сегодня ночью иду в холодильник водички попить после бадуна. А тут на всю квартиру "Все системы работают нормально" я даже пить перехотел. Я так понимаю раньше после захода режим Сообщения выкл и всё молчит. А тут сработал датчик на кухне и за орала. Куда копать????. А еще при Сообщения выключены повторяет всё по два раза, включишь режим один раз. Что за хрень. Еще одна функция каждые 5 минут проговаривается. На датчике xiaomi открытие закрытие дверей я поставил функцию оповещения отк. закр. ночью когда душно открываю окно и голос говорит ОКНО ЗАЛ ОТКРЫТ. Понимаю что не сюда может кто ткнёт носом. есть функция "Напоминать об открытом состоянии" она кажные 5 мин говорит об этом где можно увеличить время до 60 мин.
Вложения
2018-08-25_21-22-17.png
2018-08-25_21-22-17.png (148.7 КБ) 365 просмотров
Ответить