Коротко: В ядре Home Assistant интеграции Яндекс Погоды нет, поэтому данные заводит либо сторонний компонент, либо обычный REST-сенсор. Во втором случае нужен ключ API, заголовок авторизации X-Yandex-Weather-Key и шаблон value_template. У API есть тестовый тариф: 7 дней бесплатно, до 10000 запросов в месяц и до 10 запросов в секунду. Ниже разбор адресов, полей ответа, погодной сущности и лимитов.
Погода в Home Assistant это не украшение интерфейса, а вход для автоматизаций. Полив, проветривание, обогрев и предупреждения работают по числовым значениям: температуре, ветру, влажности и вероятности осадков. Чем понятнее, откуда берутся эти числа, тем меньше сюрпризов.
Дальше разберём, есть ли готовое решение, как получить ключ, чем отличаются версии API и как собрать сенсор и погодную карточку. Отдельно про лимиты, потому что каждый опрос это запрос к платному тарифу.
Зачем погода в Home Assistant
Погода в Home Assistant нужна не для красивой карточки, а как источник данных для автоматизаций. Например, можно не запускать полив при обильных осадках, закрыть окна при сильном ветре, включить обогрев при похолодании или настроить вентиляцию по изменению влажности. Такие сценарии требуют точных и актуальных данных, которые могут отличаться в разных сервисах.
Встроенная интеграция с met.no предоставляет бесплатные данные без ключа API, но они не всегда совпадают с тем, что отображается в приложении Яндекс Погоды. Если нужен именно этот источник, придётся подключать API Яндекса. Перед этим стоит понять, где вообще живут данные умного дома и что остаётся в облаке: локальные данные и облако в умном доме.
Есть ли готовая интеграция Яндекс Погоды
В официальном каталоге интеграций Home Assistant интеграции Яндекс Погоды нет. Единственная интеграция с Яндексом в ядре это синтез речи. У Яндекса есть отдельный репозиторий pogoda-home-assistant, который ставится через HACS. Это сторонний компонент, не входящий в ядро, но он позволяет получить данные погоды. В сообществе существует и другая интеграция, HA-YandexWeather. Значит, есть два пути: использовать готовый компонент или настроить свой REST-сенсор.
Готовый компонент экономит время, но добавляет зависимость от чужого кода, который может перестать обновляться. Свой REST-сенсор не зависит ни от кого, кроме API Яндекса, но требует понимания configuration.yaml. Оба варианта совместимы с обычными автоматизациями.
Ключ API: где взять и как хранить
Ключ API выдаётся в кабинете разработчика Яндекс Погоды, документация лежит на yandex.ru/dev/weather. Для новых пользователей доступен тестовый тариф: бесплатно 7 дней, до 10000 запросов в месяц, до 10 запросов в секунду и прогноз на 7 дней. Оферта разрешает использование платформы в профессиональных и предпринимательских целях, это стоит учесть.
Ключ не следует хранить прямо в конфигурационных файлах Home Assistant. Сохраните его в secrets.yaml, а в конфигурации подставляйте через конструкцию !secret. Так ключ не попадёт в резервные копии конфигурации и в переписку.
Какой API выбрать: v3 GraphQL и v2 REST
Актуальная версия API это v3: POST-запрос на https://api.weather.yandex.ru/graphql/query, авторизация по заголовку X-Yandex-Weather-Key. Эта версия подходит для прогноза по часам и сложных данных. Если нужен простой сенсор с текущей погодой, достаточно v2: GET-запрос на https://api.weather.yandex.ru/v2/informers с параметрами lat и lon и тем же заголовком. Устаревшая версия v1 больше не используется.
Разница между версиями видна в таблице.
| Что сравниваем | v2 REST | v3 GraphQL |
|---|---|---|
| Адрес | https://api.weather.yandex.ru/v2/informers | https://api.weather.yandex.ru/graphql/query |
| Метод | GET | POST |
| Заголовок авторизации | X-Yandex-Weather-Key | X-Yandex-Weather-Key |
| Текущая погода | объект fact | объект now |
| Прогноз | массив forecast с частями дня | дни и часы |
| Когда выбирать | простой сенсор | почасовая детализация |
Для базовых данных подойдёт v2, для детального прогноза нужна v3.
REST-сенсор: разбор полей
REST-сенсор в Home Assistant описывается в разделе sensor.rest, где ключевые поля это resource, headers, params, valuetemplate, jsonattributes, unitofmeasurement, deviceclass, scaninterval и timeout. Resource указывает адрес запроса. Headers и params содержат данные для авторизации и параметры запроса. Valuetemplate это шаблон, который формирует значение сенсора. Остальные поля ответа можно собрать в jsonattributes, чтобы не создавать отдельные сенсоры.
По умолчанию scaninterval равен 30 секундам, а timeout 10 секундам. Эти параметры регулируют частоту запросов и время ожидания ответа. Deviceclass и unitofmeasurement помогают правильно отобразить данные в интерфейсе. Шаблон value_template должен извлекать из ответа одно конкретное число, иначе сенсор будет вести себя непредсказуемо.
Что вытащить из ответа: температура, ветер, давление, осадки
В ответе v2 текущая погода представлена в объекте fact. Там доступны температура (temp), ощущаемая температура (feelslike), влажность (humidity), атмосферное давление в миллиметрах ртутного столба (pressuremm), скорость ветра (windspeed), порывы ветра (windgust), направление ветра (winddir) и состояние погоды (condition). Для прогноза используется массив forecast, где каждая часть содержит название периода (partname), минимальную (tempmin), максимальную (tempmax) и среднюю (tempavg) температуру, состояние погоды (condition), количество осадков (precmm) и вероятность их выпадения (prec_prob).
В v3 текущие значения находятся в объекте now. Там указаны температура (temperature), влажность (humidity), давление (pressure), скорость ветра (windSpeed), порывы ветра (windGust), направление ветра (windDirection), тип осадков (precType), интенсивность осадков (precStrength), облачность (cloudiness), ощущаемая температура (feelsLike) и состояние погоды (condition). Эти данные подходят для автоматизаций, например для уведомления о дожде.
Погодная сущность через шаблон
Чтобы данные выглядели как обычная погода, а не как набор сенсоров, в Home Assistant есть погодная платформа template. Обязательные поля: conditiontemplate, temperaturetemplate и humidity_template. Они позволяют отобразить текущее состояние, температуру и влажность. Для одной автоматизации достаточно обычного сенсора, а погодная карточка нужна для интерфейса.
Дополнительно можно задать pressuretemplate, windspeedtemplate, windbearingtemplate, visibilitytemplate, attributiontemplate и forecasttemplate. Эти поля не обязательны, но улучшают карточку: windbearingtemplate покажет направление ветра, а forecasttemplate отобразит прогноз. Attributiontemplate указывает источник данных.
Частота опроса и лимиты
Каждый опрос Яндекс Погоды это запрос к тарифу. Погода не меняется каждые 30 секунд, поэтому интервал между запросами стоит выбирать с запасом. На тестовом тарифе разрешено до 10000 запросов в месяц и до 10 запросов в секунду. Опрос раз в 10 минут укладывается в лимит с большим запасом, а запросы раз в 30 секунд могут исчерпать месячный объём.
Если лимит превышен, API возвращает код 429, и запросы временно блокируются. Сенсор при этом станет недоступным, и автоматизация, которая на него опирается, перестанет работать. Поэтому интервал опроса выбирают заранее, а не подбирают опытным путём.
Автоматизации и предупреждения на погоде
Автоматизация на данных Яндекс Погоды управляет устройствами по конкретным условиям. Например, система не поливает газон при прогнозе осадков. Для этого задают порог вероятности дождя или снега. Окна закрываются при сильном ветре, когда скорость превышает заданное значение. Автоматизация должна опираться на числовые параметры, а не на текстовое описание погоды.
Отдельно настраиваются предупреждения о гололеде: температура ниже нуля плюс прогноз дождя. Обогрев включается по порогу температуры, а проветривание по превышению влажности. Готовые примеры логики собраны в материале про автоматизации в Home Assistant.
Если ключа нет и что делать при сбое API
Если ключа нет, остаются встроенные варианты: met.no работает бесплатно и без ключа, OpenWeatherMap требует ключ. Если API Яндекса недоступен, сенсор получает состояние unavailable, и автоматизация не должна из-за этого открывать окна или включать полив. Проверяйте доступность состояния перед выполнением действий.
При публичном показе данных Яндекс Погоды нужно соблюдать правила брендирования, а ключ держать в секретах конфигурации. Если вы только начинаете, сначала разберитесь с базовой установкой: с чего начать в Home Assistant.
Частые вопросы
Есть ли интеграция Яндекс Погоды в Home Assistant
В ядре Home Assistant такой интеграции нет. Есть сторонний компонент pogoda-home-assistant от Яндекса, который ставится через HACS, и community-интеграция HA-YandexWeather. Обе не входят в ядро.
Как получить ключ API Яндекс Погоды
Ключ выдаётся в кабинете разработчика, документация расположена на yandex.ru/dev/weather. Для новых пользователей действует тестовый тариф: 7 дней бесплатно, до 10000 запросов в месяц и до 10 запросов в секунду.
Как создать погодный сенсор из HTTP API
Опишите раздел sensor.rest с адресом API, заголовком X-Yandex-Weather-Key, шаблоном valuetemplate и при необходимости jsonattributes. Значение сенсора будет обновляться по расписанию scan_interval, по умолчанию раз в 30 секунд.
Сколько раз в сутки можно опрашивать API
На тестовом тарифе доступно до 10000 запросов в месяц, это примерно 330 запросов в сутки. Опрос раз в 10 минут даёт около 144 запросов в сутки и оставляет большой запас.
Что использовать, если ключа API нет
Подойдёт встроенная интеграция met.no: она бесплатна и не требует ключа. Если нужен именно Яндекс, без ключа API не обойтись, потому что данные берутся только из его платформы.




Комментарии
Войдите, чтобы оставить комментарий.