Страница 2 из 24

Re: Модуль "Пробки от Яндекс"

Добавлено: Вт фев 09, 2016 6:09 am
nick7zmail
Avtor писал(а):не отоброжается светофор и балы, нет доступа к иконкам что сделать???
Иконки лежат в /templates/app_yatraffic/icons/. Проверьте есть ли они там. Попробуйте какую-нибудь открыть с сервера по по прямой ссылке. Попробуйте другие браузеры. И скажите что у вас за система хоть?

Re: Модуль "Пробки от Яндекс"

Добавлено: Вт фев 09, 2016 8:18 am
nick7zmail
Avtor писал(а):не отоброжается светофор и балы, нет доступа к иконкам что сделать???
Иконки находятся в /htdocs/templates/app_yatraffic/icons/. Проверьте есть ли они там... Попробуйте через другой браузер открыть, попробуйте открыть иконку напрямую <ip сервера>/templates/app_yatraffic/icons/green.png (вроде так...возможно без /templates/...дома точнее скажу) ... И что у вас за система? Может реально с правами что-то? В линухе часто такое бывает.

Re: Модуль "Пробки от Яндекс"

Добавлено: Вт фев 16, 2016 11:28 am
Vovix
чего-то с этой темой на форуме!
сколько её не просматривай - она всегда в не прочитанных!

Re: Модуль "Пробки от Яндекс"

Добавлено: Вт фев 16, 2016 11:30 am
Vovix
что-то не правильно с этой темой! сообщения свои в ней не вижу

Re: Модуль "Пробки от Яндекс"

Добавлено: Вт фев 16, 2016 11:34 am
nick7zmail
m-malva писал(а): а то после yaWeather module и openweather module
запихивать в onNewHour плохой тон
На счёт openweather не видел, пример как раз с ya_weather брал...а почему плохой тон, если не секрет?

Re: Модуль "Пробки от Яндекс"

Добавлено: Чт фев 18, 2016 10:51 am
nick7zmail
m-malva писал(а): а то после yaWeather module и openweather module
запихивать в onNewHour плохой тон
Почему плохой тон? не видел как в openweather организовано, но пример как раз брал с yaWeather...

Re: Модуль "Пробки от Яндекс"

Добавлено: Чт фев 18, 2016 11:12 am
m-malva
nick7zmail писал(а): Почему плохой тон? не видел как в openweather организовано, но пример как раз брал с yaWeather...
После каждого обновления вот такая хрень в onNewHour
лучше модуль вообще туда ничего не писал
СпойлерПоказать

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

//START openweather module
                  $updateTime = gg('ow_setting.updateTime');
                  if($updateTime > 0)
                  {
                     $count = gg('ow_setting.countTime');
                     if($count >= $updateTime)
                     {
                        include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
                        $app_openweather = new app_openweather();
                        $app_openweather->get_weather(gg('ow_city.id'));
                        sg('ow_setting.countTime', 1);
                     }
                     else
                     {
                        $count++;
                        sg('ow_setting.countTime', $count);
                     }
                  }
               // END openweather module//START openweather module
                  $updateTime = gg('ow_setting.updateTime');
                  if($updateTime > 0)
                  {
                     $count = gg('ow_setting.countTime');
                     if($count >= $updateTime)
                     {
                        include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
                        $app_openweather = new app_openweather();
                        $app_openweather->get_weather(gg('ow_city.id'));
                        sg('ow_setting.countTime', 1);
                     }
                     else
                     {
                        $count++;
                        sg('ow_setting.countTime', $count);
                     }
                  }
               // END openweather module//START openweather module
                  $updateTime = gg('ow_setting.updateTime');
                  if($updateTime > 0)
                  {
                     $count = gg('ow_setting.countTime');
                     if($count >= $updateTime)
                     {
                        include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
                        $app_openweather = new app_openweather();
                        $app_openweather->get_weather(gg('ow_city.id'));
                        sg('ow_setting.countTime', 1);
                     }
                     else
                     {
                        $count++;
                        sg('ow_setting.countTime', $count);
                     }
                  }
               // END openweather module//START openweather module
                  $updateTime = gg('ow_setting.updateTime');
                  if($updateTime > 0)
                  {
                     $count = gg('ow_setting.countTime');
                     if($count >= $updateTime)
                     {
                        include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
                        $app_openweather = new app_openweather();
                        $app_openweather->get_weather(gg('ow_city.id'));
                        sg('ow_setting.countTime', 1);
                     }
                     else
                     {
                        $count++;
                        sg('ow_setting.countTime', $count);
                     }
                  }
               // END openweather module//START openweather module
                  $updateTime = gg('ow_setting.updateTime');
                  if($updateTime > 0)
                  {
                     $count = gg('ow_setting.countTime');
                     if($count >= $updateTime)
                     {
                        include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
                        $app_openweather = new app_openweather();
                        $app_openweather->get_weather(gg('ow_city.id'));
                        sg('ow_setting.countTime', 1);
                     }
                     else
                     {
                        $count++;
                        sg('ow_setting.countTime', $count);
                     }
                  }
               // END openweather module//START openweather module
                  $updateTime = gg('ow_setting.updateTime');
                  if($updateTime > 0)
                  {
                     $count = gg('ow_setting.countTime');
                     if($count >= $updateTime)
                     {
                        include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
                        $app_openweather = new app_openweather();
                        $app_openweather->get_weather(gg('ow_city.id'));
                        sg('ow_setting.countTime', 1);
                     }
                     else
                     {
                        $count++;
                        sg('ow_setting.countTime', $count);
                     }
                  }
               // END openweather module//START openweather module
                  $updateTime = gg('ow_setting.updateTime');
                  if($updateTime > 0)
                  {
                     $count = gg('ow_setting.countTime');
                     if($count >= $updateTime)
                     {
                        include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
                        $app_openweather = new app_openweather();
                        $app_openweather->get_weather(gg('ow_city.id'));
                        sg('ow_setting.countTime', 1);
                     }
                     else
                     {
                        $count++;
                        sg('ow_setting.countTime', $count);
                     }
                  }
               // END openweather module/* START yaWeather module*/
$updateTime = gg('yw_setting.updateTime');
if($updateTime > 0){
$count = gg('yw_setting.countTime');
    if($count >= $updateTime){
        include_once(DIR_MODULES.'app_yaweather/app_yaweather.class.php');
        $app_yaweather=new app_yaweather();
        $app_yaweather->get_weather(gg('yw_setting.city_id'));
        sg('yw_setting.countTime',1);
    } else {
        $count++;
        sg('yw_setting.countTime',$count);
    }
}/* END yaWeather*/

Re: Модуль "Пробки от Яндекс"

Добавлено: Пт фев 19, 2016 11:00 am
ученик
Возникла идея проговаривать время в пути по определенным маршрутам при выходе из дома.
сперва принудительно обновляем с этим нет проблем
Во второй части "марлезонского балета" необходимо получить данные по маршруту.
В меню умного дома есть такая строка которая видимо отрабатывает маршрут [#module name="app_yatraffic" routes="1"#] и есть переменная 'yt_settings.route1' которая содержит маршрут
Видимо надо присвоить некой переменной результат, значение $traff=[#module name="app_yatraffic" routes="getGlobal('yt_settings.route1')"#] но видимо чего то не хватает, не так делается, а как сделать не понятно?
Как запустить модуль с маршрутом и присвоить результат какой то переменной, который отдать Алисе на озвучивание?
В программирование только начал разбираться.

Re: Модуль "Пробки от Яндекс"

Добавлено: Пт фев 19, 2016 5:05 pm
nick7zmail
m-malva писал(а): После каждого обновления вот такая хрень в onNewHour
лучше модуль вообще туда ничего не писал
Ну openweather не смотрел как устроен, но в YaWeather точно видел проверку на то, есть ли в методе данный код, и если нет, то добавлял. Хотел похожим методом сделать, но оставил это все на откуп пользователей на вкладке помощь, и в описании модуля)). Так что мой модуль в OnNewHour ничего и не пишет.
ученик писал(а): сперва принудительно обновляем с этим нет проблем
Во второй части "марлезонского балета" необходимо получить данные по маршруту.
В меню умного дома есть такая строка которая видимо отрабатывает маршрут [#module name="app_yatraffic" routes="1"#] и есть переменная 'yt_settings.route1' которая содержит маршрут
Видимо надо присвоить некой переменной результат, значение $traff=[#module name="app_yatraffic" routes="getGlobal('yt_settings.route1')"#] но видимо чего то не хватает, не так делается, а как сделать не понятно?
Как запустить модуль с маршрутом и присвоить результат какой то переменной, который отдать Алисе на озвучивание?
В программирование только начал разбираться.
Как раз таки с "принудительно обновить" и вся проблема. С баллами, ситуацией на дорогах тут все просто - через php запрашиваем xml, и разбираем её на данные. Как я и писал - функцию маршрутов добавил экспериментально (пре альфа версия и тп))). Дело всё в том что доступ к яндекс картам и маршрутам осуществляется через javascript (другого способа я не нашел. в xml api нет функции маршрутов...раньше по крайней мере точно не было). javascript исключительно браузерный язык...на стороне сервера отрабатывает только php.
В общем сейчас механизм примерно такой: загружается страница -> запускается javascript -> загружает данные -> отрисовывает их на странице. Я конечно могу сделать последующую загрузку в какое-нибудь свойство, только вот это ничего не даст. Будет отображаться время маршрута загруженное при последнем открытии браузера.
Чтобы запустить javascript нужно извратиться примерно следующим образом. При обновлении параметров пробок - на стороне сервера запустить браузер, в нем открыть страницу с md, выполнится скрипт, запишутся переменные, после этого закрыть браузер. И так при каждом обновлении. Без открытого браузера не получится...

Нормально это все сделать можно лишь когда яндекс догадается в xml запросы включить маршруты. Либо попробовать грузить через другой сервис (на гугле к примеру сейчас вроде тоже пробки кажут...не знаю на сколько достоверно...но кажут...пока не пробовал этим заниматься...

А строка [#module name="app_yatraffic" routes="1"#] всего лишь вызывает модуль. Вместо нее в страницу встраивается html блок с оформлением.

Re: Модуль "Пробки от Яндекс"

Добавлено: Сб фев 20, 2016 10:37 am
ученик
По поводу проговаривания пробок.
Сделал сценарий для того, что бы проговаривал пробки в будни дни перед выходом.
Поставил галки, что бы сценарий выполнялся в будние дни в одно и то же время.
CallMethod('yt_settings.update');// принудительное обновление пробок.
runscript ("mute on");// отключает звук телевизора.
$traffic_jam.=".Пробки на дороге, ".getGlobal('yt_info.level')." Балла, ".getGlobal('yt_info.val');
say($traffic_jam,2); //проговаривает пробки.
sleep(25);// время отключения звука телевизора.
runscript ("mute off");// вкл. звук телевизора.
Но почему то Алиса проговаривает 2 раза, 1 раз сразу( бывает с задержкой) , 2 раз через 25 сек.
Получается что звук выключается и тут же включается.
Ставишь больше время, изменяется время между повторами сообщения , а не время между включением и отключением звука телевизора.
сперва был один сценарий но потом сделал 3 сценария...
Как сделать так, что бы не было повтора?
и как синхронизировать время оповещения и время отключения звука телевизора?

.