# Halowerk Off-Grid Weather Alarm

> Halowerk Off-Grid Weather Alarm is a paid API for AI agents from solar.halowerk.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Simulates a solar+wind+battery off-grid system over 12–120 hours using DWD MOSMIX_L forecasts and returns a risk alert when renewable coverage drops below a configurable threshold.

## Facts

- Endpoint: POST https://solar.halowerk.com/off-grid-weather-alarm
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-off-grid-weather-alarm-fc4a68d7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Ne8lDNCtgOuGhUz-P0DVu

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability halowerk-off-grid-weather-alarm-fc4a68d7 -d '<json body>'
```

Example prompt: Check if my off-grid system — 5 kWp solar with 0.78 performance ratio, a 2 kW wind turbine rated at 12 m/s, and a 20 kWh battery currently at 60% charge — can cover a 4 kWh/day load at my location (48.5°N, 11.2°E) over the next 72 hours, and alert me if renewable coverage falls below 50% for 6+ consecutive hours.

## When to prefer this

Choose this endpoint when you need a transparent, simulation-based risk signal for an off-grid renewable energy installation using real near-future weather forecast data (DWD MOSMIX_L). It is ideal for autonomous agents that need to proactively warn users before energy shortfalls occur, or for pre-trip checks on remote off-grid properties. Prefer it over generic weather APIs when the question is specifically about whether a solar+wind+battery system will meet a constant load — not just what the weather will be. Not suitable as a replacement for certified yield models or official emergency alerts.

## Known failure modes

- No DWD MOSMIX station found within max_station_distance_km — returns an error indicating no nearby station
- Invalid coordinates (out of range) — validation error
- Battery object missing required fields (capacity_wh, soc_percent) — schema validation error
- Forecast horizon outside 12–120 hour range — rejected with validation error
- Invalid station_id format — rejected by regex pattern
- Load or capacity values of zero or unrealistically large — may produce trivially trivial results
- DWD upstream data temporarily unavailable — upstream fetch error

## How this service works

Uses the nearest current DWD MOSMIX_L station forecast, or a station explicitly supplied by the caller. Global irradiance drives a transparent PV estimate and forecast wind speed drives a stated generic turbine curve; neither replaces a site-specific yield model. A constant hourly load and optional battery are simulated over 12 to 120 hours. The result is an installation-risk signal, not an official weather warning, emergency alert or guarantee of supply.

## Output

Returns a risk alert signal indicating whether the simulated off-grid system will sustain the configured load with sufficient renewable coverage. Includes an alert flag with details on shortfall periods (duration, severity), and optionally an hourly time-series of solar generation, wind generation, battery state of charge, net load balance, and renewable coverage percentage across the forecast horizon.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "lat": {
   "type": "number",
   "maximum": 90,
   "minimum": -90
  },
  "lon": {
   "type": "number",
   "maximum": 180,
   "minimum": -180
  },
  "wind": {
   "type": "object",
   "properties": {
    "rated_m_s": {
     "type": "number",
     "default": 12,
     "maximum": 30,
     "minimum": 2
    },
    "capacity_w": {
     "type": "number",
     "maximum": 10000000,
     "minimum": 0
    },
    "cut_in_m_s": {
     "type": "number",
     "default": 3,
     "maximum": 10,
     "minimum": 0.5
    },
    "cut_out_m_s": {
     "type": "number",
     "default": 25,
     "maximum": 60,
     "minimum": 5
    }
   },
   "additionalProperties": false
  },
  "alert": {
   "type": "object",
   "properties": {
    "minimum_duration_hours": {
     "type": "integer",
     "default": 6,
     "maximum": 48,
     "minimum": 3
    },
    "renewable_coverage_percent": {
     "type": "number",
     "default": 50,
     "maximum": 100,
     "minimum": 0
    }
   },
   "additionalProperties": false
  },
  "solar": {
   "type": "object",
   "properties": {
    "capacity_wp": {
     "type": "number",
     "maximum": 10000000,
     "minimum": 0
    },
    "performance_ratio": {
     "type": "number",
     "default": 0.78,
     "maximum": 1,
     "minimum": 0.1
    }
   },
   "additionalProperties": false
  },
  "battery": {
   "type": "object",
   "required": [
    "capacity_wh",
    "soc_percent"
   ],
   "properties": {
    "capacity_wh": {
     "type": "number",
     "maximum": 100000000,
     "minimum": 10
    },
    "soc_percent": {
     "type": "number",
     "maximum": 100,
     "minimum": 0
    },
    "charge_efficiency": {
     "type": "number",
     "default": 0.95,
     "maximum": 1,
     "minimum": 0.5
    },
    "reserve_soc_percent": {
     "type": "number",
     "default": 20,
     "maximum": 90,
     "minimum": 0
    },
    "discharge_efficiency": {
     "type": "number",
     "default": 0.95,
     "maximum": 1,
     "minimum": 0.5
    }
   },
   "additionalProperties": false
  },
  "station_id": {
   "type": "string",
   "pattern": "^[A-Za-z0-9]{4,5}$",
   "description": "Optional DWD MOSMIX station id. Use this or coordinates."
  },
  "forecast_hours": {
   "type": "integer",
   "default": 72,
   "maximum": 120,
   "minimum": 12
  },
  "include_series": {
   "type": "boolean",
   "default": true
  },
  "load_wh_per_day": {
   "type": "number",
   "maximum": 10000000,
   "minimum": 1
  },
  "max_station_distance_km": {
 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-off-grid-weather-alarm-fc4a68d7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from solar.halowerk.com](https://www.zero.xyz/host/solar.halowerk.com/llms.txt)
