Yandex Weather Smarthome

v0.0.1

Gets current weather and short forecast (today/tomorrow) for the user's configured home location via Yandex Weather API. Trigger when user asks about weather...

0· 0· 1 versions· 0 current· 0 all-time· Updated 2h ago· MIT-0

Install

openclaw skills install yandex-weather-smarthome

Yandex Weather SmartHome

Purpose

Use this skill to quickly return the current weather and short forecast for the user's configured home coordinates.

Data source:

  • Yandex Weather API (https://api.weather.yandex.ru/v2/forecast)

Activation Rules

Activate automatically when the user asks about:

  • current weather ("какая погода", "погода сейчас", "weather now")
  • short forecast ("погода на сегодня", "погода на завтра", "forecast today/tomorrow")
  • weather conditions ("температура", "ветер", "осадки", "condition", "wind")

If the request is clearly about weather but location is not specified, use configured home coordinates from environment variables (do not ask for coordinates unless user explicitly requests another city/location).

Security and Secrets

  • Never print or expose YANDEX_WEATHER_KEY.
  • Never store API keys in files.
  • Read credentials only from environment variables.
  • If key/config is missing, explain what variable is missing in one short sentence.

Execution Workflow

  1. Run the local script:
python3 ~/.nanobot/workspace/skills/yandex-weather-smarthome/weather.py
  1. If the user asked for structured/raw output, run:
python3 ~/.nanobot/workspace/skills/yandex-weather-smarthome/weather.py --json
  1. Return weather result in Russian using the exact fixed multiline template below.
  2. Do not paraphrase, compress, or rewrite labels/sentences.

Response Style

  • Non-technical user-facing text: do not mention headers, endpoints, or internals unless user asks.
  • Always include:
    • current temperature
    • feels like
    • condition
    • wind speed
  • Include today/tomorrow forecast when available.
  • Use clear units (°C, м/с).

Strict Output Contract

  • Output MUST match the same section names and field labels:
    • Сейчас -> Температура, Ощущается как, Погода, Ветер
    • Сегодня -> Днём, Ночью, Описание
    • Завтра -> Днём, Ночью, Описание
  • Do not add extra words in headers (forbidden: Сейчас дома, Сейчас у вас).
  • Do not merge multiple fields into one sentence.
  • Do not rewrite in narrative style.
  • If a value is missing, keep the same label and print нет данных.

Required output format (use exactly this structure and labels):

Сейчас:
Температура: 9 °C
Ощущается как: 4 °C
Погода: облачно с прояснениями
Ветер: 4 м/с

Сегодня:
Днём: 12 °C
Ночью: 1 °C
Описание: пасмурно

Завтра:
Днём: 18 °C
Ночью: 7 °C
Описание: небольшой дождь

Error Handling

  • If required env var is missing:
    • Return one short action-oriented message naming the missing variable.
  • If HTTP/API error:
    • Retry once.
    • If still failing, return: "Не удалось получить погоду сейчас. Попробуйте чуть позже."
  • If script returns partial data:
    • Keep the same template and fill missing values as нет данных.

Required Environment Variables

YANDEX_WEATHER_KEY=<api_key>
YANDEX_WEATHER_LAT=<latitude>
YANDEX_WEATHER_LON=<longitude>

How to get API key (short)

  1. Open Yandex Weather SmartHome page and go to personal cabinet registration.
  2. Register with phone number and accept the user agreement.
  3. After registration, copy API key from the personal cabinet.
  4. Export the key as YANDEX_WEATHER_KEY.

Official page with FAQ and onboarding:

Example:

export YANDEX_WEATHER_KEY="your_key"
export YANDEX_WEATHER_LAT="52.721"
export YANDEX_WEATHER_LON="41.452"

Notes

  • The script already localizes weather conditions to Russian.
  • Default behavior is text output; use --json only when structured output is needed.

Version tags

latestvk97amnrc8hnar9b1vvgfw8q35d85wvy7

Runtime requirements

WEA Clawdis
Binspython3
EnvYANDEX_WEATHER_KEY, YANDEX_WEATHER_LAT, YANDEX_WEATHER_LON
Primary envYANDEX_WEATHER_KEY