Предложение по погоде и openweathermap.org

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Аватара пользователя
adzam
Сообщения: 602
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Re: Предложение по погоде и openweathermap.org

Сообщение adzam » Вт янв 08, 2013 8:51 pm

Athom писал(а):А что именно не получается?
не получается вызвать его
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Athom
Сообщения: 17
Зарегистрирован: Ср ноя 21, 2012 2:05 am
Благодарил (а): 0
Поблагодарили: 0

Re: Предложение по погоде и openweathermap.org

Сообщение Athom » Ср янв 09, 2013 12:46 am

в метод onNewHour добавить:
runScript("getWeather");

А тот код что выложен раньше вставить в сценарий под именем getWeather
Аватара пользователя
adzam
Сообщения: 602
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Re: Предложение по погоде и openweathermap.org

Сообщение adzam » Ср янв 09, 2013 4:58 pm

[quote="Athom"]в метод onNewHour добавить:
runScript("getWeather");

А тот код что выложен раньше вставить в сценарий под именем getWeather[/quote



Извени но я чето вообще туплю,
1.создал скрипт(залил код кот ты ранее дал)
2. назвал его getWeather
3. в методе onNewHour добавил runScript("getWeather");
а как его прописать в меню управления или к домашней странице???? :roll:
как просматривать данные? :?:
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Athom
Сообщения: 17
Зарегистрирован: Ср ноя 21, 2012 2:05 am
Благодарил (а): 0
Поблагодарили: 0

Re: Предложение по погоде и openweathermap.org

Сообщение Athom » Пт янв 11, 2013 8:15 pm

А, понял.

Создай теперь новый класс и в нем объект. (у меня например это World и Kiev) потом создай в классе нужные тебе свойства (у меня например это Temp Pressure WindSpeed SunSet SunRise Humidity WindDir Type MoonPhase )

Ну или если у тебя есть уже свойства то просто посмотри внимательно в код сценария и подставь свои названия
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Предложение по погоде и openweathermap.org

Сообщение Amarok » Сб фев 09, 2013 11:49 am

[quote="Athom"][/quote]
Сорри за мою тормознутость, но я впервые с этой системой. Возникает много вопросов :oops:
Вот, к примеру, погода. Подправил твой скрипт:

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

$data_file="http://export.yandex.ru/weather-ng/forecasts/28140.xml?".rand(); // адрес xml файла 

$xml = simplexml_load_file($data_file); // раскладываем xml на массив

$temp=$xml->fact->temperature;
// Если значение температуры положительно, для наглядности добавляем "+"
if ($temp>0) {$temp='+'.$temp;} 
sg("NTura.Temp",$temp);
sg("NTura.Type",$xml->fact->weather_type);
sg("NTura.Pressure",$xml->fact->pressure);
sg("NTura.Humidity",$xml->fact->humidity);
sg("NTura.WindSpeed",$xml->fact->wind_speed);

$dir = $xml->fact->wind_direction;
switch ($dir){
   case 's':
     $dir="южное";
     break;
   case 'n':
     $dir="северное";
     break;
   case 'w':
     $dir="западное";
     break;
   case 'e':
     $dir="восточное";
     break;
   case 'sw':
     $dir="юго-западное";
     break;
   case 'nw':
     $dir="северо-западное";
     break;
   case 'calm':
     $dir="штиль";
     break;
}
sg("NTura.WindDir",$dir);
sg("NTura.SunRise",$xml->day[0]->sunrise);
sg("NTura.SunSet",$xml->day[0]->sunset);
Записал его под именем getWeather в Сценарии. А дальше как быть? Хочется полученную инфу передать в "Прогноз погоды"
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Предложение по погоде и openweathermap.org

Сообщение Jager » Вт июн 11, 2013 12:40 pm

Скрипт для забирания погоды с openweathermap.org через JSON

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

function getWeather($id)
{
    if(!empty($id))
    {
        $json = file_get_contents('http://openweathermap.org/data/weather/'.$id.'?type=json');
        $weatherData = json_decode($json, true);
        return $weatherData;
    }
}

$weather = getWeather('523750'); // id нужного города

sg("Chelny.Temp",$weather['temp']);
sg("Chelny.Pressure",$weather['pressure']);
sg("Chelny.Humidity",$weather['humidity']);
sg("Chelny.Wind",$weather['wind']);
sg("Chelny.Clouds",$weather['clouds']);
?>
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Предложение по погоде и openweathermap.org

Сообщение Urbas81 » Вт июн 11, 2013 2:58 pm

А как узнать id нужного города?
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Предложение по погоде и openweathermap.org

Сообщение Jager » Вт июн 11, 2013 7:30 pm

Urbas81 писал(а):А как узнать id нужного города?
Способ правильный http://goo.gl/FZY3z
Способ быстрый, на главной странице http://openweathermap.org/ в поиск забиваем название города на русском языке, в результатах поиска выбираем нужный населенный пункт, получаем погоду там где надо а в адресной строке видим например http://openweathermap.org/city/523750 последние 6 цифр и есть искомый ID.
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Предложение по погоде и openweathermap.org

Сообщение Urbas81 » Ср июн 12, 2013 8:22 am

Jager писал(а):
Urbas81 писал(а):А как узнать id нужного города?
Способ правильный http://goo.gl/FZY3z
Способ быстрый, на главной странице http://openweathermap.org/ в поиск забиваем название города на русском языке, в результатах поиска выбираем нужный населенный пункт, получаем погоду там где надо а в адресной строке видим например http://openweathermap.org/city/523750 последние 6 цифр и есть искомый ID.
Спасибо!
Ответить