DOIF Hinzuaddieren von Wert in einem Vergleich

Begonnen von Svnm, 13 August 2016, 10:17:57

Vorheriges Thema - Nächstes Thema

Svnm

Hallo,

ich würde gerne in einer Bedingung prüfen, ob eine Temperatur überschritten wird, welche in einem Dummy festgelegt ist + einen festen Wert hinzuaddiert.

Leider funktioniert folgende Bedingung nicht:
([Thermostat_A_Weather:temperature:d] > {([Dummy_Grenze:d] + 0.2)})

Ich hoffe, ihr habt verstanden, was ich bauen möchte und könnt mir weiterhelfen.

Vielen Dank!

Ellert

Bitte poste Deinen Code in Code-Tags, das ist lesbarer.

([Thermostat_A_Weather:temperature:d] > [Dummy_Grenze:d] + 0.2)


Damian

Zitat von: Ellert am 13 August 2016, 11:09:05
Bitte poste Deinen Code in Code-Tags, das ist lesbarer.

([Thermostat_A_Weather:temperature:d] > [Dummy_Grenze:d] + 0.2)

noch die entsprechende Klammerung, dann sollte es funktionieren:

([Thermostat_A_Weather:temperature:d] > ([Dummy_Grenze:d] + 0.2))

Geschweifte Klammern in der DOIF-Bedingung gibt es nur in Zeitangaben bei Funktionen, die eine Zeit im Format HH:MM oder HH:MM:SS liefern.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Svnm

Hallo, vielen Dank. Es funktioniert nun mit
([Thermostat_A_Weather:temperature:d] > ([Dummy_Grenze:d] + 0.2))

Eine Frage ist jetzt noch aufgetreten. Ich bin gerade dabei ähnliche DOIFs zu basteln, bei denen ich die Außentemperatur verwende.
(([Thermostat_A_Weather:temperature:d] - 5) > [Aussen:temperature:d])

Was passiert nun, wenn die Außen-Temperatur im Minusbereich liegt? Wird das Minus-Zeichen durch das :d abgeschnitten?
Ich will ja nicht, dass bei einer Temperatur von -15°C in dem DOIF eine 15°C wird.

Damian

Zitat von: MMeier67 am 13 August 2016, 22:01:53
Hallo, vielen Dank. Es funktioniert nun mit
([Thermostat_A_Weather:temperature:d] > ([Dummy_Grenze:d] + 0.2))

Eine Frage ist jetzt noch aufgetreten. Ich bin gerade dabei ähnliche DOIFs zu basteln, bei denen ich die Außentemperatur verwende.
(([Thermostat_A_Weather:temperature:d] - 5) > [Aussen:temperature:d])

Was passiert nun, wenn die Außen-Temperatur im Minusbereich liegt? Wird das Minus-Zeichen durch das :d abgeschnitten?
Ich will ja nicht, dass bei einer Temperatur von -15°C in dem DOIF eine 15°C wird.

hiernach http://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen

entspricht :d dem regulären Ausdruck: (-?\d+(\.\d+)?) und damit wird das Minuszeichen übernommen.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF