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

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

Модератор: immortal

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

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

Сообщение kbh72 »

Подскажите пожалуйста.
Хочу сделать включение устройства, привязанного ко времени захода солнца(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
Сообщения: 510
Зарегистрирован: Ср июн 08, 2016 4:17 pm

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

Сообщение C_3AXAPOB »

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

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

Возможно есть более изящное решение но и мой вариант работает.
Orange pi pc plus, megaD-2561, Xiaomi
--------------------------------------------------
http://connect.smartliving.ru/profile/908
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

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

Сообщение skysilver »

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

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

Сообщение kbh72 »

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
Откуда: Архангельск

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

Сообщение kbh72 »

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

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

Сообщение xor »

Я у себя использую так
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
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

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

Сообщение xor »

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

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

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

Сообщение kbh72 »

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

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

Сообщение Yashalta »

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

так же вчера сделал скриншот
Изображение
и сделал скриншот сегодня
Изображение
Из которого видно, что время меняется! И это правильно!
Вопрос:
Я правильно понимаю, если я в ручную поменяю значения "время восхода" и "время заката" солнца то, скрипт будет пролжать изменять время восхода/заката но, уже отталкиваясь от моих установленных значений?
Я спрашиваю т.к. я новичок в MD а в кодировании я вообще нуб! и боюсь "сломать" рабочий код но, мне нужно изменить время срабатывания кода! Конечно я могу в коде поставить "паузу" на нужное количество минут, отсрочив срабатывания кода... Но, здесь это было бы проще!
dksobol
Сообщения: 53
Зарегистрирован: Вт июл 24, 2018 12:01 pm

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

Сообщение dksobol »

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