# Клиент Яндекс.Погоды Небольшой Python-клиент для получения текущей погоды и прогноза через REST API Яндекс.Погоды для бесплатного тарифа «Погода для умного дома». Встроенный погодный источник OpenClaw не используется. ## Настройка 1. Отзовите ранее опубликованный ключ и создайте новый в кабинете Яндекс.Погоды. 2. Скопируйте `.env.example` в `.env`. 3. Запишите новый ключ в `.env`: ```env YANDEX_WEATHER_KEY=новый_ключ ``` Не отправляйте ключ в чат и не добавляйте `.env` в Git. 4. При желании создайте виртуальное окружение: ```bash python3 -m venv .venv ``` Внешние библиотеки не требуются — клиент использует стандартную библиотеку Python. ## Запуск Доступные сохранённые локации: ```bash python3 weather_client.py --list-locations ``` Прогноз по адресу можно запросить по ключу или по одному из сохранённых названий: ```bash python3 weather_client.py --location SOME_LOCATION python3 weather_client.py --location ``` Координаты по-прежнему можно указывать явно: ```bash python3 weather_client.py --lat 10.321 --lon 25.6173 --days 2 ``` Для исходного JSON: ```bash python3 weather_client.py --lat 10.7558 --lon 25.6173 --json ``` Клиент делает ровно один запрос API за один запуск, выводит текущую погоду, прогноз на сегодня и завтра и ссылку на карту осадков Яндекс.Погоды для найденного населённого пункта. Ссылка на карту открывает веб-страницу Яндекса и не делает дополнительного запроса к API этим клиентом. Сохранённые координаты адресов находятся в [locations.json](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/).