FarmOS Weather
name: farmos-weather
by brianppetty · published 2026-03-22
$ claw add gh:brianppetty/brianppetty-farmos-weather---
name: farmos-weather
description: Query weather data and forecasts for farm fields via the Agronomy module.
tags: [farming, weather, forecast]
---
# FarmOS Weather
Current conditions and forecasts for farm fields, sourced from the Agronomy module.
When to Use This
**What this skill handles:** Current weather conditions, forecasts, growing degree days (GDD), spray condition evaluation, and historical weather data for farm fields.
**Trigger phrases:** "what's the weather", "can we spray", "GDD for field X", "forecast", "will it rain this week?", "temperature and wind right now", "field conditions?"
**What this does NOT handle:** Field observations about weather damage like hail, flooding, or frost injury (use farmos-observations with weather_damage type -- that logs the damage for tracking). This skill tells you what the weather IS; observations logs what the weather DID.
**Minimum viable input:** "Weather" or a field reference. If no field is specified, any nearby field ID works since all 69 fields are in central Indiana.
API Base
http://100.102.77.110:8012
Endpoints
Health Check
GET /api/weather/health
Returns: Weather service health status.
Current Weather
GET /api/weather/field/{field_id}/current
Returns: Current conditions for a specific field (temperature, precipitation, wind).
Forecast
GET /api/weather/field/{field_id}/forecast?days=7
Returns: Daily and hourly forecast data (up to 14 days).
Historical
GET /api/weather/field/{field_id}/historical?days=30
Returns: Historical weather records for a field.
Growing Degree Days
GET /api/weather/field/{field_id}/gdd?startDate=YYYY-MM-DD&endDate=YYYY-MM-DD&baseTemp=10
Returns: GDD accumulation for a field over a date range.
Spray Conditions
GET /api/weather/field/{field_id}/spray-conditions
Returns: Spray condition evaluation (wind, rain probability, temperature checks).
Weather by Coordinates
GET /api/weather/coordinates?latitude={lat}&longitude={lon}&type=current
Returns: Weather by coordinates (no field ID required). Use type=forecast for forecast data.
Integration Dashboard
GET /api/integration/dashboard
Returns: Agronomy summary including weather data if available.
Data Completeness
1. **The `/api/integration/dashboard` returns agronomy summary data** — use it for a quick overview only, not as the primary weather source.
2. **If a weather endpoint fails or returns empty**, say so: "The weather service isn't responding right now." Don't guess the weather.
3. **For GDD queries**, always include the date range in your response so the user knows the scope: "GDD from April 1 to today: 1,142."
Cross-Module Context
When answering weather questions, think about what else on the farm is affected:
**Weather → Tasks:**
**Weather → Observations:**
**Weather → Equipment:**
Query farmos-tasks and farmos-observations alongside weather for any field operation question. You don't need to cross-reference on every simple "what's the temperature?" question — use judgment. Cross-reference when the weather materially affects the plan.
Units — Already Imperial, Display Directly
The weather API returns all values in US imperial units. **Display them as-is — no conversion needed.**
| API field | Unit | Example display |
|-----------|------|-----------------|
| `temperature_max` / `temperature_min` | °F | "high of 55°F" |
| `precipitation_sum` | inches | "about a quarter inch of rain" |
| `wind_speed_10m_max` / `wind_gusts_10m_max` | mph | "winds up to 21 mph" |
**Do not convert, do not relabel.** `0.25` means 0.25 inches. `55` means 55°F. `16` means 16 mph.
Date Handling — Anchor to Today
The API returns dates as `YYYY-MM-DD` strings starting from today. The first entry is **today**, not tomorrow.
Usage Notes
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...