Homey Community Forum

Flows werden nicht korrekt ausgeführt

Hi,

ich habe für unsere Markise einen Flow erstellt, so dass diese sich bei bestimmten Bedingungen öffnen soll.

Mein Problem ist nun, dass des öfteren nur der Wert des Sonnensensor berücksichtigt wird und die Temperatur ignoriert wird. Habe ich hier einen Logikfehler drin?

Versuch mal das:
Wenn:
Die Temperatur hat sich geändert.
oder
Die Helligkeit hat sich geändert
Und (logic):
Die Temperatur ist größer als 25 Grad
Die Helligkeit ist größer als 24000
Dann:
Markise auf 55% fahren
Sonst:
Markise auf 0% fahren

1 Like

Damit habe ich auch geliebäugelt aber unter „Wenn“ bekomme ich ja nur einen Auslöser. So müsste ich zwei Flows erstellen.

Die Karte “Die Temperatur wird mehr als 25 °C” berücksichtigt nur eine Temperaturänderung von unter auf über 25 °C. Temperaturschwankungen über 25 °C werden nicht berücksichtigt. Da die Temperatur über den Tagesverlauf üblicherweise kontinuierlich steigt und irgendwann wieder sinkt, tritt dieser Wechsel (von < 25 °C auf > 25 °C) nur 1x/Tag auf. Sollte zu diesem (einen) Zeitpunkt der Lux-Wert kleiner 24.000 sein, wird die Markise nicht ausgefahren.

Bei “Wenn…” musst Du eine Logik-Karte wählen (Logik → X ist größer als). Und als X nimmst Du entweder den zugehörigen “Lokal Tag” oder den zugehörigen Sensorwert.

Erstellt habe ich ihn jetzt so

Dennoch fehlt mir hier die Helligkeit. Beißt sich das nicht, wenn ich jetzt noch nen zweiten für die Helligkeit erstelle?

Was ich damit meine der erste Flow für Temperatur wird ausgeführt und Markise wird ausgefahren. Zwei Sekunden später wird der andere Flow ausgeführt und weil die Helligkeit nicht passt wird die Markise wieder eingefahren.

Am Ende möchte ich vermeiden, dass die Markise unnötig aus- und eingefahren wird.

Ob Du einen oder zwei Flows (oder mehrere) benötigst kommt letztendlich darauf an, was Du genau möchtest.
Zu dem aktuellen Flow kann man noch eine weitere Logik-Karte hinzufügen, wie es @Undertaker ja beschrieben hat:

Und…
– Temperatur ist größer als 25 °C
– Helligkeit ist größer als 24.000 Lux

Die Markise wird ausgefahren, wenn beide Bedingungen (Temp. und Lux) stimmen. Allerdings ist zu beachten, dass bei jeder Temperaturänderung der Flow neu getriggert wird, auch bei Temperaturänderungen über 25 °C (z.B. von 25,9 auf 26,0 °C). Sollte in diesem Moment der Lux-Wert kleiner 24.000 sein, was z.B. durch eine kleine Wolke verursacht werden kann, werden nicht mehr beide Bedingungen erfüllt und die Aktion unter “Sonst” wird ausgeführt, die Markise wird also eingefahren.
An Tagen mit partieller Bewölkung könnte es tatsächlich sein, dass die Markise ständig raus- und wieder reinfährt.

Damit das nicht passiert muss man weitere Flows erstellen und einen Timer einbauen und ggfs. eine Variable nutzen.

1 Like

Okay verstehe. Habe den Flow angepasst. So sollte einer erst mal ausreichen.

Flows die partielle Bewölkung berücksichtigten sind in Arbeit. Diese sind erst dieses Jahr nötig geworden.

So könnte das mit einer separaten Variable für die Helligkeit aussehen.

Die Markise fährt raus, wenn die Temp. größer 25 °C ist bzw. Temperaturänderungen über 25 °C festgestellt werden und die Variable für die Helligkeit (CV_Markise) auf Ja steht:

Die Variable für die Helligkeit wird sofort auf Ja gesetzt, sobald die Helligkeit 24.000 Lux überschreitet:

Wird die Helligkeit < 24.000 Lux und die Variable für die Helligkeit (CV_Markise) steht auf Ja, wird ein Timer von 5 Minuten gestartet:

Ist der 5 Minuten Timer abgelaufen, wird die Variable für die Helligkeit (CV_Markise) auf Nein gesetzt (Darstellungsfehler beim Teilen!):

Wird die Helligkeit mehr als 24.000 Lux während der Timer läuft (welcher ja die Variable von Ja auf Nein setzen soll = Markise einfahren), wird der Timer gestoppt, die Variable bleibt auf Ja und die Markise wird nicht eingefahren:

Zusammenfassung:
Durch den Einsatz eines Timers (welcher bzgl. der Zeit beliebig angepasst werden kann), wird die Markise nicht direkt bei jeder kleinen Wolke eingefahren.
Wie bereits erwähnt, das Umschalten der Variable wird immer nur dann berücksichtigt, wenn sich die Temperatur ändert (Flow 1 (Markise)). Man könnte auch noch einen weiteren Flow erstellen in dem die Änderung der Variable von Ja auf Nein das Einfahren der Markise direkt auslöst, dann müsste in dem ersten Flow “Markise” die “Sonst” Aktion aber entfernt werden.
Auch könnte man Flows erstellen, dass die Markise bei einer Helligkeit von mehr als 24.000 Lux (und einer Temperatur von über 25 °C) nicht sofort ausfährt. Usw., usw…

1 Like