GET Berechnete Messreihen auflisten
/api/v1/devices/{id}/derived-series
Formeln für abgeschlossene UTC-Minuten verwenden 1–8 numerische Quellen eines Arbeitsbereichs, höchstens 64 AST-Knoten und Abhängigkeitstiefe 4. Addition und Subtraktion benötigen gleiche Einheiten. Fehlende Quellen und Division durch null bleiben Lücken. Jede neue unveränderliche Revision verbraucht das Datenkontingent des Owners; Wiederholungen sind kostenfrei. Standardmäßig gilt die Formel ab der nächsten Minute; ausdrückliche Nachberechnung umfasst höchstens 24 Stunden. Viewer dürfen lesen; Änderungen benötigen Editor, config:write und Session-CSRF. Ein optionaler Idempotency-Key schützt Wiederholungen und lehnt geänderte Nutzdaten ab. Telemetrieschlüssel dürfen keine berechneten Reihen beschreiben.
Auf dieser Seite
Zugriff und Rechte
Formeln für abgeschlossene UTC-Minuten verwenden 1–8 numerische Quellen eines Arbeitsbereichs, höchstens 64 AST-Knoten und Abhängigkeitstiefe 4. Addition und Subtraktion benötigen gleiche Einheiten. Fehlende Quellen und Division durch null bleiben Lücken. Jede neue unveränderliche Revision verbraucht das Datenkontingent des Owners; Wiederholungen sind kostenfrei. Standardmäßig gilt die Formel ab der nächsten Minute; ausdrückliche Nachberechnung umfasst höchstens 24 Stunden. Viewer dürfen lesen; Änderungen benötigen Editor, config:write und Session-CSRF. Ein optionaler Idempotency-Key schützt Wiederholungen und lehnt geänderte Nutzdaten ab. Telemetrieschlüssel dürfen keine berechneten Reihen beschreiben.
Browsersitzung: Cookie __Host-mb_session.
Maschinen-Verwaltungszugang in Authorization: Bearer. Beachten Sie die von der Operation benötigten Berechtigungen (Scopes).
Parameter und Header
| Feld | Position | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|---|
| id | Pfad | string; {"format":"uuid"} | Ja | Ressourcen-UUID aus dem Pfad. Sie muss existieren und für die handelnde Identität zugänglich sein. |
Anfragekörper
Kein Anfragekörper.
Antworten
application/json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | object | Ja | — |
| $.definitions | array<object>; {"maxItems":1000} | Nein | — |
| $.definitions[] | object | Ja | — |
| $.definitions[].backfill_from | string | null; {"format":"date-time"} | Nein | — |
| $.definitions[].effective_from | string; {"format":"date-time"} | Nein | — |
| $.definitions[].enabled | boolean | Nein | — |
| $.definitions[].expression | string | Nein | — |
| $.definitions[].name | string | Nein | — |
| $.definitions[].revision | integer; {"minimum":1} | Nein | — |
| $.definitions[].series_id | string; {"format":"uuid"} | Nein | — |
| $.definitions[].sources | object | Nein | — |
| $.definitions[].unit | string; {"maxLength":32} | Nein | — |
| Stabile Fehlercodes |
|---|
| invalid_session |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
| Stabile Fehlercodes |
|---|
| forbidden |
| csrf |
| insufficient_scope |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
| Stabile Fehlercodes |
|---|
| not_found |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
| Stabile Fehlercodes |
|---|
| idempotency_conflict |
| revision_conflict |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
| Stabile Fehlercodes |
|---|
| invalid_device |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
| Stabile Fehlercodes |
|---|
| series_limit |
| creation_quota |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
| Stabile Fehlercodes |
|---|
| unavailable |
application/problem+json
| Feld | Typ und Grenzen | Erforderlich | Bedeutung |
|---|---|---|---|
| $ | Problem | Ja | — |
| $.code | string | Ja | Stabiler maschinenlesbarer Fehlercode |
| $.detail | string | Ja | Kurze lokalisierte Erklärung ohne interne Fehlerdaten |
| $.instance | string | Ja | Einmalige relative Kennung /api/v1/requests/{request_id}; keine abrufbare Ressource |
| $.message | string | Ja | Vorübergehend für bestehende Clients gleich detail |
| $.message_key | string | Ja | Stabiler Übersetzungsschlüssel für einen Sprachwechsel der Anzeige ohne neue Anfrage |
| $.message_params | object; {"additionalProperties":true} | Ja | Benannte, sicher ausgegebene Meldungsparameter; kein beliebiges HTML |
| $.request_id | string; {"pattern":"^[0-9a-f]{32}$"} | Ja | Vom Server erzeugte Diagnosekennung. Enthält kein Logintoken und keine Zugangsdaten. |
| $.status | integer; {"maximum":599,"minimum":400} | Ja | — |
| $.title | string | Ja | Lokalisierte HTTP-Statusbezeichnung |
| $.type | string; {"const":"about:blank"} | Ja | — |
Wiederholungen und asynchrone Aufträge
Diese Operation liest oder prüft, ohne eine Ressourcenänderung anzuwenden. Beachten Sie Ratenlimits und Zugangslaufzeiten.
Anfragebeispiele
Ersetzen Sie Demokennungen, Zeitstempel und Platzhalter durch eigene Werte. Behalten Sie bei Wiederholungen Kennungen, Zeit und Inhalt bei. Diese Beispiele führen auf der Seite keine Anfragen aus.
Halten Sie Anmeldelinks, Codes, Cookies und Schlüssel privat. Schreiben Sie sie nicht in Logs und teilen Sie sie nicht in Hilfeanfragen.
curl --silent --show-error --output /dev/null --write-out "%{http_code}\n" \
--request GET \
--header @"$HOME/.config/metribeacon/headers.txt" \
"https://metribeacon.com/api/v1/devices/00000000-0000-4000-8000-000000000001/derived-series"
import json
from pathlib import Path
from urllib.request import Request, HTTPRedirectHandler, build_opener
from urllib.error import HTTPError
headers = json.loads((Path.home() / ".config/metribeacon/headers.json").read_text())
request = Request("https://metribeacon.com/api/v1/devices/00000000-0000-4000-8000-000000000001/derived-series", data=None, headers=headers, method="GET")
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, request, fp, code, message, headers, target):
return None
opener = build_opener(NoRedirect())
try:
with opener.open(request, timeout=10) as response:
print(response.status)
except HTTPError as error:
print(error.code)
error.close()
import { readFile } from "node:fs/promises";
import { homedir } from "node:os";
import { join } from "node:path";
const headers = JSON.parse(await readFile(join(homedir(), ".config/metribeacon/headers.json"), "utf8"));
const response = await fetch("https://metribeacon.com/api/v1/devices/00000000-0000-4000-8000-000000000001/derived-series", {
method: "GET", headers, redirect: "manual",
signal: AbortSignal.timeout(10000),
});
console.log(response.status);
await response.body?.cancel();
package main
import (
"fmt"
"net/http"
"time"
"encoding/json"
"os"
"path/filepath"
)
func main() {
home, err := os.UserHomeDir(); if err != nil { panic("request failed; credentials and response omitted") }
raw, err := os.ReadFile(filepath.Join(home, ".config/metribeacon/headers.json")); if err != nil { panic("request failed; credentials and response omitted") }
var headers map[string]string
if json.Unmarshal(raw, &headers) != nil { panic("invalid local headers") }
request, err := http.NewRequest("GET", "https://metribeacon.com/api/v1/devices/00000000-0000-4000-8000-000000000001/derived-series", nil)
if err != nil { panic("request failed; credentials and response omitted") }
for name, value := range headers { request.Header.Set(name, value) }
client := &http.Client{Timeout: 10*time.Second, CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
response, err := client.Do(request)
if err != nil { panic("request failed; credentials and response omitted") }
defer response.Body.Close()
fmt.Println(response.StatusCode)
}
Verwandte Anleitungen
- HTTP-API, OAuth und MCP
Finden Sie die Nutzer-API-Endpunkte mit Rechten, Feldern, Beispielen und Antwortformaten.
- POST Berechnete Messreihe anlegen
Formeln für abgeschlossene UTC-Minuten verwenden 1–8 numerische Quellen eines Arbeitsbereichs, höchstens 64 AST-Knoten und Abhängigkeitstiefe 4. Addition und Subtraktion benötigen gleiche Einheiten. Fehlende Quellen und Division durch null bleiben Lücken. Jede neue unveränderliche Revision verbraucht das Datenkontingent des Owners; Wiederholungen sind kostenfrei. Standardmäßig gilt die Formel ab der nächsten Minute; ausdrückliche Nachberechnung umfasst höchstens 24 Stunden. Viewer dürfen lesen; Änderungen benötigen Editor, config:write und Session-CSRF. Ein optionaler Idempotency-Key schützt Wiederholungen und lehnt geänderte Nutzdaten ab. Telemetrieschlüssel dürfen keine berechneten Reihen beschreiben.
- PUT Formel einer berechneten Messreihe ändern
Formeln für abgeschlossene UTC-Minuten verwenden 1–8 numerische Quellen eines Arbeitsbereichs, höchstens 64 AST-Knoten und Abhängigkeitstiefe 4. Addition und Subtraktion benötigen gleiche Einheiten. Fehlende Quellen und Division durch null bleiben Lücken. Jede neue unveränderliche Revision verbraucht das Datenkontingent des Owners; Wiederholungen sind kostenfrei. Standardmäßig gilt die Formel ab der nächsten Minute; ausdrückliche Nachberechnung umfasst höchstens 24 Stunden. Viewer dürfen lesen; Änderungen benötigen Editor, config:write und Session-CSRF. Ein optionaler Idempotency-Key schützt Wiederholungen und lehnt geänderte Nutzdaten ab. Telemetrieschlüssel dürfen keine berechneten Reihen beschreiben.
- GET Quellen für berechnete Reihen auflisten
Formeln für abgeschlossene UTC-Minuten verwenden 1–8 numerische Quellen eines Arbeitsbereichs, höchstens 64 AST-Knoten und Abhängigkeitstiefe 4. Addition und Subtraktion benötigen gleiche Einheiten. Fehlende Quellen und Division durch null bleiben Lücken. Jede neue unveränderliche Revision verbraucht das Datenkontingent des Owners; Wiederholungen sind kostenfrei. Standardmäßig gilt die Formel ab der nächsten Minute; ausdrückliche Nachberechnung umfasst höchstens 24 Stunden. Viewer dürfen lesen; Änderungen benötigen Editor, config:write und Session-CSRF. Ein optionaler Idempotency-Key schützt Wiederholungen und lehnt geänderte Nutzdaten ab. Telemetrieschlüssel dürfen keine berechneten Reihen beschreiben.