Zum Inhalt
HALOWERK

Naturwerk

leak indicator

Takes one or more district metered areas, each with a flow series and optionally a pressure series, a metered consumption figure and a service connection count, and returns three independent leak indicators per area plus a ranking across all of them. The first is minimum night flow: the lowest flow inside the night window is taken for every night in the record, the median of those nightly minima is reported, and where a connection count is given the legitimate night consumption is subtracted.

POST https://natur.halowerk.com/v1/leak-indicator

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
zonesarrayJaThe areas to assess. Unknown field names inside a zone are named back to you, never ignored.
night_window_start_hournumberNeinLocal time. A window wrapping past midnight is allowed.
night_window_end_hournumberNeinLocal time, exclusive.
utc_offset_minutesintegerNeinFixed offset used to place the night window. No daylight saving rule is applied.
night_use_l_per_connection_hnumberNeinAssumed legitimate night use per connection. The default is a planning value, not your network.
min_nightsintegerNeinNights with a night-window sample required before a zone is scored. Below three, no trend.
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "required": [
    "zones"
  ],
  "additionalProperties": false,
  "properties": {
    "zones": {
      "type": "array",
      "minItems": 1,
      "maxItems": 40,
      "description": "The areas to assess. Unknown field names inside a zone are named back to you, never ignored.",
      "items": {
        "type": "object",
        "required": [
          "zone_id",
          "flow_series"
        ],
        "properties": {
          "zone_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "Your own identifier. Returned unchanged; also the tie-break in the ranking."
          },
          "flow_series": {
            "type": "array",
            "minItems": 4,
            "maxItems": 4032,
            "description": "Inlet flow. Needs a sample inside the night window on at least min_nights nights.",
            "items": {
              "type": "object",
              "required": [
                "timestamp",
                "flow_m3_h"
              ],
              "properties": {
                "timestamp": {
                  "type": "string",
                  "description": "ISO 8601 with an explicit time zone."
                },
                "flow_m3_h": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 100000
                }
              }
            }
          },
          "pressure_series": {
            "type": "array",
            "minItems": 3,
            "maxItems": 4032,
            "description": "Optional. Used for the night pressure trend only.",
            "items": {
              "type": "object",
              "required": [
                "timestamp",
                "pressure_bar"
              ],
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "pressure_bar": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 25
                }
              }
            }
          },
          "metered_consumption_m3": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000000,
            "description": "Optional. Must cover exactly the window spanned by flow_series. Without it there is no volume balance."
          },
          "service_connections": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000000,
            "description": "Optional. Without it the legitimate share of the night flow cannot be separated out."
          },
          "night_use_l_per_connection_h": {
            "type": "number",
            "minimum": 0,
            "maximum": 50,
            "description": "Optional per-zone override of the assumed legitimate night use."
          }
        }
      }
    },
    "night_window_start_hour": {
      "type": "number",
      "minimum": 0,
      "maximum": 24,
      "default": 2,
      "description": "Local time. A window wrapping past midnight is allowed."
    },
    "night_window_end_hour": {
      "type": "number",
      "minimum": 0,
      "maximum": 24,
      "default": 4,
      "description": "Local time, exclusive."
    },
    "utc_offset_minutes": {
      "type": "integer",
      "minimum": -840,
      "maximum": 840,
      "default": 0,
      "description": "Fixed offset used to place the night window. No daylight saving rule is applied."
    },
    "night_use_l_per_connection_h": {
      "type": "number",
      "minimum": 0,
      "maximum": 50,
      "default": 1.7,
      "description": "Assumed legitimate night use per connection. The default is a planning value, not your network."
    },
    "min_nights": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "default": 2,
      "description": "Nights with a night-window sample required before a zone is scored. Below three, no trend."
    }
  }
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "zones": [
    {
      "zone_id": "DMA-North",
      "flow_series": [
        {
          "timestamp": "2026-08-15T02:00:00Z",
          "flow_m3_h": 19.9
        },
        {
          "timestamp": "2026-08-15T06:00:00Z",
          "flow_m3_h": 72.5
        },
        {
          "timestamp": "2026-08-15T10:00:00Z",
          "flow_m3_h": 96
        },
        {
          "timestamp": "2026-08-15T14:00:00Z",
          "flow_m3_h": 85
        },
        {
          "timestamp": "2026-08-15T18:00:00Z",
          "flow_m3_h": 97.5
        },
        {
          "timestamp": "2026-08-15T22:00:00Z",
          "flow_m3_h": 53
        },
        {
          "timestamp": "2026-08-16T02:00:00Z",
          "flow_m3_h": 20.4
        },
        {
          "timestamp": "2026-08-16T06:00:00Z",
          "flow_m3_h": 74
        },
        {
          "timestamp": "2026-08-16T10:00:00Z",
          "flow_m3_h": 95.2
        },
        {
          "timestamp": "2026-08-16T14:00:00Z",
          "flow_m3_h": 86.4
        },
        {
          "timestamp": "2026-08-16T18:00:00Z",
          "flow_m3_h": 99
        },
        {
          "timestamp": "2026-08-16T22:00:00Z",
          "flow_m3_h": 55.5
        },
        {
          "timestamp": "2026-08-17T02:00:00Z",
          "flow_m3_h": 21
        }
      ],
      "pressure_series": [
        {
          "timestamp": "2026-08-15T02:00:00Z",
          "pressure_bar": 4.62
        },
        {
          "timestamp": "2026-08-16T02:00:00Z",
          "pressure_bar": 4.48
        },
        {
          "timestamp": "2026-08-17T02:00:00Z",
          "pressure_bar": 4.31
        }
      ],
      "metered_consumption_m3": 2920,
      "service_connections": 5600
    }
  ],
  "utc_offset_minutes": 0,
  "min_nights": 3
}

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →