(Gelöst) DOIF => dewpoint, Differenz berechnen, Klammersetzung?

Begonnen von Rince, 08 Juni 2015, 21:37:25

Vorheriges Thema - Nächstes Thema

Rince

Hi,

ich möchte beim öffnen eines Fensters (gz_TK_Fenster) und einer Taupunktdifferenz >2 einen Ventilator angehen lassen.
Wird das Fesnter geschlossen, oder die Taupunktdifferenz ist <=2 soll der Ventilator ausgehen.


Folgender Code:
define di_gz_Ventilator DOIF ([gz_TK_Fenster] eq "opened") and {([gz_TF_TEMPERATUR:dewpoint]-[Aussenthermometer:dewpoint]) > 2} (set gz_SD_Ventilator on) DOELSEIF ([gz_TK_Fenster] eq "closed") or {([gz_TF_TEMPERATUR:dewpoint]-[Aussenthermometer:dewpoint]) <= 2} (set gz_SD_Ventilator off)


Führt zu folgender Fehlermeldung:
Zitatdi_gz_Ventilator DOIF: expected DOELSEIF or DOELSE: and {([gz_TF_TEMPERATUR:dewpoint]-[Aussenthermometer:dewpoint]) > 2} (set gz_SD_Ventilator on) DOELSEIF ([gz_TK_Fenster] eq "closed") or {([gz_TF_TEMPERATUR:dewpoint]-[Aussenthermometer:dewpoint]) <= 2} (set gz_SD_Ventilator off)

Wo liegt bitte mein Fehler?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Damian

Zitat von: Rince am 08 Juni 2015, 21:37:25
Hi,

ich möchte beim öffnen eines Fensters (gz_TK_Fenster) und einer Taupunktdifferenz >2 einen Ventilator angehen lassen.
Wird das Fesnter geschlossen, oder die Taupunktdifferenz ist <=2 soll der Ventilator ausgehen.


Folgender Code:
define di_gz_Ventilator DOIF ([gz_TK_Fenster] eq "opened") and {([gz_TF_TEMPERATUR:dewpoint]-[Aussenthermometer:dewpoint]) > 2} (set gz_SD_Ventilator on) DOELSEIF ([gz_TK_Fenster] eq "closed") or {([gz_TF_TEMPERATUR:dewpoint]-[Aussenthermometer:dewpoint]) <= 2} (set gz_SD_Ventilator off)


Führt zu folgender Fehlermeldung:
Wo liegt bitte mein Fehler?

In der Bedingung sind geschweifte Klammern an dieser Stelle, wie bei Perl, fehl am Platz, dann eher:


define di_gz_Ventilator DOIF ([gz_TK_Fenster] eq "opened" and ([gz_TF_TEMPERATUR:dewpoint]-[Aussenthermometer:dewpoint]) > 2)
  (set gz_SD_Ventilator on)
DOELSEIF ([gz_TK_Fenster] eq "closed" or ([gz_TF_TEMPERATUR:dewpoint]-[Aussenthermometer:dewpoint]) <= 2)
  (set gz_SD_Ventilator off)


Gruß

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

Rince

Danke dir :)

Schwupps springt der Ventilator an :) (hab grade das Fenster aufgemacht ;) )
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)