Zum Hauptinhalt springen

CSV-Berichte

Der Report Generator ist ein Werkzeug, mit dem Sie angepasste Berichte über Ihre Daten per E-Mail erhalten können.

Verwendung​

Sie können einen Bericht als Action in der Rule-Engine-Oberfläche definieren. Es gibt zwei Möglichkeiten, einen Bericht zu definieren.

Methode 1: Einzelnes Objekt mit Device Count​

Sie können einen Bericht mit einem einzelnen Objekt definieren, das einen Messungstyp angibt und das Boolean deviceCount auf true setzt. Dies erzeugt einen speziellen Bericht, der alle IoT-Knoten des Benutzers auflistet, hauptsächlich für Abrechnungszwecke gedacht.

Beispiel:

[
{
"measurement": "deviceCount",
"deviceCount": true,
"startTime": "2019-01-01T00:00:00.000Z", // optional
"endTime": "2019-01-31T00:00:00.000Z" // optional
}
]

Methode 2: Einzelnes Objekt mit Query​

Sie können einen Bericht mit einem einzelnen Objekt definieren, das sowohl einen Messungstyp als auch eine Query angibt.
Diese Methode ist nützlich, um Berichte zu erstellen, die Folgendes enthalten:

  • Alle IoT-Knoten des Benutzers, oder
  • Bestimmte Knoten, gefiltert nach Gerätemodellname oder ID.

Wenn der Bericht generiert wird, wird eine E-Mail mit angehängter CSV-Datei versendet.

CSV-Format​

Das Format der CSV-Datei hängt von den definierten Schlüsseln ab:

  • "csv-column": true → Die Daten werden als Spalte strukturiert.
  • "csv-table": true → Die Daten werden als Tabelle strukturiert.
  • Ist keiner der beiden gesetzt, ist das Standardformat eine Tabelle.

Dateiname​

  • Setzen Sie "fileName" auf eine Zeichenkette, um den Namen der Ausgabedatei festzulegen.
  • Ist dieser nicht gesetzt, wird die Datei standardmäßig report.csv genannt.

Endzeit​

  • Setzen Sie "endTime" auf einen bestimmten Wert, um die Endzeit des Berichts festzulegen.
  • Ist dieser nicht gesetzt, wird standardmäßig die aktuelle Zeit als Endzeit verwendet.

Beispiel:

[
{
"query": "all",
"csv-column": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M",
"endTime": "2019-01-31T00:00:00.000Z",
"fileName": "myReport.csv"
}
]
[
{
"query": {
"deviceModelName": "myDeviceModelName"
},
"csv-column": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M",
"fileName": "myReport.csv"
}
]
[
{
"query": {
"_id": "63a2d11212169cf61ae14385"
},
"csv-table": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M"
}
]

Alle Methoden - Berichtsstruktur​

Ein Bericht wird als Array von Objekten definiert, wobei jedes Objekt Informationen zu einem bestimmten Bericht enthält:

  • Measurement: Eine Zeichenkette, die den Typ der durchgeführten Messung beschreibt (z. B. "temperature").
  • Duration: Eine Zeichenkette, die die Zeitspanne angibt, über die Messungen für den gesamten Bericht erfasst werden. Format: "value"+"unit", wobei value eine Zahl ist und unit einer der folgenden sein kann:
    • "s" = Sekunden
    • "m" = Minuten
    • "h" = Stunden
    • "d" = Tage
    • "w" = Wochen
    • "M" = Monate
    • "y" = Jahre
  • Distance (optional): Eine Zeichenkette, die das Zeitintervall zwischen den Messungen angibt. Das Format entspricht dem von Duration.
Methode 1 Device Count - Zulässige Eigenschaften​
  • Measurement: Derzeit wird nur "deviceCount" unterstützt, um einen speziellen Bericht zu erstellen, der alle IoT-Knoten des Benutzers auflistet.
  • deviceCount: Ein Boolean, das auf true gesetzt werden muss, wenn measurement "deviceCount" ist.
Methode 2 Einzelnes Objekt mit Query - Zusätzliche Eigenschaften​
  • Query: Eine Zeichenkette oder ein Objekt, das angibt, welche Knoten in den Bericht aufgenommen werden sollen. Optionen:
    • "all": Enthält alle IoT-Knoten des Benutzers (query: "all").
    • "query.deviceModelName": Enthält Knoten mit einem bestimmten Gerätemodellname (query: { deviceModelName: "myDeviceModelName" }).
    • "query._id": Enthält Knoten mit einer bestimmten Geräte-ID (query: { _id: "63a2d11212169cf61ae14385" }).

Hinweis: Die oben aufgeführten Eigenschaften sind spezifisch für jede Methode. Nicht alle Eigenschaften gelten für jede Methode zur Definition eines Berichts.