Страница 1 из 55

[Модуль] OpenWeatherMap (openweather) Не актуально!

Добавлено: Вт апр 14, 2015 10:07 am
LutsenkoDenis
Приложение "Погода от OpenWeatherMap" позволяет получать погоду на сегодняшний день и прогноз погоды на 16 дней. (GitHub)

В качестве источника данных используется сервис OpenWeatherMap.org
За основу был взят модуль yaWeather_app_MajorDoMo от LuckyFIA, так что принцип работы и настройки на данный момент почти одинаковый.
Вызов модуля в меню:

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

[#module name="app_openweather"#] - вывод сведений о текущей погоде 
[#module name="app_openweather" forecast="0"#] - вывод сведений о текущей погоде и прогнозе на сегодня 
[#module name="app_openweather" fact="off" forecast="1"#] - прогноз погоды на сегодня и завтра 
forecast="0" - прогноз погоды на сегодня 
forecast="1" - прогноз погоды на сегодня и завтра 
forecast="2" - прогноз погоды на сегодня, завтра и послезавтра
Для "ручного" обновления данных, в своих скриптах/методах можно использовать:

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

include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php'); 
$openweather = new app_openweather(); 
$openweather->get_weather(gg('openweather.city.id'));
ID города можно выбрать в списке на странице с настройками приложения. ID городов брал с сервиса openweathermap.org. Сохранил в таблицу.
В качестве бонуса, ну вдруг кому пригодится... После установки приложения, в системе появляется таблица COUNTRY, которая содержит список стран с телефонными кодами и гео координатами.
На сервис OpenWeatherMap можно передавать данные со своей метеостанции. Строить графики и т.д.
В планах, добавить функцию по отправки данных на сервис OpenWeather.
История:
  • 25 октября 2013: В MajorDoMo добавлена библиотека "lib/OpenWeather/OpenWeather.php" с базовым функционалом и интерфейсом
  • 14 апреля 2015: Первая версия в виде приложения. С библиотекой, добавленной ранее, приложение не связано и удаление из MajorDoMo библиотеки, никак не повлияет на работу приложения.
  • 16 апреля 2015: Добавлена информация о восходе, закате, долготе дня и т.д.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Вт апр 14, 2015 1:40 pm
mmalva
Если app_yaweather не установлен то почти ничего не выдаёт.
У них что общие таблицы?

Это в том случае если app_yaweather уже стоит.
1)
Погода в г. Санкт-Петербург по состоянию на 12:00:00 14.04.2015
Сейчас
+6°C облачно, небольшой дождь

Ветер: С(n°) 3.0м/с
Облачность: %, Давление: 751гПА / 563.3 мм рт. ст, Влажность: 82%
Прогноз на несколько дней
Сегодня 14.04.2015
°C °C

Ветер: С(°)м/с
Облачность: %, Давление: гПА / мм рт. ст, Влажность: %
Прогноз на 15.04.2015
°C °C

Ветер: С(°)м/с
Облачность: %, Давление: гПА / мм рт. ст, Влажность: %
Прогноз на 16.04.2015
°C °C

Ветер: С(°)м/с
Облачность: %, Давление: гПА / мм рт. ст, Влажность: %

2)
Период обновления
Не сохраняется

3)
При попытке сменить город
Город: Санкт-Петербург

http://127.0.0.1/admin.php?pd=cGFuZWw6e ... =getCityId
Error:
0:
select c.COUNTRY_CODE, c.COUNTRY_NAME, cc.CITY_ID, cc.CITY_NAME from OPENWEATHER_CITY cc, COUNTRY c where cc.COUNTRY_CODE = c.COUNTRY_CODE ORDER BY c.COUNTRY_NAME, cc.CITY_NAME

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Вт апр 14, 2015 2:28 pm
LutsenkoDenis
приложение с никак не связано.
app_yaweather у меня не установлен. Данные все показываются.

2. период обновления обновляется в базе данных, но не обновляется в интерфейсе. Исправлю в ближайшее время.

3. При попытке сменить город, город меняется.

Заметил, всегда отображается "по состоянию на 12:00:00", хотя это не так :( Тоже исправлю, в ближайшее время.

Поставил app_yaweather. Действительно есть косяк с отображением. Скорее всего из-за глобальных переменных.

Вобщем сегодня устанавливать приложение не рекомендуется :(

Спасибо за сообщения об ошибках.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Вт апр 14, 2015 11:25 pm
LutsenkoDenis
Все ошибки устранены. Теперь можно пользоваться.
Беда крылась вот в чем...
Класс->Объект->Свойство
yaWeather: yaweather.city.id
OpenWeather: openweather.city.id

Приложения похожи по функционалу. И там и там естьобъект city со свойством id.
я в своем приложении получал данные так: gg('openweather.city.id');
в приложении yaWeather данные получают так: gg('city.id'); При этом значение ID берется из моего приложения, т.к. там тоже есть объект city со свойством id.

мне казалось очевидной вещью, что к свойству можно обратиться через класс а не напрямую через объект. Получается я был не прав, и в мажордоме не должно быть объектов с одинаковыми названиями даже если они в разных классах.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Ср апр 15, 2015 2:44 pm
LutsenkoDenis
Просьба ко всем, кто вчера установил это приложение - Удалите его и установите заново.
Те, кто не устанавливал, но есть желание - можно устанавливать.
Вчерашняя проблема решена.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт апр 16, 2015 7:58 am
Jackal
Добрый день. У меня погоду сейчас пишет по состоянию на 13 часов. Так должно быть?

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт апр 16, 2015 9:55 am
LutsenkoDenis
думаю что да, там отображается дата когда были получены показания погоды самим сервисом OpenWeather, а не тогда когда сервис опросили.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт апр 16, 2015 10:53 am
mmalva
Вроде все гуд. спс

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт апр 16, 2015 4:38 pm
LutsenkoDenis
Доступно новое обновление: Добавлена информация о восходе, закате, долготе дня и т.д.

Re: Модуль - Погода от OpenWeatherMap

Добавлено: Чт апр 16, 2015 4:49 pm
Dark_Veter
По моему не правильно работает кеширование картинок, в ссылку на изображение подставляется адрес 127.0.0.1