[Сценарий] Пробки (Яндекс)

Не требует установки программ или изменения файлов

Модераторы: immortal, newz20

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

[Сценарий] Пробки (Яндекс)

Сообщение nick7zmail » Вс ноя 08, 2015 6:20 pm

На форуме полно инфы по поводу яндекс-погоды, а на счет яндекс-пробок написано крайне мало. Из темы http://majordomo.smartliving.ru/forum/v ... ?f=6&t=405 нашел только ссылку. По-этому решил выложить пару готовых наработок для новичков, которые можно использовать в чистом виде.
1) Создаем в объектах класс ya_probki
2) Создаем объект (я создал по названию города - Ekaterinburg)
3) У объекта свойства ( city_title, level, val, time, icon, tend)
4) У класса создаем метод check
5) У объекта нажимаем в методах - Настроить, и вписываем код
СпойлерПоказать

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

$data_file='https://export.yandex.ru/bar/reginfo.xml'; // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
//Выставляем переменные
sg('Ekaterinburg.city_title', $xml->region->title);
sg('Ekaterinburg.level', $xml->traffic->level);
sg('Ekaterinburg.icon', $xml->traffic->icon);
sg('Ekaterinburg.time', $xml->traffic->time);
sg('Ekaterinburg.val', $xml->traffic->hint);
sg('Ekaterinburg.tend', $xml->traffic->tend); 
Примечание: данный код автоматически определяет регион. Если регион определен неверно, либо нужна информация из других регионов - их нужно указать вручную. Список регионов тут. Чтобы указать - заменяете первую строку кода на

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

$data_file='http://export.yandex.ru/bar/reginfo.xml?region=<номер региона>'; 
6) Запускаем метод, например раз в час, вписав в OnNewHour

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

CallMethod('Ekaterinburg.check'); 
Полученные значения можно использовать уже как хотите - в меню, в элементах сцен, в шаблонах.
Вот пару примеров:
Меню.jpg
В меню
Меню.jpg (16.26 КБ) 9044 просмотра
Для верхнего элементаПоказать

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

<font color="%Ekaterinburg.icon%" size=4>
<font color="white">Город: </font>%Ekaterinburg.city_title%<br>
<font color="white">Баллы:</font> <font size=5>%Ekaterinburg.level%</font><br>
%Ekaterinburg.val%<br>
<font size=2 color="white">Обновлено: %Ekaterinburg.time% </font><br>
 </font> 
Для нижнего элементаПоказать

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

<div align="left"><font size=4>%Ekaterinburg.city_title%</font></div>
<img src="/templates_alt/img/icons/ya_probki/%Ekaterinburg.icon%.png" align="right">
<div align="left"  padding="10%"><font color="%Ekaterinburg.icon%" size="6">%Ekaterinburg.level%</font></div>
<div align="left"><font color="%Ekaterinburg.icon%">%Ekaterinburg.val%</font></div> 
В сцене(код тот же что и для второго элемента меню, просто вставил в сцену ради примера)
Сцена.jpg
На сцене
Сцена.jpg (13.63 КБ) 9044 просмотра
Чуть позже постараюсь оформить все это дело в модуль, как только пойму - как все это делается))

Обновление:
-Закинул значки светофоров (свои тоже оставил - как альтернативу)
-Заменил скрины
-Добавлена информация по региону
Вложения
ya_probki.rar
Архив
(30.22 КБ) 316 скачиваний
Последний раз редактировалось nick7zmail Ср ноя 11, 2015 1:35 pm, всего редактировалось 3 раза.
За это сообщение автора nick7zmail поблагодарил:
olehs (Вс ноя 08, 2015 7:15 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

Re: Пробки (Яндекс)

Сообщение m-malva » Вс ноя 08, 2015 7:02 pm

nick7zmail писал(а): Значков светофора с яндекса не нашел)) По-этому использовал - то что было.
Значки от Яндекса
red.png
red.png (5.58 КБ) 9154 просмотра
yellow.png
yellow.png (5.67 КБ) 9154 просмотра
green.png
green.png (5.89 КБ) 9154 просмотра
ya_exp.rar
(17.35 КБ) 267 скачиваний
Аватара пользователя
m-malva
Сообщения: 291
Зарегистрирован: Чт фев 26, 2015 1:38 am
Откуда: Санкт-Петербург
Благодарил (а): 16 раз
Поблагодарили: 66 раз
Контактная информация:

Re: Пробки (Яндекс)

Сообщение m-malva » Вс ноя 08, 2015 7:11 pm

nick7zmail писал(а):

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

$data_file='https://export.yandex.ru/bar/reginfo.xml'; // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
//Выставляем переменные
sg('Ekaterinburg.city_title', $xml->region->title);
sg('Ekaterinburg.level', $xml->traffic->level);
sg('Ekaterinburg.icon', $xml->traffic->icon);
sg('Ekaterinburg.time', $xml->traffic->time);
sg('Ekaterinburg.val', $xml->traffic->hint);
sg('Ekaterinburg.tend', $xml->traffic->tend); 
Надо указывать регион ! Иначе яндекс может определить регион не верно.

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

 
$data_file="http://export.yandex.ru/bar/reginfo.xml?region=2";
 
Официально нумерация выложена на сайте яндекса: https://yandex.ru/yaca/geo.c2n
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Пробки (Яндекс)

Сообщение nick7zmail » Вс ноя 08, 2015 7:32 pm

m-malva писал(а): Надо указывать регион ! Иначе яндекс может определить регион не верно.
Да в начале с регионом написал - потом посмотрел - вроде без него работает...решил - зачем лишние заморочки, пусть автоматом определяет))...а со случаями неправильного распознавания места в яндексе как то не сталкивался...ну ок, учту.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: Пробки (Яндекс)

Сообщение sega6549 » Пт мар 25, 2016 2:57 pm

к сожалению на мой город не взлетела, в .xml строчка трафик пустая, как в принципе и многие другие города, заработало только для санкт питербурга, москва, екатеринбург, для ярославля нету(((
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Пробки (Яндекс)

Сообщение nick7zmail » Вт мар 29, 2016 10:00 am

sega6549 писал(а):к сожалению на мой город не взлетела, в .xml строчка трафик пустая, как в принципе и многие другие города, заработало только для санкт питербурга, москва, екатеринбург, для ярославля нету(((
Попробуй открыть http://export.yandex.ru/bar/reginfo.xml (без номера региона)...посмотри что автоматически определит.
На яндекс картах вроде показывают у вас пробки...и xml по идее должен отдавать.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
sega6549
Сообщения: 530
Зарегистрирован: Чт авг 20, 2015 11:32 am
Откуда: Ярославль
Благодарил (а): 61 раз
Поблагодарили: 75 раз
Контактная информация:

Re: Пробки (Яндекс)

Сообщение sega6549 » Вт мар 29, 2016 10:13 am

nick7zmail писал(а):
sega6549 писал(а):к сожалению на мой город не взлетела, в .xml строчка трафик пустая, как в принципе и многие другие города, заработало только для санкт питербурга, москва, екатеринбург, для ярославля нету(((
Попробуй открыть http://export.yandex.ru/bar/reginfo.xml (без номера региона)...посмотри что автоматически определит.
На яндекс картах вроде показывают у вас пробки...и xml по идее должен отдавать.
определяет мой регион, 16, но опять же без данных о пробках
Тут можно задать вопрос по MajorDoMo VK
Канал по MajorDoMo youtube
Ответить