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!
Bitte poste Deinen Code in Code-Tags, das ist lesbarer.
([Thermostat_A_Weather:temperature:d] > [Dummy_Grenze:d] + 0.2)
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
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.
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