Расширение функций погодного виджета.
Плагин предоставляет следующие возможности:
- активирование/деактивирование исправления погодного виджета
- удаление старого исправления погодного виджета
- ввод API Key для погодного виджета
- загрузка API Key из файла на жестком диске
- управление частотой обновления информации о погоде
- выбор погодного сервиса (OpenWeatherMap, Яндекс, rp5.ru, Gismeteo)
- отображение количества (в процентах) свободной оперативной памяти Дюны вместо города в погодном виджете
- автоматическая или ручная очистка оперативной память с помощью удаления shell процесов запущенных плагинов (экспериментальная функция)
Краткая предистория:
Решил сделать плагин для себя, так как иногда возникали проблемы с памятью после посещения определенного количества плагинов. Даная тема обсуждалась здесь. Сделал сначала скрипт для отображение количества свободной память, а потом скрипт для удаления "лишних" shell процессов. При возникновении проблемы с погодным виджетом из-за изменений в API провайдера информации о погоде, а именно - введения объязательного API Key, решил создать этот плагин, в котором объединил исправление погодного виджета и скрипты для контроля памяти. Возможно кому-то еще пригодиться этот плагин.
Как пользоваться:
После установки плагина, настройки можно найти в Настройки -> Widget Ext.
Если у вас уже установлено исправление погодного виджета, плагин это разпознает и предоставит возможность с помощью нажатия кнопки в настройках удалить старое исправление погодного виджета.
Для использования исправления погодного виджета надо выбрать один из погодных сервисов.
Погода от OpenWeatherMap:
Для использования стандартного для дюны провайдера погодного сервиса OpenWeatherMap надо получить API Key. Как уже описывали в других темах, для этого надо зарегистрироваться на сайте http://home.openweat...g/users/sign_up и получить там API Key. Этот ключ надо ввести в настройках плагина или сохранить в файле apikey.txt на любом жестком диске или флешке, подсоединенной к дюне. В последнем случае в настроках надо будет нажать кнопку для загрузки ключа из файла.
Для OpenWeatherMap город и страна настраиваются в стандартных настройках дюны: Настройки -> Локализация (на старых прошивках: Настройки -> Приложения -> Виджет).
Погода от Яндекс:
Для использования провайдера погодного сервиса Яндекс обычно достаточно только выбрать в настройках этот провайдер. GEOID города указывать не обязательно. В этом случае Яндекс попытается сам определить город по IP адресу. Если автоматически город определяется неверно или вы просто сами хотите задать город, тогда необходимо указать GEOID города. Найти нужный GEOID, к сожалению, немного сложнее, чем было раньше. Для этого необходимо зайти на сайт https://www.yandex.ru/, проверить (слева сверху), правильно ли распознался город. Если нужен другой города, то необходимо изменить город на сайте Яндекс. Потом кликнуть на любую новость и найти в адресе открывшейся страницы значение параметра lr (например, lr=143 для Киева), который обычно находится в конце адреса. Это значение и есть GEOID города. См. картинку ниже.
yandex.jpg 84.76К
205 Количество загрузок:
Для Яндекс город настраивается только с помощью GEOID города. Город и страна в стандартных настройках дюны никак не влияет на Яндекс сервис.
Погода от rp5.ru:
Для использования провайдера погодного сервиса rp5.ru необходимо укзать ID города. Чтобы найти нужный ID необходимо зайти на сайт http://rp5.ru (или http://rp5.ua), и выбрать, при необходимости, нужный город. Потом кликнуть на иконку возле RSS в правом верхнем углу и найти в адресе открывшейся страницы число после "rp5.ru/rss/" (например, 509938 для Киева). Это число и есть ID города. См. картинку ниже.
rp5.jpg 140.53К
87 Количество загрузок:
Для rp5.ru город настраивается только с помощью ID города. Город и страна в стандартных настройках дюны никак не влияет на rp5.ru сервис.
Погода от Gismeteo:
Для использования провайдера погодного сервиса Gismeto необходимо выбрать город. Для того чтобы выбрать город, начните вводить название города в расширенной клавиатуре и выберите ваш город среди найденных.
Для Gismeto город настраивается только с помощью плагина. Город и страна в стандартных настройках дюны никак не влияет на Gismeto сервис.
Свободная память:
Если отображение количества свободной оперативной памяти включено, то в погодном виджете вместо названия города будет отображаться процент свободной оперативной памяти. Информация обновляется раз в минуту. Я пока, к сожалению, не нашел как заставить виджет сразу отображать актуальную информацию, поэтому информация может отображается на экране с небольшим запозданием. У меня лично на Dune HD Smart H1 процент свободной памяти восновном двигается в промежутке от 15% до 1%.
Очистка памяти:
Для автоматической очистки памяти необходимо выбрать в настройках уровень для очистки памяти (в процентах). Если объем свободной памяти становится меньше выбранного, плагин запускает скрипт, который пытается освободить память. Для этого он удаляет shell процессы, запущенные для исполнения плагинов. Не удаляются только главный shell процесс и последний запущенный shell процесс. Последнее минимизирует вероятность того, что процесс плагина, который сейчас отображается в дюне будет удален во время чистки. Но если зайти в один плагин, потом во второй, а потом вернуться в первый, то при чистке будет удален процесс первого плагина. На отображение видео это никак не влияет. Большинство плагинов тоже переносят это безболезненно. Но были замечены определенные проблемы с плагинами для IPTV (например, MyOnlineTV, Altiptv и т.п.). Проблему с MyOnlineTV могу подтвердить лично, так как нашол проблему в коде, которая не выдерживает перезапуска процесса. Поэтому я указал эту функцию как экспериментальную. Возможно кто-то сможет помочь советом, как определить, какой плагин был последним активирован в GUI, а не какой был последним запущен. А пока можно использовать эту функцию на свой страх и риск. :о)
Для того, чтобы исключить определенные плагины из процесса очистки памяти, нужно нажать на кнопку "Выбрать...". Тогда отобразится список всех установленных плагинов. С помощью кнопок "D" или "ENTER" можно отметить плагин как игнорируемый или не игнорируемый. После выбора плагинов, кнопкой "RETURN" можно вернуться в основные настройки плагина.
Ручаная очистка памяти пытается очистить память вне зависимости от количества свободной памяти. Этот процесс не влияет негативно на другие плагины, так как запускается, когда последним активным плагином является Widget Ext сам. Единственное, что повторный заход в какой-то плагин длиться столько же, сколько и первый заход. Без очистки памяти повторный заход может производиться быстрее. Поэтому не стоит использовать функцию очистки памяти, если вы не замечаете, что дюна начинает тормозить после посещения определенного количества плагинов.
Надеюсь плагин кому-то тоже пригодиться. :о)
Скриншоты (погода):
screenshot000.jpg 79.69К
185 Количество загрузок:
screenshot001.jpg 73.75К
80 Количество загрузок:
screenshot002.jpg 80.92К
55 Количество загрузок:
screenshot003.jpg 82.88К
61 Количество загрузок:
screenshot004.jpg 80.23К
41 Количество загрузок:
screenshot005.jpg 85.05К
42 Количество загрузок:
Скриншоты (память):
screenshot007.jpg 79.24К
50 Количество загрузок:
screenshot008.jpg 74К
45 Количество загрузок:
==========================================================================
Версия 1.5.0 [14.10.2019]:
- Исправлено обновление погоды для андроидных дюн.
Версия 1.4.0 [06.10.2019]:
- Добавлен погодный сервис Gismeteo. (спасибо LordGenom за информацию; спасибо q2100 и TrippyCat за расширенную клавиатуру, которая используется для выбора города)
Версия 1.3.0 [28.08.2016]:
- Улучшено вычисление количества свободной памяти. (спасибо slondon)
Версия 1.2.0 [29.03.2016]:
- Исправлен погодный сервис Яндекс. ВНИМАНИЕ: если в настройках был указан ID города, его надо будет заменить на GEOID (см. описание "Погода от Яндекс" выше).
- Добавлен погодный сервис rp5.ru.
Версия 1.1.1 [16.11.2015]:
- Значек плагина больше не отображается на главном экране, если выбран режим отображения "Простой".
- Исправлено: игнорирование плагинов при очистке памяти не работало, если выбран только один плагин для игнорирования.
- Исправлено: если температура от Яндекс ниже 0 градусов, то виджет показывал всегда 0 градусов.
Версия 1.1.0 [15.11.2015]:
- Возможность выбора плагинов, которые будут игнорироваться при очистки памяти.
- Автоматическое обновление погоды после включения плеера. (спасиб geomex за идею)
- Возможность выбора провайдера погодного сервиса.
- Добавлен (в тестовом режиме) провайдер погодного сервиса Yandex.ru, для которого не нужна дополнительная регистрация. (спасибо TrippyCat за идею с яндекс)
- Возможность просмотра лога последней очистки памяти.
- Внутренние улучшения с местом хранения настроек. (спасибо TrippyCat за консультацию)
- Добавлен венгерский перевод к уже существующим английскому, немецкому, русскому и украинскому. (спасибо astrago за перевод)
- Еще с предыдущих версий плагин можно найти в расширенном дюнастор. Кроме этого в плагине активировано автообновление. (спасибо TrippyCat)
Версия 1.0.1 [01.11.2015]:
- Настройки плагина перенесены в корень настроек: новый путь к плагину "Настройки -> Widget Ext". (спасибо TrippyCat за предложение)
- Добавлена кнопка для просмотра лога последнего обновления погоды.
- Исправлена ошибка с загрузкой apikey.txt файла сохраненного с кодировкой UTF8 c BOM. (спасибо braverheart74 за подзсказку причины проблемы)
- Исправлена проблема с востановлением настроек после обновления плагина.
Известные проблемы:
- После выбора игнорируемых плагинов и возврата на страницу настроек, отображение количества игнорируемых плагинов не сразу обновляется.
==========================================================================
ВАЖНО: Как уже указал в описании выше, при автоматической очистке памяти были замечены определенные проблемы с плагинами для IPTV (например, MyOnlineTV, Altiptv и т.п.). Проблемы могут проявляться следующим образом:
- при переключении каналов, появляется ошибка, что формат не поддерживается
- при навигации по плагину, ничего не происходит (например, плагин не реагирует при входе в группу каналов)
Чтобы избежать этих проблем, либо отключите автоматическую очистку памяти, либо внесите плагины с проблемами в список игнорируемых плагинов в настройках Widget Ext (доступно с версии 1.1.0).
Повторю еще раз здесь: Сам плагин Widget Ext не влияет на другие плагины, если выключена автоматическая очистка памяти! Поэтому нет необходимости удалять весь плагин, если замечены проблемы. Вполне достаточно просто выключить автоматическую очистку памяти в настройках.
==========================================================================================
dune_plugin_widget_ext.zip 1.23МБ
57 Количество загрузок:
(исправленная версия (Gismeteo) с днём недели и поддержкой новой линейки плееров)
==========================================================================================
Мод с возможностью выбора отображения информации: "День недели, город" и "Доступная память, день недели".