Correlation App

Die Correlation App analysiert Korrelationen zwischen Attributen von Assets unter Berücksichtigung anpassbarer Zeitverzögerungen (Lag Intervals) und generiert umfassende Berichte mit Visualisierungen.


Hauptfunktionen

  • Zeitverzögerungsbasierte Korrelation: Analysieren Sie Zusammenhänge zwischen Attributen für definierte Zeitverzögerungen.

  • Berichtsgenerierung: Erstellen Sie HTML- und PDF-Berichte mit Heatmaps, Streudiagrammen und Verzögerungsdiagrammen.

  • E-Mail-Integration: Senden Sie Berichte direkt an festgelegte Empfänger.

  • Anpassbarer Zeitraum: Legen Sie den Start- und Endzeitpunkt der Analyse fest.


Konfiguration

Umgebungsvariablen

Variable
Beschreibung
Beispiel

CONNECTION_STRING

Verbindungsdetails zur Eliona-Datenbank.

postgres://user:pass@host:port/dbname

API_ENDPOINT

API-Endpunkt für den Zugriff auf Eliona-Services.

http://api-v2:3000/v2

API_TOKEN

Authentifizierungs-Token für Eliona-Services.

your_api_token

API_SERVER_PORT

(Optional) Port für den API-Server. Standardwert: 3000.

3000

SMTP_SERVER

Adresse des SMTP-Servers.

smtp.example.com

SMTP_PORT

Port des SMTP-Servers.

587

SMTP_USER

Benutzername für den SMTP-Server.

SMTP_PASSWORD

Passwort für den SMTP-Server.

password

API-Endpunkte

1. POST /v1/correlate

Beschreibung: Berechnet die Korrelation zwischen den angegebenen Attributen mehrerer Assets.

  • Wird nur eine Asset-ID angegeben (ohne Attributnamen), werden alle Attribute des Assets miteinander korreliert.

Anfragetext:

{
    "assets": ,
    "lags": ,
    "start_time":,
    "end_time": ,
    "to_email": ,
}

Antwort:

  • 200 OK: Rückgabe folgender Daten:

    • Analysierte Assets und Zeitverzögerungen.

    • Zeitspanne der Analyse.

    • Ergebnisse der Korrelation inkl. best_correlation, best_lag und lag_details.

    • Ein HTML-Bericht (report_html) mit Heatmap-Visualisierungen.

    • Wenn to_email angegeben ist, wird der Bericht per E-Mail versendet.

  • 400 Bad Request: Ungültige Eingabeparameter.


2. POST /v1/correlate-children

Beschreibung: Korreliert alle Attribute von Kind-Assets eines angegebenen Assets.

Anfragetext: Wie bei /v1/correlate, jedoch mit Angabe von asset_id anstelle einer Liste von Assets.

Antwort: Identisch zu /v1/correlate, einschließlich HTML-Bericht.


3. POST /v1/in-depth-correlation

Beschreibung: Führt eine detaillierte Korrelationsanalyse für genau zwei Attribute durch.

Antwort:

  • Detaillierte Korrelationsdaten inkl.:

    • Beste Korrelation und zugehörige Verzögerung.

    • Korrelationswerte für jede getestete Verzögerung.

  • HTML-Bericht (report_html) mit Streu- und Verzögerungsdiagrammen.


Anfrageparameter

Folgende Parameter können in der Anfrage enthalten sein:

  • assets: Liste von Asset-Attribut-Paaren für die Analyse. Ohne Attributangabe werden alle Attribute des Assets analysiert.

  • lags: Optionale Zeitverzögerungen, z. B. {"hours": 10}.

  • start_time, end_time: Zeitspanne der Analyse.

  • to_email: (Optional) E-Mail-Adresse für den Versand des Berichts.

Beispielanfrage

{
    "assets": [
        {"asset_id": 123, "attribute_name": "temperature"},
        {"asset_id": 456, "attribute_name": "humidity"}
    ],
    "lags": [
        {"minutes": 15},
        {"hours": 2},
        {"days": 1}
    ],
    "start_time": "2025-01-01T00:00:00",
    "end_time": "2025-01-03T23:59:59",
    "to_email": "[email protected]"
}

Beispielantwort für die API-Anfrage /v1/correlate

{
    "assets": [
        {"asset_id": 123, "attribute_name": "temperature"},
        {"asset_id": 456, "attribute_name": "humidity"}
    ],
    "lags": [
        {"minutes": 15},
        {"hours": 2},
        {"days": 1}
    ],
    "start_time": "2025-01-01T00:00:00",
    "end_time": "2025-01-03T23:59:59",
    "correlation": {
        "temperature and humidity": {
            "best_correlation": 0.85,
            "best_lag": 2,
            "lag_unit": "hours",
            "lag_details": [
                {"lag_step": -2, "lag_unit": "hours", "correlation": 0.75},
                {"lag_step": 0, "lag_unit": "hours", "correlation": 0.85},
                {"lag_step": 2, "lag_unit": "hours", "correlation": 0.80}
            ]
        }
    },
    "report_html": "<!DOCTYPE html><html><head>...</head><body>...</body></html>"
}

Erklärung der Antwortfelder

  1. assets:

    • Enthält die analysierten Assets und ihre Attribute, z. B. Temperatur und Feuchtigkeit.

  2. lags:

    • Liste der getesteten Zeitverzögerungen: 15 Minuten, 2 Stunden und 1 Tag.

  3. start_time, end_time:

    • Der Zeitraum der Analyse, hier 1. bis 3. Januar 2025.

  4. correlation:

    • Detaillierte Korrelationsdaten:

      • best_correlation: Höchster Korrelationswert (0,85).

      • best_lag: Die Zeitverzögerung (2 Stunden), bei der die höchste Korrelation auftritt.

      • lag_details: Korrelationswerte für verschiedene Verzögerungen (-2, 0, +2 Stunden).

  5. report_html:

    • Ein HTML-Bericht mit Visualisierungen wie Heatmaps und Streudiagrammen, bereit zum direkten Anzeigen oder Speichern.


Berichtserstellung

Berichte enthalten folgende Visualisierungen:

HTML-Bericht

Generiert für die Endpunkte /v1/correlate und /v1/correlate-children:

  • Heatmaps: Beste Korrelationen zwischen Attributen.

  • Korrelationszahlen: Detailstatistiken zu jeder Korrelation.

Generiert für den Endpunkt /v1/in-depth-correlation:

  • Streudiagramme: Beziehungen zwischen Attributen.

  • Verzögerungsdiagramme: Zeitabhängige Trends.

Last updated

Was this helpful?