Werte berechnen: Der Calculator

Der Calculator ist ein Service, der es ermöglicht, eingehende Daten mithilfe mathematischer Ausdrücke zu transformieren, neu zu berechnen und zusammenzufassen. Zum Beispiel können Werte von Watt in Kilowatt umgerechnet werden, indem sie bei Empfang durch 1000 geteilt werden. Der umgerechnete Wert wird dann im entsprechenden Attribut angezeigt, in dem die Berechnung durchgeführt wurde.

Beispiele

Werte umrechnen

  • Watt in kW:

    {Wert}/1000
  • Grad Celsius in Grad Fahrenheit [F=(1.8×C)+32]

    (1.8*{Wert})+32

Neue Werte berechnen

  • Behaglichkeit anhand von Formeln berechnen

    (0.8 * {temperature}) + (0.2 * {humidity})
  • People Counter addieren

    [10.input.count] + [11.input.count] + [12.input.count]
  • Verbrauch mehrerer Zähler addieren

    [10.input.power] + [11.input.power] + [12.input.power]
  • Wert ist zwischen 1 und 80 dann Status "0 = Ok" andererseits "1 = Alarm"

    not(inrange(1, {Wert}, 80))
  • Heizung an- oder ausschalten basierend auf der Temperatur(0 auf "aus" mappen 1 auf "ein" mappen)

    {temperature} < 20 ? 1 : 0

Syntax

Um Berechnungen mit Attributen durchzuführen, setzen Sie die Namen der Attribute in geschweifte Klammern. Dies ermöglicht den Zugriff auf die Werte dieser Attribute.

Zugriff auf Attribute innerhalb eines Assets

Sie können direkt auf die Werte der Attribute zugreifen, die vom selben Typ sind. Zum Beispiel:

{temperature} + {humidity}

Zugriff auf Attribute verschiedener Typen innerhalb eines Assets

Wenn Sie auf Attribute unterschiedlicher Typen innerhalb desselben Assets zugreifen möchten, verwenden Sie die folgende Syntax:

  • {input.temperature}: Zugriff auf das Attribut "temperature" des Eingabetypen

  • {status.temperature}: Zugriff auf das Attribut "temperature" des Statustypen

  • {output.temperature}: Zugriff auf das Attribut "temperature" des Ausgabetypen

Zugriff auf Attribute von anderen Assets

Um auf die Werte von Attributen anderer Assets zuzugreifen, verwenden Sie die folgende Syntax:

[asset_id.attribut_type.attribut_name]

Beispiel

[10.input.power] + [11.input.power] + [12.input.power]

In diesem Beispiel werden die Werte des Attributs "power" der Assets mit den IDs 10, 11 und 12 addiert.

Berechnungen ausführen

Sie können an 2 Orten in Eliona Berechnungen mit Attributen ausführen:

  • Im Asset-Template

  • Im einzelnen Asset

Im Asset-Template werden Standardberechnungen festgelegt, die auf alle mit diesem Template erstellten Assets angewendet werden. Diese Berechnungen können jedoch bei Bedarf individuell in den einzelnen Assets überschrieben werden.

Vermeide es im Asset-Template auf Attribute anderer Assets zuzugreifen, denn sollten sich diese ändern führt dies zu Problemen und es müssen alle Berechnungen neu erstellt werden.

Eine Berechnung in einem Asset-Template ausführen

  1. Öffnen Sie ein bestehendes Asset-Template bzw. erstellen Sie ein neues Asset-Template

  2. Öffnen Sie ein bestehendes Attribut bzw. erstellen Sie ein neues Attribut

  3. Sie können in Feld [A] Berechnungen ausführen. Diese Berechnungen gelten dann für alle Assets dieses Typen, können jedoch dann auch im einzelnen Asset überschrieben werden.

Eine Berechnung in einem Asset ausführen

  1. Öffnen Sie die ↗ Asset-Details

  2. Klicken Sie auf das Attribut, dessen Werte Sie berechnen wollen. ▷ Die Seitenleiste [A] öffnet sich

  3. Geben Sie in das Feld [B] Ihre Berechnung ein.

  4. Klicken Sie auf Speichern [X]

Attribute eines anderen Assets (Fremdwerte) in einer Berechnung verwenden

Diese Funktionalität ist nur möglich, wenn Sie Berechnungen in einem Asset ausführen.

  1. Öffnen Sie die ↗ Asset-Details

  2. Klicken Sie auf das Attribut, dessen Werte Sie berechnen wollen. ▷ Die Seitenleiste [A] öffnet sich

  3. Geben Sie in das Feld [B] Ihre Berechnung ein.

  4. Klicken Sie auf [C1], um das Asset auszuwählen, dessen Werte Sie in der Berechnung verwenden möchten.

  5. Klicken Sie auf [C3], um den Subtyp des Assets anzugeben.

  6. Klicken Sie auf [C4], um das das Attribut, das Sie verwenden möchten, anzugeben.

  7. Klicken Sie auf [C5], um Ihre Auswahl zu bestätigen. ▷ Die Angaben erscheinen nun in eckigen Klammern in Feld [B]

  8. Wenn Sie weitere Fremdwerte in die Berechnung mit einbeziehen wollen: 8.1. Klicken Sie auf [C2] 8.2. Wiederholen Sie die Schritte 4 bis 8

  9. Klicken Sie auf Speichern [X]

Berechnungsketten

Berechnungsketten entstehen automatisch, wenn Sie Berechnungen erstellen, sowohl innerhalb eines Assets als auch über mehrere Assets hinweg. Eine Berechnungskette liegt vor, wenn beispielsweise "Asset A von einem Wert aus Asset B abhängt, Asset B von einem Wert aus Asset C abhängt und Asset C von einem Wert aus Asset D abhängt".

Bei jeder Änderung eines Wertes in Asset A, der in Asset B verwendet wird, wird eine Berechnung für Asset B ausgelöst. Jede Änderung eines Wertes in Asset B, der in Asset C referenziert wird, führt zu einer Berechnung in Asset C.

Die Kette wird unterbrochen, wenn ein Schritt der Berechnung fehlschlägt oder den Filter nicht besteht. Dadurch wird die Anzahl der Ereignisse im System reduziert.

Operatoren und Funktionen

Hier sind die verfügbaren Operatoren und Funktionen aufgelistet.

Operatoren

GruppeOperatoren

Arithmetik

+, -, *, /, % (Modulus-Operator), ^ (Exponent)

Vergleich

==, !=, <, >, <=, >=

Logisch

not oder !, and oder &&, or oder

Bedingung

? (ternärer Operator - Bedingung ? Wert wenn wahr : Wert wenn falsch)

Funktionen

Funktionen können in der Syntax avg({Wert1},{Wert2},{Wert3}) verwendet werden

FunktionBeschreibung

avg

Gibt den Durchschnitt einer Liste von Werten zurück (beliebig viele Float-Werte)

max

Gibt den Maximalwert einer Liste von Werten zurück (beliebig viele Float-Werte)

min

Gibt den Minimalwert einer Liste von Werten zurück (beliebig viele Float-Werte)

abs

Gibt den absoluten Wert eines Wertes zurück (einzelner Float)

round

Rundet einen Wert auf die nächste ganze Zahl (einzelner Float)

pow

Exponentiation (2 Argumente, das 2. ist die Potenz)

sin

Sinus eines Wertes in Radiant

cos

Kosinus eines Wertes in Radiant

cosh

Hyperbolischer Kosinus eines Wertes in Radiant

cot

Kotangens eines Wertes in Radiant

csc

Kosekans eines Wertes in Radiant

sec

Sekans eines Wertes in Radiant

equal

Vergleicht zwei Zahlen mit einer Toleranz von 0,001

not

Invertiert einen booleschen Wert

rad2deg

Wandelt Radiant in Grad um

deg2rad

Wandelt Grad in Radiant um

inrange

Prüft, ob ein Wert innerhalb eines Bereichs liegt (linke Grenze, Wert, rechte Grenze)

history(reference, back_step)

Gibt einen historischen Wert eines Attributs zurück. reference ist die normale Referenz des Attributs (z.B. [asset_id.subtype.attribute]), und back_step ist eine negative Zahl, die angibt, welchen Wert aus der Historie Sie abrufen möchten. Beispiel: -1 gibt den vorherigen Wert zurück, -2 den vorletzten.

Diese Funktionen und Operatoren ermöglichen eine Vielzahl von Berechnungen und logischen Operationen in Ihren Berechnungen.

Last updated