Hallo
ich möchte gerne einen "Alarm" auslösen wenn die Luftfeuchtigkeit im Wohnzimmer über einen bestimmten Wert steigt. Der Alarm soll in Form einer Lampe die blinkt stattfinden. Außerdem soll der Alarm nur passieren wenn es zwischen 6-22 Uhr ist.
mit
define Alarm DOIF ([06:00-22:00] and [Wohnzimmer_Heizung_Weather:humidity] > 60) (set HUEDevice4 blink 20)
habe ich es hinbekommen. Wie bekomme ich es jedoch hin, dass die Lampe wieder ihren vorherigen Zustand erreicht, wenn sie fertig mit dem Blinken ist?
Du könntest das eventuell über einen Dummy (DataStore_HUEDevice4) lösen, der den aktuellen Wert "zwischenspeichert". Ich kenne zwar die Readings des HUE-Moduls nicht, aber von der Idee her in etwa so:
define Alarm DOIF ([06:00-22:00] and [Wohnzimmer_Heizung_Weather:humidity] > 60)
(setreading DataStore_HUEDevice4 last_reading [HUEDevice4:DEINREADING], set HUEDevice4 blink 20, set HUEDevice4 DEINREADING [DataStore_HUEDevice4:last_reading] )
...
Dann noch ein entsprechendes wait-attr.
Keine Gewähr, nur ein Denkansatz!
dazu fällt mir spontan lightscene ein:
https://fhem.de/commandref.html#LightScene
vielleicht hilft dir das weiter.
Gruß Michael
Zitat von: tomster am 11 Dezember 2018, 15:54:58über einen Dummy (DataStore_HUEDevice4)
Statt DataStore_HUEDevice4 $SELF verwenden, spart nen extra Dummy.
Alternativ HUEDevice4 verwenden, das speichert den Wert beim Device statt beim DOIF. Sinnvoll, wenn es mehrfach gebaucht wird oder das DOIF (später) mehrere Räume überwacht.
Stümmt. $SELF oder im Device selbst ist natürlich intelligenter. Hab ich im Moment gar nicht drangedacht.
Für das System wird es keinen Unterschied (Last) machen, aber beim Überwachen (Fehlersuche u.ä.) brauche ich ein Browserfenster weniger ;)
Vielen Dank für eure Antworten!