Signal senden
POST /api/signals/send
Sendet ein Signal an eine bestehende Datenquelle.
Tip
Praktische Schritt-für-Schritt-Anleitung mit vollständigen Code-Beispielen: Daten aus Python & MATLAB importieren
Request
POST /api/signals/send HTTP/1.1Host: localhost:5678Content-Type: application/jsonJSON inline
Body-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | Ja | Name des Signals |
y | array | Ja | Y-Werte (Amplitude) |
x | array | Nein | X-Werte (Zeit/Frequenz). Wird automatisch generiert falls nicht angegeben |
z | array/2D-array | Nein | Z-Werte für Verlaufslinien (1D) oder Spektrogramme (2D) |
y_unit | string | Nein | Einheit der Y-Achse (z.B. "V", "A") |
x_unit | string | Nein | Einheit der X-Achse (z.B. "s", "Hz") |
z_unit | string | Nein | Einheit der Z-Achse (z.B. "dB", "°C") |
target_source_id | string | Ja | ID der Ziel-Datenquelle |
Beispiel: Einfaches Signal
{ "name": "Sinus 5Hz", "y": [0, 0.841, 0.909, 0.141, ...], "x": [0, 0.1, 0.2, 0.3, ...], "y_unit": "V", "x_unit": "s", "target_source_id": "937896ff-f856-4b20-8888-e5127f0835b5"}Beispiel: Verlaufslinie (1D Z-Achse)
{ "name": "Verlaufssinus", "y": [0, 0.841, 0.909, ...], "x": [0, 0.1, 0.2, ...], "z": [0.5, 0.7, 0.9, ...], "y_unit": "V", "x_unit": "s", "z_unit": "°C", "target_source_id": "937896ff-f856-4b20-8888-e5127f0835b5"}Beispiel: Spektrogramm (2D Z-Matrix)
{ "name": "Spektrogramm", "y": [0, 10, 20, ...], "x": [0, 0.1, 0.2, ...], "z": [[0.1, 0.2, ...], [0.3, 0.4, ...], ...], "y_unit": "Hz", "x_unit": "s", "z_unit": "dB", "target_source_id": "937896ff-f856-4b20-8888-e5127f0835b5"}Info
Z-Achse Format:
- 1D Array (Länge = Länge von x und y): Verlaufslinie mit Farbcodierung
- 2D Matrix (Shape:
[len(y), len(x)]): Spektrogramm/Heatmap
Große Daten
Dieser Endpunkt nimmt nur JSON inline entgegen (ideal für kleine Signale). Große Arrays übertragen Sie als Binär-Upload – ein Signal über POST /api/signals/upload, viele Signale in einem Request über POST /api/signals/upload_batch. Das vermeidet den JSON-Overhead und funktioniert auch in der Flatpak-Sandbox.
Response
Status Code: 200 OK
Body:
{ "status": "ok", "result": { "signal_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "name": "Sinus 5Hz", "sample_count": 1000 }}Response-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
result.signal_id | string | ID des importierten Signals |
result.name | string | Tatsächlicher Name des Signals |
result.sample_count | integer | Anzahl der importierten Samples |
Fehler
| Status | Bedeutung |
|---|---|
400 | Ungültige Parameter (z.B. fehlendes y-Array oder file-Feld – Datei-Inhalte bitte über /api/signals/upload hochladen) |
404 | target_source_id nicht gefunden |
500 | Serverfehler |
Beispiel:
{ "status": "error", "error": "No handler found for source ID: 937896ff-..."}