# Halowerk Building Heat Demand Estimator

> Halowerk Building Heat Demand Estimator is a paid API for AI agents from solar.halowerk.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-14).

Computes a transparent planning estimate of annual and monthly space-heating demand for a building in Germany, combining envelope transmission losses, ventilation losses, DWD climate normals, internal gains, and optional DHW.

## Facts

- Endpoint: POST https://solar.halowerk.com/building-heat-demand
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-building-heat-demand-estimator-6c91e1c9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_13KGvSJkgXxOYMabRJSVF

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-building-heat-demand-estimator-6c91e1c9 -d '<json body>'
```

Example prompt: Estimate the annual space-heating demand for my house near Munich (lat 48.1, lon 11.6) — it has 280 m³ heated volume, 120 m² floor area, and four envelope components: 80 m² roof at U=0.2, 120 m² walls at U=0.35, 30 m² windows at U=1.3, and 80 m² floor at U=0.4; ventilation is 0.5 ACH with no heat recovery, indoor target 20°C, and I'd also like to include 1800 kWh/year for domestic hot water.

## When to prefer this

Choose this endpoint when you need a fast, transparent heating energy estimate for a building in Germany using actual DWD 1991–2020 climate normals, and you can supply envelope U-values and geometry. It is not a regulatory calculation (not DIN 4108, VDI, GEG, or PHPP-compliant) but is well-suited for early-stage design comparisons, retrofit scenario analysis, or sizing heating systems where a quick physics-based estimate is sufficient.

## Known failure modes

- Coordinates outside Germany (lat 47–56, lon 5–16) → validation error, no DWD station available
- No DWD station within max_station_distance_km → error indicating nearest station is too far
- Envelope array empty or missing required fields (name, area_m2, u_value_w_m2k) → schema validation error
- heated_volume_m3 below minimum (10 m³) or above maximum → validation error
- u_value_w_m2k out of range (0.01–8) → validation error
- Payment not included or insufficient (requires $0.004 USDC via x402) → 402 Payment Required

## How this service works

Computes a transparent planning estimate for space-heating demand. The method is not DIN, VDI, GEG or PHPP and must not be used as regulatory proof. It combines transmission heat loss from each envelope component, ventilation heat loss from heated volume and air changes, monthly heating degree days from the nearest DWD 1991-2020 temperature-normal station, stated internal gains and optional domestic hot water.

## Output

Returns a month-by-month and annual heating demand breakdown in kWh, split into transmission losses (per envelope component), ventilation losses, and domestic hot water; includes the DWD climate station used, its distance, heating degree days per month, and total annual heating energy demand adjusted for system efficiency.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "lat": {
   "type": "number",
   "maximum": 56,
   "minimum": 47,
   "description": "Latitude in Germany; the DWD normal dataset used here covers Germany."
  },
  "lon": {
   "type": "number",
   "maximum": 16,
   "minimum": 5
  },
  "profile": {
   "type": "object",
   "properties": {
    "indoor_temp_c": {
     "type": "number",
     "default": 20,
     "maximum": 30,
     "minimum": 5
    },
    "internal_gains_w": {
     "type": "number",
     "default": 0,
     "maximum": 100000,
     "minimum": 0
    },
    "heating_base_temp_c": {
     "type": "number",
     "default": 15,
     "maximum": 25,
     "minimum": 0
    }
   },
   "additionalProperties": false
  },
  "envelope": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "name",
     "area_m2",
     "u_value_w_m2k"
    ],
    "properties": {
     "name": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1
     },
     "area_m2": {
      "type": "number",
      "maximum": 100000,
      "minimum": 0.1
     },
     "u_value_w_m2k": {
      "type": "number",
      "maximum": 8,
      "minimum": 0.01
     }
    },
    "additionalProperties": false
   },
   "maxItems": 40,
   "minItems": 1
  },
  "ventilation": {
   "type": "object",
   "properties": {
    "air_changes_per_hour": {
     "type": "number",
     "default": 0.5,
     "maximum": 5,
     "minimum": 0
    },
    "heat_recovery_efficiency": {
     "type": "number",
     "default": 0,
     "maximum": 0.95,
     "minimum": 0
    }
   },
   "additionalProperties": false
  },
  "heated_volume_m3": {
   "type": "number",
   "maximum": 1000000,
   "minimum": 10
  },
  "system_efficiency": {
   "type": "number",
   "default": 1,
   "maximum": 1.5,
   "minimum": 0.5
  },
  "thermal_bridge_w_k": {
   "type": "number",
   "default": 0,
   "maximum": 100000,
   "minimum": 0
  },
  "heated_floor_area_m2": {
   "type": "number",
   "maximum": 100000,
   "minimum": 5
  },
  "max_station_distance_km": {
   "type": "number",
   "default": 80,
   "maximum": 200,
   "minimum": 1
  },
  "domestic_hot_water_kwh_year": {
   "type": "number",
   "default": 0,
   "maximum": 1000000,
   "minimum": 0
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-building-heat-demand-estimator-6c91e1c9/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)
