[Модуль] Будильник (app_alarmclock)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль "Будильник"

Сообщение nick7zmail » Пн ноя 28, 2016 8:48 pm

vasai писал(а):Можно как нибудь, осуществить отправку топика mqtt при срабатывание будильника?
Ставите метод на срабатывание, а в методе прописываете все что надо.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
vasai
Сообщения: 8
Зарегистрирован: Чт июн 23, 2016 11:46 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Модуль "Будильник"

Сообщение vasai » Вт ноя 29, 2016 8:53 pm

Спасибо. Как я понял тогда проблема не в этом. У меня не срабатывает будильник, метод проверил, если переключать вручную все работает. А будильник, не переключает, хоть в свойстве объекта появляются name.alarmOn и name.alarmTime. Все сделал по инструкции, добавил в Timer - ClockChime - onNewMinute. В чем еще может быть проблема, подскажите пожалуйста?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль "Будильник"

Сообщение nick7zmail » Ср ноя 30, 2016 6:16 am

vasai писал(а):Спасибо. Как я понял тогда проблема не в этом. У меня не срабатывает будильник, метод проверил, если переключать вручную все работает. А будильник, не переключает, хоть в свойстве объекта появляются name.alarmOn и name.alarmTime. Все сделал по инструкции, добавил в Timer - ClockChime - onNewMinute. В чем еще может быть проблема, подскажите пожалуйста?
В OnNewMinute другой код есть? Он выполняется?
У меня была такая ситуация, что OnNewMinute у ClockChime упорно не хотел выполнятся. Как выяснилось - в классовом методе тоже код был. После переноса всего в одно места - всё заработало (перенес всё в классовый).
За это сообщение автора nick7zmail поблагодарил:
vasai (Ср ноя 30, 2016 7:37 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
vasai
Сообщения: 8
Зарегистрирован: Чт июн 23, 2016 11:46 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Модуль "Будильник"

Сообщение vasai » Чт дек 08, 2016 9:53 pm

Перенес все в method: Timer (class).onNewMinute, все равно не работает, подскажите пожалуйста, очень нужен этот модуль
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль "Будильник"

Сообщение nick7zmail » Пт дек 09, 2016 11:18 am

vasai писал(а):Перенес все в method: Timer (class).onNewMinute, все равно не работает, подскажите пожалуйста, очень нужен этот модуль
Давайте попробуем разобраться...
Во-первых хотелось бы узнать работает ли вообще у вас onnewminute...
Впишите перед и после кода на будильник что-то типа

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

//...код не относящийся к модулю
sg('thiscomputer.test1', timenow());
//тут код будильника из первого поста
sg('thiscomputer.test2', timenow()); 
И проверьте меняется ли test1 и test2 в объекте ThisComputer каждую минуту...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
vasai
Сообщения: 8
Зарегистрирован: Чт июн 23, 2016 11:46 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Модуль "Будильник"

Сообщение vasai » Пт дек 09, 2016 8:25 pm

Вот что у меня в method: Timer (class).onNewMinute

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

$h=(int)date('G',time());
$m=date('i',time());

if (isWeekDay()) {
}

if (($h>=8) && getGlobal('clockChimeEnabled')) {
 if ($m=="00") {
   say(timeNow(),1);
 }
}

setGlobal('timeNow',date('H:i'));

$homeStatus=date('H:i');
if (getGlobal('NobodyHomeMode.active')) {
 $homeStatus.=' Дома никого';
} else {
 $homeStatus.=' Дома кто-то есть';
}

$homeStatus.=' '.getGlobal('Security.stateDetails');
$homeStatus.=' '.getGlobal('System.stateDetails');
$homeStatus.=' '.getGlobal('Communication.stateDetails');
setGlobal('HomeStatus',$homeStatus);

 if (timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')=="1") {
  setGlobal("isDark",0);
  callMethod('DarknessMode.deactivate');  
 } elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')!="1") {
  setGlobal("isDark",1);
  callMethod('DarknessMode.activate');    
 }
 
  if (timeIs(getGlobal('SunRiseTime'))) {
  say('Всходит солнце');
 }
 if (timeIs(getGlobal('SunSetTime'))) {
  say('Солнце заходит',2);
 }
 
if (timeIs("23:30") && (gg("EconomMode.active")!="1") && (gg("NobodyHomeMode.active")=="1")) {
 say("Похоже никого нет сегодня, можно сэкономить немного.");
 callMethod('EconomMode.activate');
}

if (timeIs('20:00')) {
 callMethod('NightMode.activate');
} elseif (timeIs('08:00')) {
 callMethod('NightMode.deactivate');
}

if (timeIs("03:00")) {
 runScript("systemMaintenance");
}

if (gg('ThisComputer.AlarmStatus') && timeIs(gg('ThisComputer.AlarmTime'))) {
 runScript('MorningAlarm');
}
sg('thiscomputer.test1', timenow());
include_once(DIR_MODULES."app_alarmclock/app_alarmclock.class.php");
$app_alarmclock = app_alarmclock();
$app_alarmclock->check_alarm();
sg('thiscomputer.test2', timenow());
ThisComputer.test1 меняется каждую минуту, test2 отсутствует. Что это значит?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль "Будильник"

Сообщение nick7zmail » Пт дек 09, 2016 9:03 pm

ну вот и ответ)) код для будильника неверный...я уже говорил что там ошибка была, и просил прощения...скопируйте из первого поста заново.
За это сообщение автора nick7zmail поблагодарил:
vasai (Пт дек 09, 2016 9:12 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
vasai
Сообщения: 8
Зарегистрирован: Чт июн 23, 2016 11:46 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: Модуль "Будильник"

Сообщение vasai » Пт дек 09, 2016 9:12 pm

Блин, такая мелочь, я не заметил разницу. Прошу прощение за такую глупость, теперь все работает)
chief
Сообщения: 33
Зарегистрирован: Чт май 19, 2016 8:43 pm
Откуда: Украина, Черкассы
Благодарил (а): 6 раз
Поблагодарили: 1 раз

Re: Модуль "Будильник"

Сообщение chief » Вт янв 10, 2017 8:49 pm

Здравствуйте!
nick7zmail писал(а):
Amarok писал(а):Ещё бы меню можно было оформлять
Дак а кто мешает то?)) Для этого и сделана привязка к свойствам. В меню выводишь выключатель, привязываешь к свойству object.AlarmOn, добавляешь таймбокс - к свойству object.AlarmTime, а красивую надпись object.value можно в заголовок пункта меню вставить, как у меня к примеру на скрине в первом сообщении темы. В итоге получается что-то такое:
Как вставить в заголовок пункта меню "красивую надпись"?
Свойства object.AlarmOn и object.AlarmTime создаются автоматически, как создать object.value или где он есть?
Спасибо.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль "Будильник"

Сообщение nick7zmail » Вт янв 10, 2017 9:13 pm

viewtopic.php?p=36120#p36120 Вот тут то что вам надо)) В настройках модуля - как раз красные/зеленые и тп надписи, а в зависимости от состояния (при включении/выключении) они записываются в object.value
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить