360 Secure SkillHub
360 安全技能中心

Swiss-Weather

通过本地脚本调用 MeteoSwiss 公共 API,按瑞士气象站代码查询实时温度、湿度、风力、降水、气压等测量值,或按邮编获取多日天气预报,支持文本表格与 JSON 输出,无需 API 密钥。

xenofex7
xenofex7
热度 64.94
最近更新 2026-05-11 15:48:53
分类:生活依赖:代码执行 / 第三方 API应用场景:旅行 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add swissweather
Metadata
name
swissweather
description
Get current weather and forecasts from MeteoSwiss (official Swiss weather service). Use when querying Swiss weather data, local measurements from Swiss weather stations, or Swiss-specific forecasts. Provides real-time measurements (temperature, humidity, wind, precipitation, pressure) from 100+ Swiss stations and multi-day forecasts by postal code. Ideal for Swiss locations - more accurate than generic weather services for Switzerland.

SwissWeather

Get current weather measurements and forecasts from MeteoSwiss, the official Swiss Federal Office of Meteorology and Climatology.

Why Use This

  • Official Swiss data: Direct from MeteoSwiss government service
  • Real measurements: 100+ automated weather stations across Switzerland
  • No API key required: Free public data
  • Swiss-optimized: Better coverage and accuracy for Switzerland than generic services
  • Comprehensive: Temperature, humidity, wind, precipitation, pressure, sunshine, radiation

Quick Start

Current Weather by Station

Get real-time measurements from a specific Swiss weather station:

Option 1: Shell script (no dependencies)

scripts/current_weather_curl.sh --station RAG

Option 2: Python script (requires: pip3 install requests)

scripts/current_weather.py --station RAG

Example output:

Station: RAG
Time: 2026-01-15 11:40 UTC
Temperature (°C)........................ 8.6
Rel. humidity (%)...................... 56.3
Wind speed (km/h)...................... 6.8
Precipitation (mm)..................... 0.0

Popular stations:

  • RAG - Rapperswil (Zurich region)
  • BER - Bern
  • ZRH - Zurich Airport
  • BAS - Basel
  • GVE - Geneva
  • LUG - Lugano

List All Stations

scripts/current_weather_curl.sh --list
# or
scripts/current_weather.py --list

Returns 100+ Swiss weather stations with codes and last update time.

Forecast by Postal Code

Get multi-day weather forecast:

scripts/forecast.py 8640            # Rapperswil-Jona
scripts/forecast.py 8001 --days 7   # Zurich, 7-day forecast

Note: The forecast API may occasionally be unstable. If it fails, fall back to current weather measurements.

Available Data

Current Weather Measurements

Updated every 10 minutes from automated stations:

  • Temperature (°C) - Air temperature at 2m height
  • Humidity (%) - Relative humidity
  • Wind - Speed (km/h), direction (°), gust peak
  • Precipitation (mm) - Recent rainfall
  • Pressure (hPa) - Station level, sea level
  • Sunshine (min) - Duration of sunshine
  • Radiation (W/m²) - Global solar radiation
  • Dew point (°C)

Weather Forecasts

Multi-day forecasts by Swiss postal code:

  • Daily temperature (min/max)
  • Weather conditions with icons
  • Precipitation amount and probability
  • Hourly forecasts (when available)

Station Selection

Choose the nearest station to your location:

  • Major cities: BER (Bern), ZRH (Zurich), BAS (Basel), GVE (Geneva), LUG (Lugano)
  • Zurich region: KLO (Kloten), RAG (Rapperswil), TAE (Tänikon)
  • Central: LUZ (Lucerne), ALT (Altdorf), ENG (Engelberg)
  • Mountains: SMA (Säntis), JUN (Jungfraujoch), PIL (Pilatus)

Tip: Avoid mountain stations for valley locations due to altitude differences.

See references/api_info.md for complete station list and details.

JSON Output

All scripts support --json flag for programmatic use:

scripts/current_weather.py --station RAG --json
scripts/forecast.py 8640 --json

Advanced Usage

Multiple Stations

Show all current measurements:

scripts/current_weather.py --all

Find Nearest Station

  1. List all stations: scripts/current_weather.py --list
  2. Identify closest by name/location
  3. Use that station code

Caching

Data updates every 10 minutes. Cache responses appropriately:

# Cache current weather for 5-10 minutes
# Cache forecasts for 1-2 hours

API Reference

See references/api_info.md for:

  • Complete API documentation
  • All available data fields
  • Weather icon codes
  • Warning levels and types
  • Alternative data sources
  • Technical details

Dependencies

pip3 install requests

Data Source

Troubleshooting

Forecast API fails: The MeteoSwiss app API occasionally changes. If forecast.py fails, use current weather measurements instead, or check references/api_info.md for alternative methods.

Station not found: Use --list to see available stations. Station codes are 3-letter abbreviations (case-insensitive).

Missing data: Some stations don't measure all parameters. Look for - or N/A in output.

Related

  • swiss-transport: Swiss public transport schedules and connections
  • weather: Generic weather service (wttr.in) - use swissweather for Switzerland