Страница 9 из 11

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

Добавлено: Ср июн 13, 2018 11:53 pm
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.

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

Добавлено: Чт июн 14, 2018 12:58 am
C_3AXAPOB
Если используете openweather то как-то так

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

Возможно есть более изящное решение но и мой вариант работает.

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

Добавлено: Чт июн 14, 2018 9:47 am
skysilver
А в каком виде время в ThisComputer.SunSetTime?

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

Добавлено: Чт июн 14, 2018 3:06 pm
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));
}

}

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

Добавлено: Чт июн 14, 2018 3:08 pm
kbh72
C_3AXAPOB писал(а):
Чт июн 14, 2018 12:58 am
Если используете openweather
Использую для прогноза. Но расчет захода взял в этой теме.
Возможно попробую и ваш вариант. Спасибо.

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

Добавлено: Чт июн 14, 2018 10:25 pm
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);

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

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

ps. Постоянно в форуме вижу путаницу с режимами Ночной и Тёмное время суток. Люди спрашивают о Ночном режиме, а подразумевают Тёмное время суток.
У себя вместо NighMode прописал QuietMode - Тихий режим и не парюсь :idea:

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

Добавлено: Чт июн 14, 2018 11:58 pm
kbh72
ps. Постоянно в форуме вижу путаницу с режимами Ночной и Тёмное время суток. Люди спрашивают о Ночном режиме, а подразумевают Тёмное время суток.
У себя вместо NighMode прописал QuietMode - Тихий режим и не парюсь :idea:
Ну про ночной режим и темное время вроде понятно написано. Спасибо. Принцип примерно понял. :) Буду "тренироваться"

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

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

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

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

Добавлено: Сб авг 25, 2018 9:23 pm
dksobol
Всем привет помогите. Работал режим ночной Алиса затыкалась и не говорила. Сегодня ночью иду в холодильник водички попить после бадуна. А тут на всю квартиру "Все системы работают нормально" я даже пить перехотел. Я так понимаю раньше после захода режим Сообщения выкл и всё молчит. А тут сработал датчик на кухне и за орала. Куда копать????. А еще при Сообщения выключены повторяет всё по два раза, включишь режим один раз. Что за хрень. Еще одна функция каждые 5 минут проговаривается. На датчике xiaomi открытие закрытие дверей я поставил функцию оповещения отк. закр. ночью когда душно открываю окно и голос говорит ОКНО ЗАЛ ОТКРЫТ. Понимаю что не сюда может кто ткнёт носом. есть функция "Напоминать об открытом состоянии" она кажные 5 мин говорит об этом где можно увеличить время до 60 мин.