Клиент Яндекс.Погоды
Небольшой Python-клиент для получения текущей погоды и прогноза через REST API Яндекс.Погоды для бесплатного тарифа «Погода для умного дома». Встроенный погодный источник OpenClaw не используется.
Настройка
-
Отзовите ранее опубликованный ключ и создайте новый в кабинете Яндекс.Погоды.
-
Скопируйте
.env.exampleв.env. -
Запишите новый ключ в
.env:YANDEX_WEATHER_KEY=новый_ключНе отправляйте ключ в чат и не добавляйте
.envв Git. -
При желании создайте виртуальное окружение:
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/).