MDM и OpenWheatherMap
Модератор: immortal
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
MDM и OpenWheatherMap
Доброго времени суток.
Есть такая штука как http://openweathermap.org
Хочу следующее:
1. Задавать в админке настройки для получения данных о погоде, Например указывать страну, город.
2.Отображать инфу о погоде на необходимой мне странице. Например на главной.
Написал небольшой класс, который вытягивает массив данных с погодой по названию города с сайта http://openweathermap.org
Как интегрировать мой класс в MDM?
Что для того нужно?
Желательно по шагам, как для "особо одарённых"
Есть такая штука как http://openweathermap.org
Хочу следующее:
1. Задавать в админке настройки для получения данных о погоде, Например указывать страну, город.
2.Отображать инфу о погоде на необходимой мне странице. Например на главной.
Написал небольшой класс, который вытягивает массив данных с погодой по названию города с сайта http://openweathermap.org
Как интегрировать мой класс в MDM?
Что для того нужно?
Желательно по шагам, как для "особо одарённых"
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: MDM и OpenWheatherMap
Добавление погоды от OpenWeatherMap.org
563705 = ID города Дзержинский
- GetCurrentWeatherWidget($vCountry,$vCity, $vUnits) - Текущая погода(html таблица) по стране и городу.
GetCurrentWeatherWidgetByCityID($vCityID, $vUnits) - Текущая погода(html таблица) по ID города.
GetWeather($vCountry,$vCity, $vUnits) - Текущая погода(массив) по стране и городу.
GetWeatherByCityID($vCityID, $vUnits) - Текущая погода(массив) по ID города.
563705 = ID города Дзержинский
Код: Выделить всё
require_once("./lib/OpenWeather/OpenWeather.php");
$weather = new OpenWeather();
$curWeather = $weather->GetWeatherByCityID("563705", "metric");
$widget = $weather->GetCurrentWeatherWidgetByCityID("563705", "metric");
$temp = $curWeather->main->temp;
setGlobal('ThisComputer.TempOutside', $temp);
setGlobal('TempOutside.Temp', $temp);
setGlobal('ThisComputer.weatherFull', $widget);
Последний раз редактировалось LutsenkoDenis Чт сен 26, 2013 7:56 am, всего редактировалось 2 раза.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
-
- Сообщения: 210
- Зарегистрирован: Пт апр 12, 2013 2:27 pm
- Откуда: Уфа
- Благодарил (а): 28 раз
- Поблагодарили: 16 раз
Re: MDM и OpenWheatherMap
Вотэтот код куда вводить?
Распиши плиз по шагам. Как вытягивать и как выводить
Распиши плиз по шагам. Как вытягивать и как выводить
Система на Неттоп 3Q Nettop Qoo!
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: MDM и OpenWheatherMap
ок.
1. Так как в основной ветке проекта на github'е данного функционала нет, то берём отсюда : https://github.com/palacex/majordomo/bl ... eather.php. Кладём в папку lib.
2. Создаём класс OpenWeather
2.1 Создаём объект TempOutside класса OpenWeather
2.2. У объекта TempOutside создаём свойство Temp
2.2. У объекта TempOutside создаём свойство TempDetail
2.3. У объекта TempOutside создаём метод GetWeather со следующим кодом
3. Создаём веб-переменную
3.1. Название: GetOpenWeatherInfo
3.2. Ссылка: http://192.168.1.7:80/objects/?object=T ... GetWeather
3.3. Интервал проверки: 600
Как-то так.
В итоге, в мажордомо на вкладке КЛИМАТ отображается текущая погода.
При раскрытии вкладки отображается детализованная информация.
Обновляется раз в 10 минут.
Если я что-то сделал не так, сообщите, поправлю.
Да, в настоящий момент данные о погоде можно получать двумя способами.
1. По Стране и городу. Как в коде 2.3
2. По ID города (563705 = ID города Дзержинский)
з.ы. Допиливанием разных графиков из OpenWeatherMap и локализацией постараюсь заняться в ближайшие выходные.
1. Так как в основной ветке проекта на github'е данного функционала нет, то берём отсюда : https://github.com/palacex/majordomo/bl ... eather.php. Кладём в папку lib.
2. Создаём класс OpenWeather
2.1 Создаём объект TempOutside класса OpenWeather
2.2. У объекта TempOutside создаём свойство Temp
2.2. У объекта TempOutside создаём свойство TempDetail
2.3. У объекта TempOutside создаём метод GetWeather со следующим кодом
Код: Выделить всё
require_once("./lib/OpenWeather/OpenWeather.php"); // Подключаем погодный класс
$weather = new OpenWeather(); // наследуем класс
$curWeather = $weather->GetWeather("ru","Moscow", "metric"); // получаем массив с данными о погоде
$widget = $weather->GetCurrentWeatherWidget("ru","Moscow", "metric"); // html код с детализацией о погоде
$temp = $curWeather->main->temp; // берём из массива температуру (7,19С)
setGlobal('ThisComputer.TempOutside', $temp); // обновляем свойства
setGlobal('ThisComputer.weatherFull', $widget); // обновляем свойства
setGlobal('TempOutside.Temp', $temp); // обновляем свойства
setGlobal('TempOutside.TempDetail', $widget); // обновляем свойства
$this->setProperty('Temp',$temp); // обновляем свойства
3.1. Название: GetOpenWeatherInfo
3.2. Ссылка: http://192.168.1.7:80/objects/?object=T ... GetWeather
3.3. Интервал проверки: 600
Как-то так.
В итоге, в мажордомо на вкладке КЛИМАТ отображается текущая погода.
При раскрытии вкладки отображается детализованная информация.
Обновляется раз в 10 минут.
Если я что-то сделал не так, сообщите, поправлю.
Да, в настоящий момент данные о погоде можно получать двумя способами.
1. По Стране и городу. Как в коде 2.3
Код: Выделить всё
$curWeather = $weather->GetWeather("ru","Moscow", "metric"); // получаем массив с данными о погоде
$widget = $weather->GetCurrentWeatherWidget("ru","Moscow", "metric"); // html код с детализацией о погоде
Код: Выделить всё
$curWeather = $weather->GetWeatherByCityID("563705", "metric"); // получаем массив с данными о погоде
$widget = $weather->GetCurrentWeatherWidgetByCityID("563705", "metric"); // html код с детализацией о погоде
Последний раз редактировалось LutsenkoDenis Чт сен 26, 2013 7:53 am, всего редактировалось 2 раза.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: MDM и OpenWheatherMap
Денис, а можно перенести этот файл из ./lib/ в ./lib/openweather/ ? Дело в том, что все php-файлы из lib автоматически загружаются, а openweather оно не всегда нужно.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: MDM и OpenWheatherMap
да, не вижу проблем. Можно перенести.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
-
- Сообщения: 210
- Зарегистрирован: Пт апр 12, 2013 2:27 pm
- Откуда: Уфа
- Благодарил (а): 28 раз
- Поблагодарили: 16 раз
Re: MDM и OpenWheatherMap
Закинул в папку lib openweather.php и теперьпорушиласьстраница.
Показывает то что внутри файла openweather.php. Как исправить кто знает?
Показывает то что внутри файла openweather.php. Как исправить кто знает?
Система на Неттоп 3Q Nettop Qoo!
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: MDM и OpenWheatherMap
Такого быть не должно.
Можно по подробней что пишет.
Можно по подробней что пишет.
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
-
- Сообщения: 210
- Зарегистрирован: Пт апр 12, 2013 2:27 pm
- Откуда: Уфа
- Благодарил (а): 28 раз
- Поблагодарили: 16 раз
Re: MDM и OpenWheatherMap
А что писать в шаблоне поиска?LutsenkoDenis писал(а): 3. Создаём веб-переменную
3.1. Название: GetOpenWeatherInfo
3.2. Ссылка: http://192.168.1.7:80/objects/?object=T ... GetWeather
3.3. Интервал проверки: 600
Как-то так.
А то он мне всю страницу закидывает.
Система на Неттоп 3Q Nettop Qoo!
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
(Intel Celeron J1800, 2x2410 МГц, 4096 Мб, HDD 1000 Гб, HDMI, VGA , Wi-Fi, Ethernet, Ubuntu 14.04.2)
Вторая система на Raspberry Pi 3.
D-Link DCS-930L/Broadlink RM2-Pro/BroadLink SP3 CC/Ginzzu HS-K07W
Я в CONNECT
-
- Сообщения: 521
- Зарегистрирован: Вс апр 07, 2013 9:30 pm
- Откуда: Moscow
- Благодарил (а): 2 раза
- Поблагодарили: 58 раз
- Контактная информация:
Re: MDM и OpenWheatherMap
В каком шаблоне поиска???
________________________________________________________
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch
Majordomo (GitHub) на HP Microserver Gen8. OS Debian Stretch