Hauptmenü

DOIF löst nicht aus

Begonnen von B4unty, 19 Juli 2017, 14:31:59

Vorheriges Thema - Nächstes Thema

B4unty

Kann mir jemand sagen warum mein DOIF nicht auslöst❓( [8:00-21:30] and [T_Pool:temperature] < 25 and ([T_Solar:temperature]-[T_Pool:temperature]) > 20 ) (set SolarPumpe on-for-timer 360)

DOELSEIF ( [8:00-21:30] and [T_Solar:temperature] > 50 ) (set SolarPumpe on-for-timer 180)

DOELSEIF ( [8:00-21:30] and [T_Pool:temperature] < 25 and ([T_Pool:temperature] > [T_Aussen:temperature]) and ([T_Solar:temperature]-[T_Pool:temperature]) > 10 ) (set SolarPumpe on-for-timer 360)

DOELSEIF ( [22:00-7:30] and [T_Pool:temperature] > 25 and ([T_Pool:temperature]-[T_Solar:temperature]) > 3 ) (set SolarPumpe on-for-timer 360)

Frank_Huber

das wird dir niemand beantworten können ohne die readings zu kennen.

B4unty

Die Reading Ergebnisse stehen doch im Bild oder brauche ich andere Infos ?

Per

Es muss ja ausgelöst haben, sonst stände es nicht im cmd 1, sondern im cmd 0.

B4unty

Ja einmalig und dann nicht mehr obwohl ja wie zusehen die Bedingungen erfüllt währen.

B4unty

Hier noch die Einträge aus dem DOIF Tool

Per

Für mehrmals den selben Status musst du do always aktivieren.

Frank_Huber

Da hat mich mein Browser veräppelt. das Bild war vorhin nicht da. Sorry.
welche Attribute sind denn gesetzt? mach am besten mal ein "list"

um 12:44 hätte er auf CMD_2 gehen müssen. T_Solar war über 50 Grad.

Per

Zitat von: Frank_Huber am 19 Juli 2017, 15:06:31um 12:44 hätte er auf CMD_2 gehen müssen. T_Solar war über 50 Grad.
Wird aber trotzdem von Fall1 abgefangen.

Frank_Huber

Zitat von: Per am 19 Juli 2017, 15:20:13
Wird aber trotzdem von Fall1 abgefangen.

Wo Du Recht hast hast Du Recht! somit bleibt er innerhalb CMD_1 und löst nicht erneut aus. (abhängig von den Attributen)

B4unty

Zitat von: Per am 19 Juli 2017, 15:02:42
Für mehrmals den selben Status musst du do always aktivieren.
dann sollte es so siehe Bild gleich laufen❓

Beta-User

War es nicht so, dass das DOIF immer von links nach rechts auswertet, also: Solange ein weiter links/oben stehender Zweig wahr ist, wird nichts anderes ausgeführt?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

B4unty

#13
sollte es den dann so richtig sein? oder wo ist noch was falsch oder mus ich verändern?

define T_Difpool DOIF ( [8:00-21:30] and [T_Pool:temperature] < 25 and ([T_Solar:temperature]-[T_Pool:temperature]) > 24 ) (set SolarPumpe on-for-timer 360) \
\
DOELSEIF ( [8:00-21:30] and [T_Solar:temperature] > 50 ) (set SolarPumpe on-for-timer 180) \
\
DOELSEIF ( [8:00-21:30] and [T_Pool:temperature] < 25 and ([T_Pool:temperature] > [T_Aussen:temperature]) and ([T_Solar:temperature]-[T_Pool:temperature]) > 10 ) (set SolarPumpe on-for-timer 360)\
\
DOELSEIF ( [22:00-7:30] and [T_Pool:temperature] > 25 and ([T_Pool:temperature]-[T_Solar:temperature]) > 3 ) (set SolarPumpe on-for-timer 360)\

attr T_Difpool do always
attr T_Difpool group Schaltung
attr T_Difpool icon icoTempWasser
attr T_Difpool room Pool
attr T_Difpool state {([T_Solar:temperature]-[T_Pool:temperature])}
attr T_Difpool stateFormat {sprintf "%.1f °C", ReadingsVal($name, "state", 0)}

das ganze sollte eigentlich nur berücksichtigt werden wen die Poolpumpe off ist kann ich das einfach an erster stelle stellen und den rest mit DOELSEIF?

Frank_Huber

Problem ist doch dass der erste Zweig immer aktiv ist.
Warum nicht die Zweige vernünftig trennen?

einfach im ersten Zweig ein
and [T_Solar:temperature] <= 50 einfügen.