ich habe im Homey alle Familienmitglieder eingerichtet: Erwachsene als Bewohner, die Kinder als Gäste (die haben teilweise auch ein Smartphone mit Homey-App).
In einigen Flows möchte ich die Familie per Push-Nachricht informieren. Das sieht z.B. so aus:
Jeden Montag wird ein Alarm 7:00 Uhr ausgelöst, der an Tagen die kein Feiertag sind die Bewohner übers Schuhereinstellen informieren soll. Klappt auch soweit.
Allerdings hab ich die selbe Nachricht in 4 Karten verwendet. Bei Änderungen am Text muss ich jede Karte anpassen. Gibts einen Trick, wie ich die Nachricht als Text speichern und dann in den Karten verwenden kann ?
Ich möchte aber keine globale Variable dafür verwenden. Kann man das zur Ausführungszeit des Flows als “lokale” Variable erzeugen ?
Mir sind zwei Apps bekannt, mit denen man temporäre (Text-)Variablen erstellen kann, die dann auch nur in diesem Flow genutzt werden.
– Temporäre Variablen
– Custom Logic
Man braucht dann also nur 1x den Text in der Flow-Karte Textvariable ändern und alle erhalten die identische Push-Benachrichtigung.
Die Custom Logic App umfasst deutlich mehr Funktionen als die Temporäre Variablen App und gefällt mir persönlich eigentlich besser, aber leider ist die CL App tlw. noch fehlerhaft, z.B. beim Generieren einer Zufallszahl.
Bzgl. des Arbeitsspeichers benötigt die CL bei mir ca. 3-4 MB mehr, mMn also vernachlässigbar. Vielleicht einfach mal beide ausprobieren, wobei Die TV für diesen Zweck definitiv ausreichen würde.
Ich hab mal ein wenig mit Custom-Logic rumgespielt und leider nicht ganz das gewünschte Ergebnis erzielt.
Was soll erreicht werden ?
Eine wöchentliche Benachrichtigung, wenn:
kein Feiertag ist
nur für Bewohner, die auch da sind
gleicher Text für alle
Zudem soll es in der Timeline einen Hinweis geben, wenn keine Benachrichtigung erstellt wird, weil Feiertag ist.
Was ist das Problem ?
Die Nachricht soll bei allen Bewohnern gleich sein und in einer temporären Variable gespeichert werden. Das Setzen der Variable ist aber nur als “DANN” möglich, müsste aber quasi unabhängig von der Bedingung sein.
Der Ablauf sieht ja so aus:
WENN: Alarm triggers
UND: kein Feiertag & ( Person A anwesend | Person B anwesend | Person C anwesend )
DANN: je anwesender Person eine Nachricht mit Text senden
Ich weiss leider nicht, wie ich die Variable im “DANN-Teil” setze und erst danach auf die “UND-Bedingung” komme. Das wäre in der Logik doch:
WENN → UND (Feiertag) → DANN (Variable setzen) → UND (Person X anwesend) → DANN (Nachricht senden)
Geht das überhaupt ? Oder bin ich total falsch unterwegs ?
Nein, ich vermute das wird so nicht funktionieren, da die temporäre Text-Variable Benutzerdefinierter Text (Ende 1. Flow) nicht in dem 2. Flow enthalten ist.
Aber warum testest Du den Flow nicht einfach mal? Das funktioniert zwar nicht wenn Du die erste Flow-Karte Alarm über das Play-Symbol oder das Kontext-Menü Von hier aus testen benutzt, weil dann der 2. Flow nicht gestartet wird, aber über einen virtuellen Button den Du dann über die Smartphone App drückst oder über eine Zeit-Karte wäre das ja problemlos möglich. Vielleicht als Tipp fürs nächste Mal.
Der Vorteil von Advanced Flow ist u.A. ja auch, dass man Bedingungskarten (Und…) und Aktionskarten (Dann…) beliebig hintereinander aufreihen kann:
Flow mit Variable → wird als Aufruf-Parameter übergeben und triggert dann die Notification (siehe Bild oben)
=> Funktioniert einwandfrei
Flow wie von Dir beschrieben
=> Funktioniert einwandfrei
Klasse! Mir war nicht klar, dass ich hinter “DANN” auch wieder “WENN/ODER/UND”-Bedingungen hängen kann - quasi kann man sehr flexibel verschachtelte Bedingungen bauen. Hab ich gleich viel mehr Möglichkeiten