Базовый образ Raspberry Pi3 / Pi2

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

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

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение nick7zmail » Ср янв 17, 2018 1:06 pm

Main cycle запущен?

Отправлено с моего G8441 через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
kas5858
Сообщения: 364
Зарегистрирован: Вс янв 15, 2017 5:34 pm
Откуда: Москва
Благодарил (а): 100 раз
Поблагодарили: 53 раза

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение kas5858 » Ср янв 17, 2018 1:10 pm

nick7zmail писал(а):Main cycle запущен?
Да. Самое интересное время в объекте ClockChime.time правильно показывает.
Вложения
1222.PNG
1222.PNG (5.24 КБ) 5476 просмотров
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Изображение Connect
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение nick7zmail » Ср янв 17, 2018 1:11 pm

Далее в clockchime.onnewminute (и в классе таймер) какой код?

Отправлено с моего G8441 через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
kas5858
Сообщения: 364
Зарегистрирован: Вс янв 15, 2017 5:34 pm
Откуда: Москва
Благодарил (а): 100 раз
Поблагодарили: 53 раза

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение kas5858 » Ср янв 17, 2018 1:17 pm

nick7zmail писал(а):Далее в clockchime.onnewminute (и в классе таймер) какой код?

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

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

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

// ==============================================================
// Будний день
//if (isWeekDay()) {}

// ==============================================================
// Выходной день
if (isWeekEnd()) {
  // Восстановим громкость после ночи
  if (timeIs('10:00')) { 
   rs('DefaultVolume');
   }
}

// ==============================================================
// Проговаривает время каждый час
if (($h >= 8) && getGlobal('clockChimeEnabled') && !gg('NobodyHomeMode.active')) {
 if ($m == "00") { 
  say('Сейчас '.timeNow(),1); 
 }
}

// ==============================================================
// Дома кто-то есть или Дома никого
$homeStatus = date('H:i');
if (gg('NobodyHomeMode.active')) {
 $homeStatus.=' Дома никого';
} else {
 $homeStatus.=' Дома кто-то есть';
}
$homeStatus.=' Александр: '.getGlobal('Aleksandr.seenAt');
$homeStatus.=' ('.getGlobal('Aleksandr.CoordinatesUpdated').');';
$homeStatus.=' Светлана: '.getGlobal('Svetlana.seenAt');
$homeStatus.=' ('.getGlobal('Svetlana.CoordinatesUpdated').');';
$homeStatus.=' '.getGlobal('Security.stateDetails');
$homeStatus.=' '.getGlobal('System.stateDetails');
$homeStatus.=' '.getGlobal('Communication.stateDetails');
setGlobal('HomeStatus',$homeStatus);

// ==============================================================
// Включаем режим "на улице темно"
 if (timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('DarknessMode.active') == "1") {
  setGlobal("isDark",0);
  say("Уже должно светать...",1);
  callMethod('DarknessMode.deactivate');  
 } elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('DarknessMode.active') != "1") {
  setGlobal("isDark",1);
  say("На улице уже должно быть темно...",1);
  callMethod('DarknessMode.activate');    
 }

// ==============================================================
// Произносим фразу Всходит/заходит солнце 
 if (timeIs(getGlobal('SunRiseTime'))) { 
  sayTo('Всходит солнце', 1); 
}
 if (timeIs(getGlobal('SunSetTime'))) { 
  sayTo('Солнце заходит', 1); 
}

// ==============================================================
// Включаем экономный режим в 23:30 если ни кого нет дома
if (timeIs('23:30') && gg("EconomMode.active") != 1 && gg("NobodyHomeMode.active") == 1) {
 say("Похоже никого нет сегодня, можно сэкономить немного.",1);
 callMethod('EconomMode.activate');
}
/*
// ==============================================================
// Включаем или выключаем НОЧНОЙ РЕЖИМ
if (timeIs('21:00')) { 
 callMethod('NightMode.activate'); 
} 
elseif (timeIs('07:20')) { 
 callMethod('NightMode.deactivate'); 
}
*/
// ==============================================================
//
if (gg('ThisComputer.AlarmStatus') && timeIs(gg('ThisComputer.AlarmTime'))) { 
 runScript('MorningAlarm'); 
}

// ==============================================================
// Если будний день и нет гостей, то:
if (isWeekDay() && !gg('GuestsMode.active')) {
 if 
  (timeIs('08:10') || timeIs('08:20')) { say('Сейчас '.timeNow(),1); }
 if 
  (timeIs('08:01')) {
  $status="";
  $status.=' Температура за окном '.getGlobal('ow_fact.temperature')." градусов цельсия.";
  $tm=(float)getGlobal('ow_fact.temperature');
  if ($tm<-10) {
   $status.=' Осторожно, очень холодно.';
  } elseif ($tm<0) {   
   $status.=' Просто холодно.';  
  } elseif ($tm<5) {
   $status.=' Довольно холодно. На велосипеде я бы не рекомендовала сегодня ехать.';
  } elseif ($tm<12) {
   $status.=' Весьма прохладно.';
  }
  $status.=' Восход солнца сегодня в '.getGlobal('SunRiseTime').',';
  $status.=' закат в '.getGlobal('SunSetTime').'.';
  say($status, 1); 
 }
 //if (timeIs('21:59') && !gg('NobodyHomeMode.active')) { 
 //say('Алиса желает вам спокойной ночи. Не забудьте проветрить комнату перед сном.', 2); 
 //}
 
// ==============================================================
// Алиса подготавливает и укладывает детей спать
if (timeIs('19:59') && !gg('NobodyHomeMode.active')) { 
  rs('ZUB');
}
if (timeIs('20:59') && !gg('NobodyHomeMode.active')) { 
  $goodnight = getRandomLine('goodnight');
  sayReply('Настя и Валера пора ложится спать, пройдите к своим кроватям, не забудьте поцеловать своих родителей перед сном. Я желает вам спокойной ночи.'.$goodnight, 2);
}

// ==============================================================
// В обед расскажем анекдот
// if (timeIs('12:30')) { callMethod("Anekdot.Anek",array("command"=>"Расскажи анекдот")); say("Анекдот:"); }

// ==============================================================
// Обслуживание системы ОПТИМИЗАЦИЯ GPS и phistory
if (timeIs('03:00')) { rs("systemMaintenance"); }

// ==============================================================
// Выполнение каждые две секунды
  rs('timer_2s');

// ==============================================================
// получем ЧАСЫ и МИНУТЫ отдельно
$timeH=date("H", time());
$timeM=date("i", time());
sg("ThisComputer.timeH",$timeH);
sg("ThisComputer.timeM",$timeM);

// ==============================================================
// Поздравляю с днем рождения
if (timeIs('08:02')) { rs('birthday'); } 

// ==============================================================
// Приметы обновляем
if (($m=="05")||($m=="20")||($m=="35")||($m=="50")) { rs("informer primety"); }

// ==============================================================
// Новогодние куранты
if (timeIs('23:59') and date('n') == 1 and date('j') == 1  && !gg('NobodyHomeMode.active')) {
 playSound("Boy_kremlevskih_kurantov.mp3");
}

// ==============================================================
// Снизим на ночь громкость
if (timeIs('20:30')) { rs("night_volume"); }

// ==============================================================
// Выключаем радио на ночь
if (timeIs('23:00')) { 
 $objects=getObjectsByProperty('isPlaying','=','1');
  if (is_array($objects)) {
   foreach($objects as $obj) {
    callMethod($obj.'.turnOff');
   }
  }
}

// ==============================================================
// Включим свет если темное время суток
/*
  if (getGlobal('DarknessMode.active') == 1) {
   rs('LampD'); }
*/
// ==============================================================
//
 
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Изображение Connect
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение nick7zmail » Ср янв 17, 2018 1:18 pm

А в классовом есть что нить?

Отправлено с моего G8441 через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
kas5858
Сообщения: 364
Зарегистрирован: Вс янв 15, 2017 5:34 pm
Откуда: Москва
Благодарил (а): 100 раз
Поблагодарили: 53 раза

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение kas5858 » Ср янв 17, 2018 1:19 pm

nick7zmail писал(а):А в классовом есть что нить?

Отправлено с моего G8441 через Tapatalk
нет.
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Изображение Connect
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение nick7zmail » Ср янв 17, 2018 1:24 pm

Почему-то всё таки не вызывается onnewminute. Посмотрите логи main цикла...можете, конечно, модуль "формат даты" установить, и им время записывать...но onnewminute это не оживит.

Отправлено с моего G8441 через Tapatalk
За это сообщение автора nick7zmail поблагодарил:
kas5858 (Ср янв 17, 2018 1:40 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
kas5858
Сообщения: 364
Зарегистрирован: Вс янв 15, 2017 5:34 pm
Откуда: Москва
Благодарил (а): 100 раз
Поблагодарили: 53 раза

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение kas5858 » Ср янв 17, 2018 1:30 pm

Спасибо! нашел ошибку в коде "onNewMinute"

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

// ==============================================================
// Если будний день и нет гостей, то:
if (isWeekDay() && !gg('GuestsMode.active')) {
 if 
  (timeIs('08:10') || timeIs('08:20')) { say('Сейчас '.timeNow(),1); }
 if 
  (timeIs('08:01')) {
  $status="";
  $status.=' Температура за окном '.getGlobal('ow_fact.temperature')." градусов цельсия.";
  $tm=(float)getGlobal('ow_fact.temperature');
  if ($tm<-10) {
   $status.=' Осторожно, очень холодно.';
  } elseif ($tm<0) {   
   $status.=' Просто холодно.';  
  } elseif ($tm<5) {
   $status.=' Довольно холодно. На велосипеде я бы не рекомендовала сегодня ехать.';
  } elseif ($tm<12) {
   $status.=' Весьма прохладно.';
  }
  $status.=' Восход солнца сегодня в '.getGlobal('SunRiseTime').',';
  $status.=' закат в '.getGlobal('SunSetTime').'.';
  say($status, 1); 
 }
 //if (timeIs('21:59') && !gg('NobodyHomeMode.active')) { 
 //say('Алиса желает вам спокойной ночи. Не забудьте проветрить комнату перед сном.', 2); 
 //}  
Не хватало (}) , толи закомментировал криво или удалил случайно. Все заработало
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Изображение Connect
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение Logrus » Ср янв 17, 2018 1:47 pm

поэтому тут и не должно быть портянок )))
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
kas5858
Сообщения: 364
Зарегистрирован: Вс янв 15, 2017 5:34 pm
Откуда: Москва
Благодарил (а): 100 раз
Поблагодарили: 53 раза

Re: Базовый образ Raspberry Pi3 / Pi2

Сообщение kas5858 » Ср янв 17, 2018 2:28 pm

Logrus писал(а):поэтому тут и не должно быть портянок )))
Не все сразу. Думаем оптимизируем )))
Raspberry Pi3 - Broadlink - MegaD - Много датчиков - Камеры - Часы.
Изображение Connect
Ответить