ночной и дневной режим
Модератор: immortal
-
- Сообщения: 10
- Зарегистрирован: Сб июн 09, 2018 9:33 pm
- Откуда: Архангельск
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: ночной и дневной режим
Подскажите пожалуйста.
Хочу сделать включение устройства, привязанного ко времени захода солнца(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.
Хочу сделать включение устройства, привязанного ко времени захода солнца(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.
-
- Сообщения: 510
- Зарегистрирован: Ср июн 08, 2016 4:17 pm
- Благодарил (а): 124 раза
- Поблагодарили: 101 раз
Re: ночной и дневной режим
Если используете openweather то как-то так
$RunTime=(gg('ow_fact.sunset')-3600);
$RunTime=date('H:i',$RunTime);
echo($RunTime);
Возможно есть более изящное решение но и мой вариант работает.
$RunTime=(gg('ow_fact.sunset')-3600);
$RunTime=date('H:i',$RunTime);
echo($RunTime);
Возможно есть более изящное решение но и мой вариант работает.
- Рейтинг: 1.16%
Orange pi pc plus, megaD-2561, Xiaomi
--------------------------------------------------
http://connect.smartliving.ru/profile/908
--------------------------------------------------
http://connect.smartliving.ru/profile/908
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: ночной и дневной режим
А в каком виде время в ThisComputer.SunSetTime?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
-
- Сообщения: 10
- Зарегистрирован: Сб июн 09, 2018 9:33 pm
- Откуда: Архангельск
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: ночной и дневной режим
Берется отсюда.
$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));
}
}
-
- Сообщения: 10
- Зарегистрирован: Сб июн 09, 2018 9:33 pm
- Откуда: Архангельск
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: ночной и дневной режим
Использую для прогноза. Но расчет захода взял в этой теме.
Возможно попробую и ваш вариант. Спасибо.
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: ночной и дневной режим
Я у себя использую так
Darknessmode.activate активируется во время заката и в нём
Время заката вычисляется в полночь или после рестарта, если вам нужно что-то включить до заката, тут же можете добавить
шедулед джоб
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);
- Рейтинг: 2.33%
win10 connect https://connect.smartliving.ru/profile/303
- xor
- Сообщения: 2039
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 286 раз
- Поблагодарили: 629 раз
Re: ночной и дневной режим
Тут же - имеется в виду, конечно, то место, где вычисляется время заката...
У меня это в методе thiscomputer.startup идет вызов скрипта sun (можете у меня в коннекте глянуть)
ps. Постоянно в форуме вижу путаницу с режимами Ночной и Тёмное время суток. Люди спрашивают о Ночном режиме, а подразумевают Тёмное время суток.
У себя вместо NighMode прописал QuietMode - Тихий режим и не парюсь
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 10
- Зарегистрирован: Сб июн 09, 2018 9:33 pm
- Откуда: Архангельск
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: ночной и дневной режим
Ну про ночной режим и темное время вроде понятно написано. Спасибо. Принцип примерно понял. Буду "тренироваться"ps. Постоянно в форуме вижу путаницу с режимами Ночной и Тёмное время суток. Люди спрашивают о Ночном режиме, а подразумевают Тёмное время суток.
У себя вместо NighMode прописал QuietMode - Тихий режим и не парюсь
-
- Сообщения: 315
- Зарегистрирован: Вс май 20, 2018 9:27 am
- Благодарил (а): 160 раз
- Поблагодарили: 29 раз
Re: ночной и дневной режим
Я делал так.
Панель управления - Объекты - Timer - onNewMinute - в коде найти строки к примеру "say('Всходит солнце');" после которых нужно добавить свой код. Что бы после того как выполниться "say('Всходит солнце');" следом сразу будет выполняться ваш код... Либо найти код "say('Солнце заходит',2);" далее добавить ваш код к примеру включение подсвтетки во дворе.
Вчера попробовал, все здорово работает, спасибо автору кода!!!
так же вчера сделал скриншот
и сделал скриншот сегодня
Из которого видно, что время меняется! И это правильно!
Вопрос:
Я правильно понимаю, если я в ручную поменяю значения "время восхода" и "время заката" солнца то, скрипт будет пролжать изменять время восхода/заката но, уже отталкиваясь от моих установленных значений?
Я спрашиваю т.к. я новичок в MD а в кодировании я вообще нуб! и боюсь "сломать" рабочий код но, мне нужно изменить время срабатывания кода! Конечно я могу в коде поставить "паузу" на нужное количество минут, отсрочив срабатывания кода... Но, здесь это было бы проще!
- Рейтинг: 1.16%
-
- Сообщения: 53
- Зарегистрирован: Вт июл 24, 2018 12:01 pm
- Благодарил (а): 6 раз
- Поблагодарили: 1 раз
Re: ночной и дневной режим
Всем привет помогите. Работал режим ночной Алиса затыкалась и не говорила. Сегодня ночью иду в холодильник водички попить после бадуна. А тут на всю квартиру "Все системы работают нормально" я даже пить перехотел. Я так понимаю раньше после захода режим Сообщения выкл и всё молчит. А тут сработал датчик на кухне и за орала. Куда копать????. А еще при Сообщения выключены повторяет всё по два раза, включишь режим один раз. Что за хрень. Еще одна функция каждые 5 минут проговаривается. На датчике xiaomi открытие закрытие дверей я поставил функцию оповещения отк. закр. ночью когда душно открываю окно и голос говорит ОКНО ЗАЛ ОТКРЫТ. Понимаю что не сюда может кто ткнёт носом. есть функция "Напоминать об открытом состоянии" она кажные 5 мин говорит об этом где можно увеличить время до 60 мин.
- Вложения
-
- 2018-08-25_21-22-17.png (148.7 КБ) 4706 просмотров