js weather на yahoo более не работает, что делать? яха ввела какуюто авторизацию
с сайта yahoo api:
To increase the security measure and better serving our YDN customers, weather data source will enforce OAuth 1 starting March 15, 2016. Please update your API calls with OAuth 1 enabled (via the OAuth /v1/yql end point if using YQL) using your Yahoo App key and secret.
Answer
Поддерживаю!
На запросы по HTTP сервер теперь отвечает следующее:
<yahoo:error xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" xml:lang="en-US" yahoo:uri="http://yahoo.com">
Так что без поддержки iRidium v.2.2.3 HTTPS этот модуль теперь бесполезен надо переделывать все под другой погодный движок.
Можно надеяться, что в v3 pro HTTPS будет или может кто-то возьмется переписать библиотеку OAuth.io JavaScript SDK с Github (https://github.com/oauth-io/oauth-js) под iRidium AV & Custom Systems (TCP)
Да, извиняюсь. Ввел в заблуждение. Просто осталась заноза в памяти от темы URL (https) in the Image Property
Здравствуйте!
Да, вы правы. К сожалению, Yahoo изменило API для работы с их сервисом погоды. В данный момент ищем решение этой проблемы.
Мы починили погодный виджет. Он доступен на нашем сайте в разделе "Загрузки"
Спасибо! Все работает!
Добавлю и свои "3 копейки":
1. Чтобы при старте не ругался, что город не найден, правим в строке 228:
// Weather Data
2. Для замены английских названий погодных условий меняем строки с полем "condition", такие как:
iToday_text.Text = json.results.channel.item["condition"]["text"];
на
iToday_text.Text = iConditionsRus[json.results.channel.item["condition"]["code"]];
и вставляем в тело скрипта переменную:
var iConditionsRus = ["торнадо",
только это?:
Device = IR.CreateDevice(IR.DEVICE_CUSTOM_HTTP_TCP, "YahooWeatherWidget", "query.yahooapis.com", 80);
что-то не совпадает прогноз по Moscow с реальностью. По яхе - снег, за окном - красота: солнце. погода.PNG
теперь города не циферками, а названием?
Здравствуйте!
пару слов скажите, что сделали - интересно
Если у вас остался старый модуль, то вы можете сами сравнить что поменялось. Изменения главным образом коснулись запроса на получение погоды.
что-то не совпадает прогноз по Moscow с реальностью.
Данный вопрос наверно правильней будет задать компании Yahoo. В модуле отображается лишь то, что было получено с их сайта. За достоверность данных мы ответственности не несем. К тому же вы сравниваете погоду Yahoo с погодой из Yandex. Было бы правильней тогда сравнивать с тем что сейчас отображается на сайте Yahoo и в нашем модуле. Уверен что данные будут совпадать.
Да, теперь города можно вводить просто названиями, но и zip код также работает. Причем названия можно вводить как на кирилице, так и на латинице. К тому же появилась возможность переключения между цельсиями и фаренгейтами.
Вопросы:
- как с минимальными манипуляциями заменить старую версию на новую? Достаточно ли поменять только скрипт или же нужно полностью заменить виджет? Может просто какие-то окна поменять? Просто виджет этот, например, у меня претерпел некоторые изменения и не хочется опять проделывать эту работу.
- нашел переменную var DefaultData, но замена названия города не приводит к желаемому результату. Не знаю, как у остальных, но в моих проектах планшеты либо лежат на диване, либо висят на стене. Никто с ними по миру не ездит и погоду в других городах не смотрит. Подскажите, как, изменить скрипт, чтобы всегда был выбран нужный (единственный город).
Евгений, можете поменять только скрипт и попап Weather_Add_City. Остальное насколько мне известно не подверглось изменению. Также после переноса попапа Weather_Add_City скорее всего необходимо будет заново настроить макросы на некоторых его элементах.
Для того, чтобы у вас загружался только один город, который вы заранее указали, вам необходимо поменять скрипт следующим образом:
Было
Стало
Заменил только скрипт и все заработало, как прежде. Окно выбора города даже не трогал, т.к. не используется.
Спасибо!
Отлично все работает!
Объявление переменной iPressure 2 раза это опечатка или так должно быть?
var iPressure = 0;
iPressure = iPopup.GetItem("Pressure");
1. по переменным на русском - спасибо Madmss за массив. Только позиция 11 и 12 совпадают.
2. почему картинку описывающую погоду в настоящий момент берут из forcast[0] а не из condition? Condition должен быть свежее и точнее имхо. Да и наблюдение показывает, что меняется cond в течение дня, а форкаст остается неизменным
3. в чем глубинный смысл брать ночные картинки для 4-х кодов, а остальные дневные. Они какие-то особенные?
function LinkCreate(image){
case 27:
Пожалуйста!
Да, в английской версии они записаны одинаково "showers". По этому первую в списке "метель" недавно я поменял на "ливень" (основываясь на реальных метеонаблюдениях ;))
Оригинал можно посмотреть в документации тут: https://developer.yahoo.com/weather/documentation.html
а можно на сайт в раздел JS модули положить обновленную для v3 версию - в русском и английском вариантах?
Буквально вчера заметил неприятную вещь у Yahoo.
Скрипт стал возвращать "кривое" значение давления. Выяснилось, что при запросе в метрических единицах от Yahoo приходит какое-то невразумительное значение давления. При запросе в ам.единицах - все правильно.
Пришлось написать набор функций преобразования в метрические значения и конвертировать ответ самостоятельно.
С ув. Андрей.
Да пожалуйста )
На красоту кода не претендую - дело такое.. )
Да и авторства там моего практически нет. Просто сел и аккуратно собрал все, что нашел по углам инета в один пакетик. YahooConvertions.js
С ув. Андрей
Немного ошибся в скрипте. Для перевода миль в км надо не делить на 1.8, а умножить на 1.60934.
Не сильно влияет, но для справедливости стоит подправить. )
Подправленный скрипт здесь. Заодно подправил обработку направления ветра.
Кстати, даже если запрос слать с указанием единиц выдачи в F, то Yahoo сама устраивает кашу в выдаче - считает, что для Москвы (к примеру) надо выдать давление в фунтах на кв.дюйм, а видимость и скорость ветра в км. и км/ч. Но температура все равно в F. Будьте внимательны при разборе ответа.
И еще одна деталь - в ответе в параметрах ветра "chill" выдается не что иное, как ощущаемая температура в F,
Вот такие вот нюансики.
Ну и пример вызова:
iFeels.Text = FtoC(json.results.channel.item["condition"]["temp"]) + " (" + FtoC(json.results.channel ["wind"]["chill"])+")"; - выдаст температуру в С и в скобках - ощущаемую температуру.
С ув. Андрей. YahooConvertions.js
Андрей, непонятно деление на 3,6 в ф myWindDirection
без деления вроде точнее.
ageev@smarthouse.moscow
Вообще говоря, это дело вкуса. Получилось почти спонтанно - сидел и думал, как полученные градусы в смысловые понятия перевести и натолкнулся на схожее решение. К тому моменту и сам уже похожую конструкцию сконструлил...
Пожалуй, особая точность и не нужна - все и так достаточно грубо - по секторам в 45 градусов.. Можно и тупо сразу переводить. Как удобнее - так и надо делать. Может быть, даже и не надо ничего делить. Меньше вычислений - меньше тормозов.
С ув. Андрей
Customer support service by UserEcho
Мы починили погодный виджет. Он доступен на нашем сайте в разделе "Загрузки"
http://www.iridiummobile.ru/download/software/#tab2