MENU

Ausdrücke


Ausdrücke werden in Smart Rules "Gleichung" und "Formel" verwendet.

Bei Modbus-Geräten können zusätzliche Funktionen zum Lesen / Schreiben von Werten aus / in Modbus-Register verwendet werden.

Beispiele:

Mathematische Ausdrücke

+, -, *, /

(20.5 + 9.5) / 2    (15)

Logische Ausdrücke

AND, OR, !, =, !=, >, <

(!IsRaining OR (Wind>30))
MultiValueSwitchState != 2 (Not equal to 2)

Funktionen

IF

IF(logical_expression, value_if_true, value_if_false)

Gibt einen Wert zurück, wenn ein logischer Ausdruck 'TRUE' ist, und einen anderen, wenn er 'FALSE' ist.

LINEAR

Gibt den linear angepassten Wert zurück - lineare Interpolation.


LINEAR(input, value1_input, value1_output, value2_input, value2_output)

Example 1: LINEAR(250,  0,0,  50,500)   (Result is 25°C)

Example 2: LINEAR(Co2,  400,0,  1200,1)
(If value from Co2 sensor is 400ppm, output for air recovery will be 0%. If Co2 is 1200, output will be 100%. And if e.g. Co2=800, output will be 50%)

SCHALTER

SWITCH(expression, case1, value1, [case2, ...], [value2, ...], default_value)

Testet einen Ausdruck anhand einer Liste von Fällen und gibt den entsprechenden Wert des ersten übereinstimmenden Falls mit einem Standardwert zurück, wenn nichts anderes erfüllt ist.


Example


Configuration

ReadState ... SWITCH(MODBUSR(H, 168, UInt16),   0, 0,   0x02, 1,   0x04, 2,   0x08, 3,   0x10, 4,   0x40, 5, 0x800, 6,   0)
WriteState ... MODBUSWNE(H, 168, UInt16, SWITCH(Mu,   0, 0,   1, 0x02,   2, 0x04,   3, 0x08,   4, 0x10,  5, 0x40,   6, 0x800,  0)

Result

MIN

MIN(value1, value2)

Gibt den kleineren der beiden Werte zurück.


Max

MAX(value1, value)

Gibt den größeren der beiden Werte zurück.


RUNDEN

ROUND(value1)    

Gibt den gerundeten Wert zurück.

Example 1: ROUND(2.01) (Result is 2)

Example 2: ROUND(2.49) (Result is 2)

Example 3: ROUND(2.5) (Result is 3)

Example 4: ROUND(2.99) (Result is 3)

Supported since Core version 2018.1.9562


TAUPUNKT

DEWPOINT(temperature, relativeHumidity)

Gibt die Taupunkttemperatur bei der aktuellen Temperatur und relativen Luftfeuchtigkeit zurück. Der Taupunkt wird nach folgender Gleichung berechnet: http: //bmcnoldy.rsmas.miami.edu/Humidity.html.


Example 1: DEWPOINT(20, 50) (Result is ~9.26)

Example 2: DEWPOINT(0, 100) (Result is 0)

Supported since Core version 2018.1.9623


Bit-Operationen

<<   (LEFT BIT SHIFT)

8 << 2   (32)

>> (RIGHT BIT SHIFT)

32 >> 2   (8)

& (BITWISE AND)

3 & 1   (1)

| (BITWISE OR)

2 | 1 (3)

Hexadezimalzahlen

Ausdrücke können auch hexadezimale Zahlen interpretieren. Das Präfix 0x ist erforderlich und der Rest unterscheidet nicht zwischen Groß- und Kleinschreibung.

0x0A (10)

0xA0A0   (41120)
0xa0a0   (41120)

Modbus

Folgen Sie diesem Link, um weitere Informationen zur Modbus-Konfiguration zu erhalten: https://taphome.com/de/support/15597569.