Это пожелания. Вам.
[Модуль] Погода Яндекс (yandexweather)
Модератор: immortal
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: [Модуль] Яндекс погода 2018
А можно задать пару вопросов по процедуре?directman66 писал(а): ↑Пт июн 08, 2018 6:18 amВсе будет, не переживайте )
Сейчас схема работы выглядит следующим образом:
1) Выбираете или добавляете город, выбираете mycity (если город не добавляется, потыкайте вкладки и повторите, я не до конца разобрался со свойствами datasource, поэтому тут возможны глюки).
2) Нажимаете кнопку get - заполняются объекты yandexweather (включается автозапуск циклов yaпогоды)
3) Нажимаете кнопку общие настройки - обновление структуры БД
4) При последующем нажатии get или выполнении цикла включится штатный режим работаты модуля.
5) Обращение основных форм и виджетов производится через временную таблицу yaweather_main. Обновление таблицы производится после запуска цикла получения информации с сервиса yandex.
6) Настройки модуля переехали в свою таблицу yaweather_config базы данных, поэтому нужно полностью удалить старую версию и установить новую из маркета.
7) Уведомления пока срабатывают каждые несколько секунда, задача в работе.
Всем хорошей "пятницы"-четверга )
1. Чего бы не сделать работу с городами так же как в старом модуле Яндекс погода? Т.е. список городов считывался и загонялся в комбобокс только когда юзер заходил в настройки - > далее юзер выбирал город который ему нужен -> city ID и region из комбобокса заносились в объект и всё, больше набор городов не нужен. Профит - длинный список городов считывается только тогда когда он нужен, нигде не хранится и не грузит систему когда не нужен
2. Зачем саму погоду считывать в цикле и тем самым загружать систему? Не проще ли как в модуле OpenWeather подписаться на событие hourly и запускать какие-то процессы только тогда когда это нужно? Если же нужно обновлять чаще чем раз в час, то в hourly запускать таймер, скачивающий данные и снова запускающий таймер...
Я без наездов - работа проделана громадная, но как-то всё не оптимально совсем
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: [Модуль] Яндекс погода 2018
fandaymon писал(а): ↑Пт июн 08, 2018 9:42 am
А можно задать пару вопросов по процедуре?
1. Чего бы не сделать работу с городами так же как в старом модуле Яндекс погода? Т.е. список городов считывался и загонялся в комбобокс только когда юзер заходил в настройки - > далее юзер выбирал город который ему нужен -> city ID и region из комбобокса заносились в объект и всё, больше набор городов не нужен. Профит - длинный список городов считывается только тогда когда он нужен, нигде не хранится и не грузит систему когда не нужен
2. Зачем саму погоду считывать в цикле и тем самым загружать систему? Не проще ли как в модуле OpenWeather подписаться на событие hourly и запускать какие-то процессы только тогда когда это нужно? Если же нужно обновлять чаще чем раз в час, то в hourly запускать таймер, скачивающий данные и снова запускающий таймер...
Я без наездов - работа проделана громадная, но как-то всё не оптимально совсем
1) Список нигде не представлен. Я его найти не смог. Приложение для андройд ищет города по запросу. Список городов от предыдущего модуля не подходит.
2)
это какой-то безсмысленный костыль. Намного проще и надежнее работает цикл. Теоретически можно сделать настройку отключения цикла и подписку на hourly. Но пока имхо есть задачи поважнее.то в hourly запускать таймер, скачивающий данные и снова запускающий таймер...
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: [Модуль] Яндекс погода 2018
1. Просто поменять линк, структура вроде таже самая...directman66 писал(а): ↑Пт июн 08, 2018 9:53 amfandaymon писал(а): ↑Пт июн 08, 2018 9:42 am
А можно задать пару вопросов по процедуре?
1. Чего бы не сделать работу с городами так же как в старом модуле Яндекс погода? Т.е. список городов считывался и загонялся в комбобокс только когда юзер заходил в настройки - > далее юзер выбирал город который ему нужен -> city ID и region из комбобокса заносились в объект и всё, больше набор городов не нужен. Профит - длинный список городов считывается только тогда когда он нужен, нигде не хранится и не грузит систему когда не нужен
2. Зачем саму погоду считывать в цикле и тем самым загружать систему? Не проще ли как в модуле OpenWeather подписаться на событие hourly и запускать какие-то процессы только тогда когда это нужно? Если же нужно обновлять чаще чем раз в час, то в hourly запускать таймер, скачивающий данные и снова запускающий таймер...
Я без наездов - работа проделана громадная, но как-то всё не оптимально совсем
1) Список нигде не представлен. Я его найти не смог. Приложение для андройд ищет города по запросу. Список городов от предыдущего модуля не подходит.
2)это какой-то безсмысленный костыль. Намного проще и надежнее работает цикл. Теоретически можно сделать настройку отключения цикла и подписку на hourly. Но пока имхо есть задачи поважнее.то в hourly запускать таймер, скачивающий данные и снова запускающий таймер...
function get_cityId(&$out)
{
global $country;
if(!isset($country)) $country = '';
$data_file = 'http://weather.yandex.ru/static/cities.xml'; // Старый линк
$data_file = 'https://pogoda.yandex.ru/static/cities.xml'; // Новый линк
$xml = simplexml_load_file($data_file);
$out["country"] = '<option value="0">--Выберите страну--</option>';
$out["city"] = '<option value="0">--Выберите город--</option>';
foreach ( $xml->country as $key => $value) {
$out["country"] .= '<option value="'.$value["name"].'"';
if ($value["name"] == $country) {
$out["country"] .= ' selected';
foreach ($value->city as $key1 => $value1) {
$out["city"] .= '<option value="'.$value1["id"].'">' .$value1. '</option>';
}
}
$out["country"] .= '>'.$value["name"].'</option>';
}
}
2. Надежнее да, но он работает всё время и по большей части вхолостую, бессмысленно грузит процессор. Плюс если что-то где-то меняется, то надо перезапускать цикл, что тоже костыль ещё тот...
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: [Модуль] Яндекс погода 2018
Из нового линка
<city id="28440" region="11162" head="1" type="2" country="Россия" part="Свердловская область" resort="0" climate="">Екатеринбург</city>
а информация для ЕКБ отдается по ссылке
https://api.weather.yandex.ru/v1/foreca ... 54&lang=ru
Где логика? Если найдете соответствующий справочник - добавлю по аналогии без проблем. Как вариант конечно его можно сгенерить самому, представившись андройд приложением и запросить по старому списку городов. Но пока это в мои планы не входило.
<city id="28440" region="11162" head="1" type="2" country="Россия" part="Свердловская область" resort="0" climate="">Екатеринбург</city>
а информация для ЕКБ отдается по ссылке
https://api.weather.yandex.ru/v1/foreca ... 54&lang=ru
Где логика? Если найдете соответствующий справочник - добавлю по аналогии без проблем. Как вариант конечно его можно сгенерить самому, представившись андройд приложением и запросить по старому списку городов. Но пока это в мои планы не входило.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: [Модуль] Яндекс погода 2018
Кстати, андройд приложение работает по тому-же самому принципу, что и api погода. Только адрес другой )При желании легко переделывается на штатный механизм яндекса, со всеми соотвествующими ограничениями и оплатами )
Также что лучше не ддосить их сервис и выставлять период не менее 15 минут, пока не запретили.
Также что лучше не ддосить их сервис и выставлять период не менее 15 минут, пока не запретили.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: [Модуль] Яндекс погода 2018
Ммм... я просто скопировал линк из вашего модуляdirectman66 писал(а): ↑Пт июн 08, 2018 10:23 amИз нового линка
<city id="28440" region="11162" head="1" type="2" country="Россия" part="Свердловская область" resort="0" climate="">Екатеринбург</city>
а информация для ЕКБ отдается по ссылке
https://api.weather.yandex.ru/v1/foreca ... 54&lang=ru
Где логика? Если найдете соответствующий справочник - добавлю по аналогии без проблем. Как вариант конечно его можно сгенерить самому, представившись андройд приложением и запросить по старому списку городов. Но пока это в мои планы не входило.
//ID города узнаем тут: https://pogoda.yandex.ru/static/cities.xml
//region="11162" id="28440
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: [Модуль] Яндекс погода 2018
Это огрызки старых сценариев. Оставлено для памяти.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 407
- Зарегистрирован: Вт окт 24, 2017 2:01 pm
- Откуда: Ижевск
- Благодарил (а): 45 раз
- Поблагодарили: 69 раз
Re: [Модуль] Яндекс погода 2018
Parse error: syntax error, unexpected '=', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in /var/www/html/lib/jTemplate.class.php(587) : eval()'d code on line 1
такое вот чудо вылезло, когда пытаюсь зайти в общие настройки
перезагрузил, получилось зайти в настройки, но при изменении времени обновления вот такая вещь
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/lib/mysqli.class.php on line 227
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/lib/mysqli.class.php on line 227
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/lib/mysqli.class.php on line 227
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/lib/mysqli.class.php on line 227
такое вот чудо вылезло, когда пытаюсь зайти в общие настройки
перезагрузил, получилось зайти в настройки, но при изменении времени обновления вот такая вещь
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/lib/mysqli.class.php on line 227
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/lib/mysqli.class.php on line 227
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/lib/mysqli.class.php on line 227
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /var/www/html/lib/mysqli.class.php on line 227
Последний раз редактировалось ZyaK Сб июн 09, 2018 6:04 am, всего редактировалось 1 раз.
PI2 + MQTT + 5 ESP8266 + Atmega16
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: [Модуль] Яндекс погода 2018
Это что-то не расшифровываемое) какая система?
Подозреваю, что вы скачали какой-то промежуточный вариант форм. Обновите приложение через маркет.
Подозреваю, что вы скачали какой-то промежуточный вариант форм. Обновите приложение через маркет.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram