Zufallsgenerator - wie realisieren im Advanced Flow

Hallo,

ich stehe auf dem Schlauch: ich möchte einen Folgeschritt (Dann) per Zufall auswählen.

Beispiel Textansage:

  1. Die Tür ist offen.
  2. Die Tür ist nicht zu.

Zufällig soll der Text von 1 oder 2 genannt werden.

Was nimmt man dazu?

Zufälle kennt Homey nicht, du kannst dir aber mit einem Trick behelfen.
Erstell eine Zahlen-Variable. Lass einen Flow, zu von dir definierten Zeiten, z.B. alle 5 Sekunden, die Variable auf 1,2 oder 3 usw. setzen.
Erstell einen weiteren Flow. Wenn: dieser Flow gestartet wird. Und: Variable ist 1, dann sage das.
Mit Advanced Flows kannst du das in einem Flow zusammenfassen, dass Homey je nach Variable einen anderen Satz sagt.
Jetzt musst du nur noch bei deinem eigentlichen Flow unter “dann” den zuvor erstellten Flow auslösen lassen. Wenn du fleißig bist, kannst du Homey so zum gleichen Ereignis, dutzende verschiedene Sätze sagen lassen.

Ich dachte Homey kann auch so eine Art Javascript, da gibt es doch die Funktion random, oder übersehe ich was?

Kann man das nicht in einen Flow einbauen?

Keine Ahnung, so gut bin ich im programmieren nicht. Da gibt es aber mit Sicherheit eine Lösung mit Homey Script.

Bitteschön:

Es gibt aber noch weitere Möglichkeiten. Wenn es sich um mehr als 2 “Variablen” handelt, dann macht es Sinn entweder eine zufällige Variable berechnen zu lassen…

image

…oder tatsächlich ein Skript zu nutzen.

Edit

Beispiele mit mehreren “Zufallsvariablen” findest Du in diesem Beitrag:

1 Like

Geht doch auch einfacher :slight_smile:

Dieser Thread wurde aus dem englischen Forum verschoben. Wenn Sie Probleme damit haben, wenden Sie sich bitte an mich oder einen anderen Moderator.

Hier habe ich einen ähnlichen Fall: Ich frage nach verschiedenen Werten.

Kann man das auch eleganter lösen?

Einfach ist Ansichtssache.
Und hier gibt es genug zu sehen :wink:

Einfallsreiche Idee!

Ja, einfach mit einem Any (Oder):


(Andere App, selbes Prinzip)

1 Like

Stimmt, total einfach eigentlich…

Müsste nicht folgender Flow auch stetig hochzählen?

Ich habe leider immer nur 1 als Wert in der Variable stehen :frowning:

+1 ist falsch.
Die Berechnung einer Variable muss so aussehen:
{{TagderVariable+1}}

OH danke, dann ist ja auch mein ganzer Alarm-Workflow hier falsch:

So, oder?

image

Du musst statt des Variablennamens schon das passende Tag aus der Tag-Liste wählen (Gruppe “Logik”).
grafik

Sann sollte deine Variable als Tag in der Berechnung steen:
grafik
h

Ah, danke - schade, dass man die nicht direkt mit einem # referenzieren kann.

image

Komisch, das klappt bei mir garnicht:

Ich sehe zwar, dass die Variable hochgezählt wird, aber sie wird nicht im Log ausgegeben, noch wird sie korrekt ausgewertet:

|2023-03-06 09:05.01||Alarmschwelle: NaN|
|2023-03-06 09:05.29||Alarmschwelle: NaN|
|2023-03-06 09:05.53||Alarmschwelle: NaN|

Wird nie ausgelöst:

Sieht eigentlich alles richtig aus.
PaperTrails nutze ich nicht, deshalb kann ich nichts dazu sagen. Die Aktionskarten sehen aber definitiv korrekt aus. Vielleicht mal im entsprechenden Thread nachschauen oder das Problem melden:

Zum unteren Flow: Hast Du den Flow mal simuliert?

Er scheint jetzt zu funktionieren. Kann es sein, dass es etwas dauer, bis Flows übernommen werden?
Ich habe eigentlich nichts geändert.

Eigentlich nicht, ich hatte auch noch nie Probleme damit.