Halloo zusammen.
Ich habe mir ein DOIF zusammen gebaut, um die Beschattung in der Wohnung zu realisieren.
In einem Dummy wird die Temp. gesetzt, der Grenzwert, wo die Jallos runtgefahren werden sollen.
Wenn der eingestellte wert um 1°c unterschritten wird, sollen die Jallos wieder hochfahren.
Tun sie aber nicht, runter ja, wieder hoch nein. :-(
jemand eine Idee ???
Gruß
Sascha
([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] => [t_wz_grenze:state] and [Automatik] eq "an") (set group=Jallo 40) DOELSEIF ([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] <= ([t_wz_grenze:state]-1) and [Automatik] eq "an") (set group=Jallo 80)
Wie wäre es, die "Minus-1-Berechnung" wegzulassen und als Operator nicht <=, sondern nur < zu verwenden ?
([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] >= [t_wz_grenze:state] and [Automatik] eq "an") (set group=Jallo 40)
DOELSEIF ([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] < ([t_wz_grenze:state]) and [Automatik] eq "an") (set group=Jallo 80)
Gibt es eine Fehlermeldung?
Ein list von dem DOIF wäre Hilfreich, und zwar zu dem Zeitpunkt wo es hätte schalten sollen.
Vermutlich hat es was damit zu tun: http://fhem.de/commandref_DE.html#DOIF_Berechnungen_im_Ausfuehrungsteil
dann müste es (denke ich) so funktionieren
([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] >= [t_wz_grenze:state] and [Automatik] eq "an") (set group=Jallo 40)
DOELSEIF ([10:00-([TWL:ss_indoor]-[00:15])] and {([ts01:temperature] <= ([t_wz_grenze:state]-1))} and [Automatik] eq "an") (set group=Jallo 80)
Zitat von: kumue am 11 September 2016, 13:59:08
Wie wäre es, die "Minus-1-Berechnung" wegzulassen und als Operator nicht <=, sondern nur < zu verwenden ?
([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] >= [t_wz_grenze:state] and [Automatik] eq "an") (set group=Jallo 40)
DOELSEIF ([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] < ([t_wz_grenze:state]) and [Automatik] eq "an") (set group=Jallo 80)
Ich möchte da schon eine Hysteres drin haben von 1°C.
Hatte es auch mit dem THRESHOLD Modul versucht, dort wurden aber die Sensordaten nicht oft genug verarbeitet. Hatte dies auch mehrmals neu definiert, half alles nix. Also ab zum DOIF.
Gruß
Sascha
So, habe mal ein wenig herum gedoktert, und es funktioniert !!! :-)
Hier mal die definition des DOIF
([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] > [t_wz_grenze:state] and [Automatik] eq "an") (set group=Jallo 40) DOELSEIF ([10:00-([TWL:ss_indoor]-[00:15])] and [ts01:temperature] < ([t_wz_grenze:state]-1) and [Automatik] eq "an") (set group=Jallo 80)
Hoffe jemand kann dies gebrauchen!
Gruß Sascha
Könnte es damit zus'hängen, dass es in Perl >= und nicht => heisst? => ist der Zuweisungsoperator für einen Hash. Allerdings sollte es eine, wenn auch vllt. nicht unbedingt zielführende, Fehlermeldung gegeben haben.