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

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

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

Сообщение directman66 » Ср июн 07, 2017 1:29 pm

viewtopic.php?f=5&t=1914&start=190#p53894

скрипт уже немного изменен
СпойлерПоказать
$timestamp = time();
$token = md5('eternalsun'.$timestamp);

$uuid = "";
$deviceid = "";

$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: yandex-weather-android/4.2.1\n" .
"X-Yandex-Weather-Client: YandexWeatherAndroid/4.2.1\n" .
"X-Yandex-Weather-Device: os=null;os_version=21;manufacturer=chromium;model=App Runtime for Chrome Dev;device_id=$deviceid;uuid=$uuid;\n" .
"X-Yandex-Weather-Token: $token\n" .
"X-Yandex-Weather-Timestamp: $timestamp\n" .
"X-Yandex-Weather-UUID: $uuid\n" .
"X-Yandex-Weather-Device-ID: $deviceid\n" .
"Accept-Encoding: gzip, deflate\n" .
"Host: api.weather.yandex.ru\n" .
"Connection: Keep-Alive"
)
);

$context = stream_context_create($opts);
//ID города узнаем тут: https://pogoda.yandex.ru/static/cities.xml
//region="11162" id="28440
$file = file_get_contents('https://api.weather.yandex.ru/v1/foreca ... 54&lang=ru', false, $context);
//$file = file_get_contents('https://api.weather.yandex.ru/v1/locations?lang=ru', false, $context);


header('Content-type: text/json');
//echo gzdecode($file);
$otvet=gzdecode($file);

$data=json_decode($otvet,true);
//$objn=$data[0]['id'];

$objn=$data[info][slug]."_fact";
$src=$data[info];
echo $objn;
addClassObject('YandexWeather',$objn);

$src=$data[info];
sg( $objn.'.now',gg('sysdate').' '.gg('timenow'));

foreach ($src as $key=> $value ) { sg( $objn.'.'.$key,$value); }

$src=$data[fact];
foreach ($src as $key=> $value ) { sg( $objn.'.'.$key,$value); }

$fobjn=$objn."_forecast0";
//addClassObject('YandexWeather',$fobjn);
$src=$data[forecasts][0][parts];
foreach ($data[forecasts] as $day=> $value ) {
$fobjn=$objn."_forecast".$day;
addClassObject('YandexWeather',$fobjn);
foreach ($data[forecasts][$day][parts] as $key=> $value ) {
sg( $fobjn.'.now',gg('sysdate').' '.gg('timenow'));
sg( $fobjn.'.'.$key.'_temp_avg',$data[forecasts][$day][parts][$key][temp_avg]);
sg( $fobjn.'.'.$key.'_wind_speed',$data[forecasts][$day][parts][$key][wind_speed]);
sg( $fobjn.'.'.$key.'_wind_gust',$data[forecasts][$day][parts][$key][wind_gust]);
sg( $fobjn.'.'.$key.'_wind_dir',$data[forecasts][$day][parts][$key][wind_dir]);
sg( $fobjn.'.'.$key.'_pressure_mm',$data[forecasts][$day][parts][$key][pressure_mm]);
sg( $fobjn.'.'.$key.'_pressure_pa',$data[forecasts][$day][parts][$key][pressure_pa]);
sg( $fobjn.'.'.$key.'_humidity',$data[forecasts][$day][parts][$key][humidity]);
sg( $fobjn.'.'.$key.'condition',$data[forecasts][$day][parts][$key][condition]);
sg( $fobjn.'.'.$key.'daytime',$data[forecasts][$day][parts][$key][daytime]);



}
}
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

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

Сообщение ipz » Чт июн 08, 2017 2:44 am

Сильно отличается только давление, т.к. OpenWeather дает давление на уровне моря, а Яндекс дает приведенное к условной высоте для географической точки. viewtopic.php?f=5&t=2211&start=400#p53000
Если пересчитать, то показания будут отличаться в третьем знаке.

Из неприятных багов:
- похоже из за модуля падает основной цикл:

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

00:00:02 0.16287700 app_openweather.processSubscription (HOURLY)
00:00:06 0.99435800 Closing thread: exec php -q ./scripts/cycle_main.php --params "a:0:{}">>/var/www/debmes/log_2017-06-07-cycle_main.php.txt
Причем не всегда. Была версия, что это связано с частотой (3 часа) обновления прогноза, но картинка оказалась странная:
00:00 - (цикл упал)
01:00 -
02:00 -
03:00 + (цикл отработал)
04:00 +
05:00 +
06:00 -
07:00 +
08:00 -
09:00 +
10:00 -
11:00 +
12:00 -
13:00 +
14:00 -
15:00 +
16:00 -
17:00 +
18:00 -
19:00 +
20:00 -
21:00 +
22:00 -
23:00 -
00:00 - (следующий день)

Ради справедливости хотелось бы модуль отключить (не удаляя). Пока не сообразил как проще... Закомментировать код модуля? (кстати, можно было бы добавить в настройках Период обновления = никогда)
Если окажется, что действительно из-за модуля тогда можно и подебажить...
Если проблемы на стороне openweather хорошо бы их отлавливать в модуле.

- не все иконки прогноза кэшируются (иногда все не кэшируются) Cделал скриншот, где закачаны частично:
Clipboard01.jpg
Clipboard01.jpg (14.61 КБ) 7627 просмотров
Их действительно нет в кэше.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт июн 08, 2017 5:52 am

Ну кэшированием я не пользуюсь...давно на свои всё заменил...а мэйн цикл точно не из-за модуля падает....проверено на разбери и на винде.

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

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

Сообщение Jilber » Чт июн 08, 2017 7:02 am

directman66 писал(а):viewtopic.php?f=5&t=1914&start=190#p53894
скрипт уже немного изменен
Это скрипт для какого модуля ? Если для Yandex.Weather, то модуль не работает, даже страну не выберешь ?
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

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

Сообщение directman66 » Чт июн 08, 2017 9:20 am

Jilber писал(а): Это скрипт для какого модуля ? Если для Yandex.Weather, то модуль не работает, даже страну не выберешь ?
скрипт работает без модуля, сам по себе )) делает тоже самое, что и openweather ))
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Чт июн 08, 2017 9:21 am

Скрипт это просто скрипт...не для модуля...
Только вот у меня адрес, указанный там выдаёт {"status":403,"message":"Forbidden"}

Видимо там манипуляции с токеном нужны, а это уже завязка на регистрацию...не люблю я такие костыли))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Вс июн 11, 2017 12:52 pm

ученик писал(а):нет меня неправильно поняли.
интересует возможность с помощью модуля OpenWeatherMap получать метео прогноз для двух населенных пунктов.
в настройках только можно изменить населенный пункт, а добавить населенный пункт нет.
Кстати говоря - viewtopic.php?p=51882#p51882 тут выкладывал выкачивание информеров с яндекса...можете для нужных городов выкачивать информеры, и выводить их к примеру на сцену...
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
vshuka911
Сообщения: 76
Зарегистрирован: Пт июн 02, 2017 11:02 am
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение vshuka911 » Пт июн 23, 2017 1:30 am

не понимаю что случилось? после обновления вылетает миллион ошибок Кто нибудь сталкивался? че делать
Вложения
Снимок экрана 2017-06-23 в 1.23.42.png
Снимок экрана 2017-06-23 в 1.23.42.png (148.61 КБ) 7128 просмотров
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Пт июн 23, 2017 5:48 am

Перевыберете город...координаты города слетели судя по ошибкам.

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
vshuka911
Сообщения: 76
Зарегистрирован: Пт июн 02, 2017 11:02 am
Благодарил (а): 10 раз
Поблагодарили: 1 раз

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

Сообщение vshuka911 » Пт июн 23, 2017 11:43 am

перевыбрал но ошибка осталась А что значит: "После обновления выполнить сценарий" это поле пустое
Закрыто