Homey Community Forum

Bestätigungsmeldung wenn alle Rollläden unten sind

Hallo Leute!

Bitte um Euer logisches Denken:

Ich habe viele Rollläden, die über PHILIO PAN08 Module gesteuert werden.

Nun möchte ich einen Flow erstellen, der mir eine Push-Benachrichtigung schickt, wenn nach einem “Alles runter” -Befehl alle Rollläden auch tatsächlich ganz unten angekommen sind. Bzw. einen anderen Text, wenn dem nicht so ist.

Es sollen also alle Rollläden auf ihren “ganz unten” Status überprüft werden.

Nur bin ich noch nicht erfolgreich gewesen, was eine Überprüfung ALLER Rollläden angeht. Ich hab einmal einen Flow mit einer Logik eingebaut, der durch den “Alles zu” Flow getriggert wird:

Nach Schliessen der Rollläden und dem Ablauf der 30s (damit die Rollläden auch Zeit haben ganz unten anzukommen) wird also der zweite Flow getriggert. Aber ich bin mir nicht sicher, ob die Logik stimmt, den Dimmlevel hab ich ja nur von einem Rollladen genommen.

Danke für eure Unterstützung!

Greez Matt

und im ENGLISCH

This thread has been moved to the non-english forum, if you have any problems with that please feel free to contact me or another moderator.

Sorry!! :man_facepalming:t2::see_no_evil:

1 Like

Hallo Matt,

möchtest Du eine allgemeine Info über alle Rollläden bekommen, z.B. „Es sind nicht alle Rollläden geschlossen“, oder möchtest Du auch wissen, welcher/welche Rollläden nicht geschlossen sind?

Gruß
Dirk

Hi i Dirk!

Hmmmmm…

Es würde reichen, wenn bestätigt würde, dass ALLE geschlossen sind.
Allerdings wäre die zweite Variante auch sehr charmant!! :+1:t2:

LG Matt

Das „Problem“ bei der Variante „Meldung welche Rollläden geschlossen bzw. noch offen sind“ ist, dass dazu mindestens ein Flow pro Rollo plus 2, 3 weitere Flows benötigt werden. Deshalb habe ich gefragt.

Aber fangen wir mit der einfacheren Variante an, wobei es durchaus verschiedene Ansätze gibt.
Die benötigte Zeit zum Schließen der Rollläden hast Du schon mit dem Countdown Timer berücksichtigt. Du kannst den Flow „Fort Knox established“ aber auch einfach verzögert starten lassen, indem Du die 30 Sekunden einfach in die Karte „Start Fort Knox established“ bei „Verzögerung“ eingibst. So sparst Du Dir hier zumindest eine Karte.

In dem Flow „Fort Knox established“ musst Du bei UND alle Rollos per Logik-Karte abfragen.
WENN

  • Dieser Flow wurde gestartet

UND

  • Logik, Dimmlevel ist exakt 0 (von Rollo 1)
  • Logik, Dimmlevel ist exakt 0 (von Rollo 2)
  • Logik, Dimmlevel ist exakt 0 (von Rollo 3)
    usw.

DANN

  • Benachrichtigung „Alle Rollläden sind geschlossen“
    SONST (wird ausgelöst, wenn nicht alle Rollos Dimmlevel 0 melden)
  • Benachrichtigung „Es sind nicht alle Rollläden geschlossen“

Voraussetzung das die Flows funktionieren ist zum einen, dass die 30 Sekunden auch wirklich zum Schließen aller Rollläden reichen und zum anderen, dass die Logikkarten und Variablen stimmen. Ich habe keine Philio-Module im Einsatz, deshalb kann ich das nicht überprüfen.

Hallo Dirk,

vielen Dank für die detaillierte Beschreibung!

Da war ich ja fast knapp dran :smile:! Deinen Vorschlag mit den 30s Verzögerung werde ich gleich in den Flow einbauen!

Und dann den established-Flow komplettieren!
Melde mich dann wieder mit dem Ergebnis :sunglasses::+1:t2:!

Schönen Sonntag noch!

LG Matt

Probier es einfach mal aus, eventuell erstmal nur mit 2, 3 Rollos.
Bzgl. der anderen Variante mache ich mir mal Gedanken.

Dir auch einen schönen Sonntag!

Gruß
Dirk

Hallo Dirk!

Ich hab mir mal einen Test-flow zusammengeschnitzt, der 2 Rollläden schließt.

Und einen “Test zu Status” Flow, der mir bestätigen soll, ob es auch geklappt hat.

Siehe Bedingung:


Was ich komisch finde ist, dass ich bei der UND Bedingung nicht herauslesen kann, von welchen Rollläden die Logik-Dimmlevel herangezogen werden (das kann ich nur sehen, wenn ich den Dimmlevel hinzufüge, nachher nicht mehr).
Oder liegt hier ein Fehler vor?

Ich bin mir also leider noch immer nicht sicher, ob der Flow so korrekt ist, bzw. die DANN Meldungen sich auf die richtigen UNDS beziehen.

LG Matt

Da lieg Deinerseits kein Fehler vor. Das hat Ahtom einfach sehr unglücklich gelöst.

Sobald beide Bedingungen erfüllt sind wird die Aktion ausgeführt.
Wenn beide oder eine nicht erfüllt ist wird die sonst Aktion ausgeführt.

@Osorkon: danke für deine Bestätigung!

Dann bleibt nur noch die Lösung für “welcher der Rollläden hat nicht auf den Schließbefehl reagiert” offen!

Vielen Dank soweit an euch alle!!
Greez Matt

Das war ja auch die einfache Variante, wie ich oben geschrieben habe.
WENN alle Rollläden Dimmlevel 0 haben
DANN wird die erste Textnachricht ausgegeben „Rollläden sind geschlossen“
SONST (wenn also irgendein Rollo nicht auf Dimmlevel 0 steht) wird die zweite Nachricht ausgegeben „Es sind nicht alle Rollläden geschlossen“

Wenn Du die Ausgabe des Gerätes haben möchtest, welche den Zielzustand nicht erreicht hat. Muss Du Dir 2 Variablen (Typ Text) erstellen. Und pro Rolladen ein Flow erstellen, das je nach Zustand des Rolladens die eine oder andere Variable beschreibt.
Als Bsp. Variable1: Rolladen oben; Variable2: Rolladen unten

Wenn Flow wird abgespielt
Und Rolladen XY ist oben
Dann Variable Rolladen oben = Rolladen oben + Name Rolladen
Sonst Variable Rolladen unten = Rolladen unten + Name Rolladen

So kannst Du Dir die Rolläden mit den jeweiligen Zuständen oben/unten als Zusammengesetzten Text in eine Variable abspeichern und als Push oder Benachrichtigung ausgeben.

@fantross: die einfache Variante funktioniert nun sehr gut! Vielen Dank nochmals für deine Hilfe!

@Osorkon: danke für die Beschreibung, werde ich heute mal versuchen umzusetzen! :+1:t2:

Greez Matt

Fass doch alle Rolläden in einer Gruppe zusammen und dann kannst du den Gruppenstatus als Auslöser benutzen.
WENN
Rolläden 100%
DANN
Benachrichtigen

Aber dann weiß er ja nicht, welcher eventuell nicht geschlossen ist.
Die Gruppierung spart vielleicht ein paar Karten, das Ergebnis ist aber das selbe wie bei der einfachen Variante.

@Osorkon, ich kann Deinen Gedankengängen nicht folgen… :face_with_monocle:

Hier mal eine kleine Starthilfe.
Um Text-Variablen kontinuierlich beschreiben zu können, also nicht zu überschreiben, sondern den Text um den bestehenden Text zu erweitern, musst du Beim Wert die Variable davor setzen gefolgt von dem Text, welcher hinzugefügt werden soll.

Erstelle 2 Variablen vom Typ Text

  • Variable1: Rolladen oben

  • Variable 2: Rolladen unten

Hier ein Bespiel für 2 Rolläden

Flow 1: Status Rolladen WZ1

Flow 2: Status Rolladen WZ2

Hier Würden weiter Flows für weitere Rolläden folgen
Als Bedingung muss nicht zwingend der Status Oben/Unten abgefragt werden, genau so gut und in manchen Fällen vielleicht angebrachter ist der Dimm-Level.

Flow 3: Ein Flow welche die 2 Variablen löscht, (1 Leerzeichnen) als Inhalt

Flow 4: Ein Flow zur Ausgabe Statusabfrage Oben

Die Logik prüft ob die Variable ist exakt = Leerzeichen, dann sind alle Rolläden oben.
Wenn die Variable einen Text hat, sind es genau die Rolläden die noch nicht oben sind und werden dann ausgegeben.

Flow 5: Ein Flow zur Ausgabe Statusabfrage unten

Du kannst jetzt Dein Flow, welcher alle Rolläden hoch fährt dann um folgende Aktionen ergänzen.

  • Starte Flow 3 (erst mal die Variablen löschen)
  • Starte Flow 1 mit 30s Verzögerung (Beschreiben der Variable “Rolladen oben” oder “Rolladen unten”)
  • Starte Flow 2 mit 31s Verzögerung
    • Wichtig ist, dass du die Flows Status Rolladen xy nacheinander startest und nicht gleichzeitig
  • Starte Flow 4 mit 40s Verzögerung (Die Verzögerung so wählen, dass der Flow als letztes ausgeführt wird.

Im Flow Rolläden Runter Fahren ersetzt Du einfach den letzen Flow 4 durch Flow 5.

@fantross wird es mit den Bsp. Flows klarer?!