new _DataArchive()

Datenarchiv.
Darf nicht direkt instanziert werden. Eine Instanz der Klasse wird von der Methode HomeServerConnector._Connection#getDataArchive erzeugt.

Example

var da = conn.getDataArchive("DA@MyDataArchive", function(err, data) {});

Methods

destroy()

Gibt das Objekt frei und hebt ein eventuell vorhandes Abonnement auf.

Example

da.destroy(); 

getData(startDate, blockCount, blockSize, columnList, callback)

Ruft eine Auswahl von Daten aus dem Archiv ab. Die Auswahl wird über die Parameter spezifiziert.

Examples

Abruf der Archiv-Spalten 1, 3 und 4 vom 01.01.2016, ab 14:00 für einen Zeitraum von 60 Minuten: 30 Einträge, von denen jeder die Werte aus 2 Minuten zusammenfasst.

var startDate = new Date(2016, 0, 1, 14, 0);  // 01.01.2016 14:00
da.getData(startDate, 30, 2, ['#1', '#3', '#4'], function(err, data) {});

Abruf der Archiv-Spalten mit den Spaltentiteln "TARGET" und "ACTUAL" für einen Zeitraum, der vor 12 Stunden begann und 6 Stunden dauert: 24 Einträge, von denen jeder die Werte aus 15 Minuten zusammenfasst.

var startDate = da.getStartDateFromHours(12);  // NOW - 12 hours
da.getData(startDate, 24, 15, ['TARGET', 'ACTUAL'], function(err, data) {});

Parameters

Name Type Optional Description

startDate

Date

 

Datum-Objekt. Start-Zeitpunkt ab dem die Daten geliefert werden sollen.

blockCount

Number

 

Anzahl der Datenblöcke die ausgeliefert werden sollen.

blockSize

Number

 

Größe eines Datenblocks (in Minuten).

columnList

Array

 

Liste von Spalten die angezeigt werden sollen. Entweder werden hier Schlüssel oder Indizes aufgelistet. Handelt es sich um einen Index, muss dem Wert ein '#' vorangestellt werden. Die Indizes entsprechen den von links nach rechts laufend durchnummerierten Spalten des Archivs, beginnend mit '1'.

callback

function()

 

HomeServerConnector._DataArchive~getDataCallback

getKey() → String

Liefert den Schlüssel des Objekts zurück.

Example

var object_key = da.getKey(); 
Returns

String 

getMeta(callback)

Ruft die Meta-Daten ab.

Example

Abruf der Meta-Daten

da.getMeta(function(err, data) {});

Parameter

Name Type Optional Description

callback

function()

 

HomeServerConnector._DataArchive~getMetaCallback

getStartDateFromDays(hours) → Date

Liefert einen für den Archiv-Abruf getData() korrekt formatierten 'Start-Datum'-String. Übergeben wird eine Tages-Anzahl. Das erzeugte Datum ist JETZT - Tages-Anzahl

Parameter

Name Type Optional Description

hours

Number

 

Anzahl Tage, die vom aktuellen Zeitpunkt abgezogen werden.

Returns

Date Datum.

getStartDateFromHours(hours) → Date

Liefert einen für den Archiv-Abruf getData() korrekt formatierten 'Start-Datum'-String. Übergeben wird eine Stunden-Anzahl. Das erzeugte Datum ist JETZT - Stunden-Anzahl

Parameter

Name Type Optional Description

hours

Number

 

Anzahl Stunden, die vom aktuellen Zeitpunkt abgezogen werden.

Returns

Date Datum.

getStartDateFromWeeks(hours) → Date

Liefert einen für den Archiv-Abruf getData() korrekt formatierten 'Start-Datum'-String. Übergeben wird eine Wochen-Anzahl. Das erzeugte Datum ist JETZT - Wochen-Anzahl

Parameter

Name Type Optional Description

hours

Number

 

Anzahl Wochen, die vom aktuellen Zeitpunkt abgezogen werden.

Returns

Date Datum.

Abstract types

inner

getDataCallback(err, data)

Examples

Abruf der Archiv-Spalten 1, 3 und 4 vom 01.01.2016, ab 14:00 Uhr für einen Zeitraum von 60 Minuten: 30 Einträge, von denen jeder die Werte aus 2 Minuten zusammenfasst.

var startDate = new Date(2016, 0, 1, 14, 0);  // 01.01.2016 14:00
da.getData(startDate, 30, 2, ['#1', '#3', '#4'], function(err, data) {});

Abruf der Archiv-Spalten mit den Spaltentiteln "TARGET" und "ACTUAL" für einen Zeitraum, der vor 12 Stunden begann und 6 Stunden dauert: 24 Einträge, von denen jeder die Werte aus 15 Minuten zusammenfasst.

var startDate = da.getStartDateFromHours(12);  // NOW - 12 hours
da.getData(startDate, 24, 15, ['TARGET', 'ACTUAL'], function(err, data) {});

# Structure of the returned 'data' object with example values for the above call in the 2nd example
    {
      "columns": {
        "ACTUAL": {
          "sum": [31, 32, 31, 33],
          "cnt": [2, 2, 2, 2],
          "min": [15, 16, 15, 16],
          "max": [16, 16, 16, 17]
        },
        "TARGET": {
          "sum": [34, 34, 34, 34],
          "cnt": [2, 2, 2, 2],
          "min": [17, 15, 17, 17],
          "max": [17, 19, 17, 17]
        },
      }
    }

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Archiv-Informationen

Struktur

{
  "columns": {
    "COLUMN_KEY": {
      "sum": Array of Number,
      "cnt": Array of Number,
      "min": Array of Number,
      "max": Array of Number,
    }
  }
}

Erklärung

  • columns - Objekt, enthält alle angefragten Spalten als Schlüssel.
    • COLUMN_KEY - Objekt, enthält Informationen zur angefragten Spalte. Wird für jede abgefragte Spalte genau einmal zurückgegeben. Der Platzhalter COLUMN_KEY wird dabei durch den im Experte vergebenen Spaltentitel ersetzt.
      Die Anzahl der Listeneinträge ist bei den folgenden 4 Listen gleich groß und entspricht der abgefragten Anzahl an Blockeinträgen (blockCount)
      • sum - Liste mit Summen. Jeder Listeneintrag entspricht der Summe aller Werte, die innerhalb eines Blocks (Block-Zeitraums) aufgezeichnet wurden.
      • cnt - Liste mit Anzahlen. Jeder Listeneintrag entspricht der Anzahl der Werte, die innerhalb eines Blocks (Block-Zeitraums) aufgezeichnet wurden.
      • min - Liste mit Minimal-Werten. Jeder Listeneintrag enthält den kleinsten aller Werte, die innerhalb eines Blocks (Block-Zeitraums) aufgezeichnet wurden.
      • max - Liste mit Maximal-Werten. Jeder Listeneintrag enthält den größten aller Werte, die innerhalb eines Blocks (Block-Zeitraums) aufgezeichnet wurden.
inner

getMetaCallback(err, data)

Example

Abruf der Meta-Daten

da.getMeta(function(err, data) {}); 

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur

{
  "keys":        Array of String,
  "caption":     String,
  "description": String,
  "tags":        Array of String,
  "size":        Number,

  "stat": {
      "first":   Number,
      "last":    Number,
      "count":   Number
  },

  "cols": [
    {
      "idx":     Number,
      "key":     String,
      "caption": String
    }
  ]
}

Erklärung

  • keys - Liste mit Schlüsseln (z.B.: ["DA:2", "DA@MyDataArchive"]). Enthält mindestens einen Eintrag.
  • caption - Bezeichnung des Objekts.
  • description - Beschreibung des Objekts.
  • tags - Liste von Tags (z.B.: ["BM", "Light"]).
  • size - Maximale Größe des Ringpuffers.
  • stat - Objekt, enthält Informationen über den Inhalt des Archivs.
    • first - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) des ältesten Eintrags im Archiv.
    • last - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) des jüngsten Eintrags im Archiv.
    • count - Anzahl der Einträge im Archiv.
  • cols - Liste der Spalten-Objekte.
    • idx - Index der Spalte.
    • key - Schlüssel der Spalte.
    • caption - Bezeichnung der Spalte.