2026-08-19 20:03:42 +03:00
2026-08-19 20:03:42 +03:00
2026-08-19 20:03:42 +03:00
2026-08-19 20:03:42 +03:00
2026-08-19 20:03:42 +03:00

Клиент Яндекс.Погоды

Небольшой Python-клиент для получения текущей погоды и прогноза через REST API Яндекс.Погоды для бесплатного тарифа «Погода для умного дома». Встроенный погодный источник OpenClaw не используется.

Настройка

  1. Отзовите ранее опубликованный ключ и создайте новый в кабинете Яндекс.Погоды.

  2. Скопируйте .env.example в .env.

  3. Запишите новый ключ в .env:

    YANDEX_WEATHER_KEY=новый_ключ
    

    Не отправляйте ключ в чат и не добавляйте .env в Git.

  4. При желании создайте виртуальное окружение:

    python3 -m venv .venv
    

    Внешние библиотеки не требуются — клиент использует стандартную библиотеку Python.

Запуск

Доступные сохранённые локации:

python3 weather_client.py --list-locations

Прогноз по адресу можно запросить по ключу или по одному из сохранённых названий:

python3 weather_client.py --location SOME_LOCATION
python3 weather_client.py --location 

Координаты по-прежнему можно указывать явно:

python3 weather_client.py --lat 10.321 --lon 25.6173 --days 2

Для исходного JSON:

python3 weather_client.py --lat 10.7558 --lon 25.6173 --json

Клиент делает ровно один запрос API за один запуск, выводит текущую погоду, прогноз на сегодня и завтра и ссылку на карту осадков Яндекс.Погоды для найденного населённого пункта. Ссылка на карту открывает веб-страницу Яндекса и не делает дополнительного запроса к API этим клиентом.

Сохранённые координаты адресов находятся в locations.json. Они должны быть запрошены у пользователя и найдены на яндекс картах перед началом работы.

Ограничения бесплатного тарифа

Бесплатный тариф «Умный дом» предназначен для некоммерческого использования, передаёт данные только на сегодня и завтра и предоставляет температуру, скорость ветра, погодные условия, «ощущается как» и иконку. Поэтому числовые данные об осадках и тайлы карты нельзя гарантировать через этот API-клиент; карта добавляется как ссылка на веб-сервис Яндекса. Автоматических повторов запроса в клиенте нет, чтобы не расходовать лимит 1000 запросов в месяц / 30 запросов в день.

Что нужно для следующего шага

  • координаты или название нужной локации;
  • время и периодичность отправки в Matrix;
  • желаемый формат сообщения: короткий прогноз или подробный почасовой.

API использует заголовок X-Yandex-Weather-Key и параметры lat, lon, limit и hours. Подробности — в [официальной документации REST API] (https://yandex.ru/dev/weather/doc/ru/concepts/forecast-rest). Условия и ограничения бесплатного тарифа — в [условиях API для физических лиц] (https://yandex.ru/legal/apib2c_weather_agreement/ru/).

Description
No description provided
Readme 32 KiB
Languages
Python 100%