FarmOS 天气:精准农艺与田间预报 - Openclaw Skills

作者:互联网

2026-03-30

AI教程

什么是 FarmOS 天气?

FarmOS 天气是一个专为 AI 智能体设计的强大集成工具,旨在为农业运营提供超本地化的天气情报。通过利用农艺模块,此技能允许用户监控当前状况、访问 14 天预报并检索针对特定田块 ID 定制的历史记录。它是环境数据与可操作农场管理之间的关键桥梁,确保每项决策都得到 Openclaw Skills 精确气象见解的支持。

该技能不仅限于简单的报告,还能计算积温(GDD),并根据风速、降水概率和温度评估喷洒窗口。无论您是管理单个地块还是印第安纳州中部的 69 个田块,该工具都能提供技术基础设施,使天气相关的工作流程自动化,并将其直接整合到智能体的推理能力中。

下载入口:https://github.com/openclaw/skills/tree/main/skills/brianppetty/farmos-weather

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install farmos-weather

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 farmos-weather。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

FarmOS 天气 应用场景

  • 根据风力和降雨预报评估喷洒条件,确保合规性和有效性。
  • 计算积温(GDD)以跟踪作物发育里程碑,如 V6 或 VT 阶段。
  • 在恶劣天气来临前确定播种或收获等田间作业的最佳窗口。
  • 将历史天气模式与作物观察结果关联,识别病害压力或害虫风险。
  • 监控特定田块坐标的实时状况(温度、风力、降水)。
FarmOS 天气 工作原理
  1. AI 智能体接收到与天气相关的查询或触发短语,如“我们可以喷药吗?”或“12 号地块的预报”。
  2. 该技能识别相关的田块 ID 或地理坐标,并调用农艺模块 API 上的相应端点。
  3. 以美制单位(华氏度、英寸、英里/小时)检索实时数据、预报或历史记录。
  4. 智能体处理原始天气数据,并可选地将其与现有任务或观察结果进行交叉引用。
  5. 生成综合响应,将日期锚定到当前系统时间,并为农场管理提供可操作的建议。

FarmOS 天气 配置指南

要将 FarmOS 天气集成到您的环境中,请确保可在指定的 IP 访问农艺模块 API。使用以下基础 URL 配置您的 Openclaw Skills 环境并验证连接性:

# 用于连接性测试的示例 API 端点
curl -X GET http://100.102.77.110:8012/api/weather/health

由于 API 原生支持美制单位,因此无需进行单位转换。确保智能体可以访问田块 ID 或近似坐标(例如,印第安纳州中部:40.25, -85.67)以执行准确查询。

FarmOS 天气 数据架构与分类体系

该技能通过结构化 API 响应系统组织数据。所有数值均以美制单位返回,以保持 Openclaw Skills 集成的一致性。

属性 描述 单位
temperature_max 最高预测气温 华氏度 (°F)
precipitation_sum 累计或预期雨/雪量 英寸 (in)
wind_speed_10m 10 米处最大风速 英里/小时 (mph)
gdd 在一定范围内积累的积温 数值
spray_conditions 风、雨、温度评估 状态对象

日期格式为 YYYY-MM-DD,并以“今天”作为任何数组中的第一个条目进行索引。

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:

  • Before answering "can we spray?" or "should we get in the field?", check farmos-tasks for what's on the board. Connect the forecast to specific scheduled work: "Rain Thursday through Saturday — if you're planning to spray field 14, today's your window."
  • When reporting the forecast, flag weather-sensitive tasks that conflict: "You've got 3 spray tasks this week but wind picks up Wednesday. Today and tomorrow are your best shot."
  • GDD milestones trigger agronomic actions. When GDD data crosses key thresholds (V6 ~450 GDD, VT ~1,100 GDD, R1 ~1,400 GDD for corn), connect to tasks: "Field 12 just hit 1,100 GDD — that's your V6 marker. Side-dress window is now. Want me to create a task?"

Weather → Observations:

  • After extended rain + warm temps, flag disease pressure: "We've had 3 days of rain and highs in the 80s — conditions are ripe for gray leaf spot and tar spot. Worth scouting the corn this week."
  • After frost or severe weather, suggest damage checks: "First frost was last night. Might be worth checking the late-planted fields for damage."
  • Connect recent weather to existing observation patterns: if there are recent disease observations, note the weather connection.

Weather → Equipment:

  • If rain is coming and there are field operations scheduled, note the equipment implication: "Rain starts Thursday — anything that needs to be in the field should get there before then."

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.

  • Use your system date to label each day correctly: "Today (Feb 28)", "Tomorrow (Mar 1)", "Wednesday (Mar 2)"
  • Do not assume the first forecast entry is tomorrow — it is today
  • If you're unsure of today's date, say so rather than guess

Usage Notes

  • Farm is located in central Indiana. If specific field weather isn't available, general local weather is fine.
  • Spray conditions matter: wind speed under 10mph, no rain in forecast for 24hrs, temperature ranges.
  • "Can we spray?" is a common question -- check wind, rain probability, and temperature via the spray-conditions endpoint.
  • Field IDs are integers -- 69 fields across the operation. Most weather queries can use any nearby field ID since they are all in the same area.
  • For coordinates-based queries without a field ID, use the /coordinates endpoint with the farm's approximate location (latitude ~40.25, longitude ~-85.67).