Hoppa till huvudinnehåll

Rapportgeneratorn

Rapportgeneratorn är ett verktyg som låter dig ta emot anpassade rapporter om dina data via e-post.

Användning

Du definierar en rapport som en åtgärd i Rule Engine UI.

Metod 1: Array av objekt

Du kan definiera en rapport som en åtgärd i Rule Engine UI. Det finns tre sätt att definiera en rapport:

Exempel:

[ 
{
"nodes": [
"63a2cfec12169cf61ae14381",
"63a2d11212169cf61ae14385"
],
"measurement": "temperature",
"graph": "step",
"duration": "1M",
"distance": "1d"
},
{
"nodes": [
"63a2cfec12169cf61ae14381",
"63a2d11212169cf61ae14385"
],
"measurement": "humidity",
"graph": "step",
"duration": "1w",
"distance": "1d"
}
]

Metod 2: Enstaka objekt med enhetsräkning

Du kan definiera en rapport med hjälp av ett enskilt objekt som anger en typ av mätning och ställer in booleanvärdet för deviceCount till true. Denna metod genererar en särskild rapport som listar alla IoT-noder som ägs av användaren.

Example:

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

Metod 3: Enstaka objekt med Query

Du kan definiera en rapport med hjälp av ett enskilt objekt som anger en typ av mätning och en fråga. Denna metod är användbar när du vill generera en rapport som inkluderar alla IoT-noder som ägs av användaren eller specifika noder baserat på ett enhetsmodellnamn eller ID. (Denna rapport kommer att skicka ett e-postmeddelande med en bifogad CSV-fil som innehåller data) Formatet för CSV-filen bestäms av värdet på nyckeln "csv-column" eller "csv-table". Om värdet på nyckeln "csv-column" är inställt på "true" kommer CSV-filen att vara i kolumnformat. Om värdet på nyckeln "csv-table" är inställt på "true" kommer CSV-filen att vara i tabellformat. Om ingen av nycklarna "csv-column" eller "csv-table" är inställd på "true" kommer CSV-filen att vara i tabellformat som standard.

Dessutom kan du definiera filens namn genom att ställa in värdet på nyckeln "fileName" till en sträng. Om värdet på nyckeln "fileName" inte är inställt kommer filens namn att vara "report.csv" som standard. Du har också möjlighet att ange en fast "sluttid", som kommer att användas som sluttid för rapporten. Om värdet på nyckeln "endTime" inte är inställt kommer den aktuella tiden att användas som sluttid för rapporten som standard.

Example:

[
{
"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"
}
]

Rapportstruktur:

  • En array av objekt, där varje objekt innehåller information om en specifik rapport.
    • Noder: En array av strängar som representerar de unika identifierarna för noderna som mäts, åtminstone en nod krävs.

    • Mätning: En sträng som beskriver typen av mätning som utförs (t.ex. "temperatur").

    • Graf: En sträng som beskriver typen av graf som ska användas för att visa data, de möjliga alternativen är:

      • "step": Detta visar data som ett stegdiagram.
      • "line": Detta visar data som ett linjediagram.
      • "bar": Detta visar data som ett stapeldiagram.
    • Duration: En sträng som beskriver tidsperioden under vilken mätningarna kommer att tas för hela rapporten, i formatet "värde" + "enhet", där värde är ett nummer och enhet är en av följande: "s" för sekunder, "m" för minuter, "d" för dagar, "h" för timmar, "w" för veckor, "M" för månader och "y" för år.

    • Distance (valfritt): En sträng som beskriver tidsavståndet mellan mätningarna, i formatet "värde" + "enhet", där värde är ett nummer och enhet är en av följande: "s" för sekunder, "m" för minuter, "d" för dagar, "h" för timmar, "w" för veckor, "M" för månader och "y" för år.

För metod 2 är egenskaperna:
  • Measurement: En sträng som beskriver typen av mätning som utförs, för närvarande stöds endast "deviceCount" för den specialrapport som listar alla IoT-noder som ägs av användaren. Om "deviceCount" anges ska värdet på nyckeln "deviceCount" vara inställt på "true" för att aktivera denna specialrapport.
  • deviceCount: Ett booleskt värde som ska sättas till "true" om mätningen är "deviceCount".
För metod 3 är ytterligare egenskaperna:
  • Query: En sträng eller ett objekt som beskriver typen av fråga som ska användas för att generera rapporten, de möjliga alternativen är:
    • "all": Detta kommer att generera en rapport som inkluderar alla IoT-noder som ägs av användaren. (t.ex., query: "all").
    • "query.deviceModelName": Detta kommer att generera en rapport som inkluderar alla IoT-noder som ägs av användaren som har det angivna enhetsmodellnamnet. (t.ex., query: {deviceModelName: "myDeviceModelName"}).
    • "query._id": Detta kommer att generera en rapport som inkluderar alla IoT-noder som ägs av användaren som har den angivna enhetsmodellens ID. (t.ex.,query: {_id: "63a2d11212169cf61ae14385"}).
Observera att de egenskaper som nämns ovan är specifika för varje metod, och inte alla egenskaper gäller för varje metod för att definiera en rapport.