Hallo, ich steuere mit dem Modul THRESHOLD einen Entfeuchter. Jetzt möchte ich das der Entfeuchter aus geht sobald eines der beiden Fenster im Raum geöffnet wird. Mit einem Fenster ist das kein Problem. Nur zwei Fensterkontakte kann ich bei dem THRESHOLD nicht angeben. Ich wollte ich einen Dummy erstellen mit dem Name Fenster auf. Die Dummy soll eingeschaltet sein wenn eines der Fenster auf ist.
Mit dem unten stehen Code müsste es ja theoretisch bei einem Fenster funktionieren ( tut es aber nicht.....) Wenn das funktionieren würde dann würde ich versuchen den Code irgendwie auf zwei Fenster umzubasteln.... man merkt ich bin da nicht ganz so fit......
Fensterkontakt_Sch {\
if (ReadingsVal("Fensterkontakt_Sch", "state ", "open") eq "open"){\
fhem("Fenster_Sch_auf on");;\
}else{\
fhem("Fenster_Sch_auf off");;\
}\
}
vielen dank für eure Hilfe
Kennst Du das Modul structure?
Als <struct_type> "room" angeben, das sollte statt des Dummy in Verbindung mit clientstate_priority auf "open" das gewünschte Ergebnis liefern.
Gruß, Beta-User
Warum nimmst du nicht Doif?define Entfeuchter doif ([Fenster:state] eq "opened" or [Fenster2:state] eq "opened") ( set Endfeuchter on) Doelse (set Entfeuchter off)
Zumindest in der Art und weise!
Grüße
Zitat von: Esjay am 14 Juli 2017, 16:24:17
Warum nimmst du nicht Doif?
Nicht jeder will das (https://forum.fhem.de/index.php/topic,66830.0.html)...
Zitat von: Esjay am 14 Juli 2017, 16:24:17
Warum nimmst du nicht Doif?define Entfeuchter doif ([Fenster:state] eq "opened" or [Fenster2:state] eq "opened") ( set Endfeuchter on) Doelse (set Entfeuchter off)
Zumindest in der Art und weise!
Grüße
Wenn die Fensternamen einer bestimmten Systematik folgen, dann kann man bei DOIF inzwischen Mehrfach-Abfragen mithilfe von https://fhem.de/commandref_DE.html#DOIF_aggregation recht einfach definieren:
fenster_offen DOIF ([#"^Fenster":state:"opened"] == 2)
attr fenster_offen cmdState on|off
übersetzt heißt das, wenn die Anzahl der Devices, die mit "Fenster" im Namen beginnen und den Status "opened" haben, zwei ist, dann ist fenster_offen on sonst off.
Das korrekte Modul für diese Anforderung ist Structure. Genau dafür ist es gedacht.
Hallo,
ich habe es jetzt mit dem Modul Structure gemacht und es funtioniert so wie ich es haben wollte :-) Ich habe ja lange gegoogelt.... aber auf das Modul bin ich nicht gestoßen...
Vielen vielen dank für die schnelle Hilfe!
Kann man eigentlich in den THRESHOLD eine Einschaltverzögerung einbauen? Also wenn beide Fenster zu sind soll erst nach 5 Minuten der Entfeuchter angehen.... Aber ich glaube das währe ein neues Thema... fals ich es selber nicht hinbekomme......
Gruß
Thorsten
Zitat von: jailbreaker07 am 14 Juli 2017, 21:05:19
Kann man eigentlich in den THRESHOLD eine Einschaltverzögerung einbauen? Also wenn beide Fenster zu sind soll erst nach 5 Minuten der Entfeuchter
Gruß
Thorsten
nein, das kann THRESHOLD nicht, alternativ ohne THRESHOLD
entfeuchter DOIF ([#"^Fenster":state:"opened"] == 0 and [sensor:humid] > [desired:humid]) (set entfeuchter on) DOELSE (set entfeuchter off)
attr entfeuchter wait 300:300
ohne THRESHOLD und ohne Structure - kürzer wirst du es nicht hinbekommen ;)