Homey Community Forum

Herausfinden wo ein Flow deaktiviert wird

Hallo zusammen,
ich habe einen Flow der das Licht in anderen Räumen schneller ausschaltet, wenn dort keine Bewegung mehr ist. Im Falle von Besuch habe ich einen Besuchsmodus, der dieen Flow deaktiviert. Damit eine Bewegung im Wohnzimmer nicht etwa das Badlicht deaktivert, obwohl dort ggf. eine Person ist.

Nun ist es komischerweise so, dass häufiger nach einer Nacht dieser Flow deaktiviert wurde. Ich finde jedoch keinen anderen Flow, der diesen “Licht schneller aus” Flow deaktiviert fernab des Besuchsmodus. Ich habe allerdings eine lange Liste von Flows. Gibt es einen Weg hier über alle Flows hinweg eine bestimmte Aktion zu suchen? Eben ob doch noch irgendwo eine solche Aktion existiert?

Ansonsten wäre meine Vermutung, dass beim Ausschalten des Besuchsmodus trotz Delay manche Flows nicht ausgeführt werden. Es ist auch häufiger so, dass die Homey LED (Ring) weiter leuchtet, obwohl es eigentlich abends automatisch ausgehen soll. Offenbar bleibt auch hier mal eine Aktion hängen. Ich habe einen Homey Pro.

Vielen Dank!

Ich bin bei komplexen bzw. verschachtelten Flows dazu übergegangen grundsätzlich ein Logging einzubauen z.B. mit PaperTrails Logbuch App für Homey | Homey

Hilft schnell eigentlich ungeahnte Zusammenhänge aufzuzeigen.

2 Likes

Hast du schon mal in der Timeline nachgeschaut, ob der Flow wegen zu häufigem aufrufen automatisch deaktiviert wird ?

Ansonsten arbeite ich gerne mit Variablen. Das kann die Anzahl der Flows erheblich reduzieren und macht die Suche nach Fehlern oft einfacher.

Zusätzlich zum guten tipp von Joka:

Um herauszufinden, was Ihre Flows wann tun und wie oft (pro (m)Sekunde), können Sie die Papertrails-App installieren und Logkarten zu all Ihren Flows in nur einem Durchgang hinzufügen.
Es fügt auch ELSE-Logcards hinzu, falls verwendet.
Es ersetzt sogar SimpleLog-Karten, falls vorhanden.
Es ersetzt keine bestehenden Papertrails-Logcards.

Gehe zu (mit Chrome browser oder Firefox): homeybackup.web.app
Stellen Sie sicher, dass Sie ein aktuelles Backup erstellt haben

Das Skript stoppt beim ersten unterbrochenen Flow. Hier erfahren Sie, wie Sie eine Liste aller unterbrochenen Flows erhalten, damit Sie sie reparieren oder löschen können:

Wählen Sie dann ganz unten links Papertrails

und dann Wartung (Maintenance) aus.
Folgen Sie von dort aus einfach den Anweisungen.

Überwachung Ihrer Logs/Flows:

  • Über die mobile Homey-App: Gehen Sie zu Apps/Papertrails und klicken Sie auf “Konfigurieren”
  • Oder über developer appsettings und wählen Sie Papertrails.
    Auf diese Weise können Sie Ihre Flows in Echtzeit überwachen, ohne die mobile Homey-App verlassen zu müssen.
    Oder Sie können auf einem PC/Laptop Ihre Flows bearbeiten und die Protokolle mit zwei Browserfenstern nebeneinander überwachen.
    (Ggl translated)
4 Likes

@Peter_Kawa schöne Zusammenfassung und um ehrlich zu sein ich kannte alle Feature noch gar nicht. THX

1 Like

Hast du einen Tipp für mich wo ich diese finde? Ich habe in der App und unter Homey Developer dazu nichts gefunden. Eigentlich aktiviert jeder Bewegungsmelder eines anderen Raums fernab des Wohnzimmers einen Lichtblocker von 2-3 Minuten. In dieser Zeit wird der Flow dann nicht ausgeführt (Bedingung Lichtblocker Chronograph Timer läuft nicht), damit es nicht endlos oft das Licht ausschaltet. Zusätzlich wird nach jeder Flowausführung auch ein Lichtblocker Timer gestartet, sodass nicht jede Bewegung im Wohnzimmer wieder zur Flowausführung führt.

Ich nutze auch schon einige Variablen z.B. für die Raffstore Steuerung am Abend / Morgen, ob ich Zuhause bin oder nicht. Aber hier erschien mir auf den ersten Blick der Timer praktischer. Wenn der Flow nicht deaktiviert ist funktioniert auch alles wie geplant. Oder hättest du hier eine gute Idee für ein alternatives Variablen Handling?

Licht schneller aus Flow:

Licht aus Aktion Timer Ende:

Beispiel Bewegungmelder Küche:

Küche Licht:


@Peter_Kawa @Joka

Vielen Dank für die Hinweise, werde ich mich heute Abend oder sobald Zeit mal näher mit beschäftigen und melde mich dann erneut :slight_smile:

Kannst du mir diesen Schritt noch näher erklären? Habe die App installiert, aber keine Log Karten und es kommen auch keine Log Einträge dazu. Finde über die Konfiguration der App leider auch keinen Weg dazu.

Einfach weiter lesen😉

Achso dachte das wäre nur für das Backup, aber ich habe das Athom Abo dafür. Habe eben das Logging überall hinzugefügt und behalte die Logs mal im Blick. Danke dir!

Das Script wird im Web API Playground ausgeführt unter Developer ausgeführt?

Mein Ergebnis:

{
  "Plug 01": "Router"
}

Edit: Etwas zu unachtsam gewesen. Jetzt habe ich u.a. das Auto Update aller Apps deaktiviert:

Habe es so wieder korrigiert:

Homey.apps.getApps().then(f => Object.values(f).reduce((r,b)=>Object.assign(r, !b.autoupdate ? Homey.apps.updateApp( { id : b.id , "app" : { "autoupdate" : true }} ) : {[b.name]:b.autoupdate}), {}));

Ich kenne mich mit Java Script soweit aus, aber wollte mal fragen ob mir jemand erklären könnte, was hier genau passiert?

// Get list all Apps with Auto Update setting
Homey.apps.getApps().then(f => Object.values(f).reduce((r,b)=>Object.assign(r, {[b.name]:b.autoupdate}), {}));

Insbesondere bei dem Then Teil mit dem f => Object.values(f) und .reduce() Part.
Ich vermute die Objektliste wird f zugewiesen und mit reduce reduziert. Aber welchen Inhalt haben r & b?

Homey.apps.getApps().then(f => Object.values(f).reduce(r,b))

Wirft: “r is not defined”