Triggerkarte wird ausgelöst, aber Flow stoppt

Homey 29. Aug. 2025
Triggerkarte wird ausgelöst, aber Flow stoppt

Einleitung

Die Entwicklung von Smart-Home-Anwendungen erfordert ein tiefes Verständnis der zugrunde liegenden Logik und der Funktionsweise von Trigger- und Aktionskarten. In diesem Artikel wird ein spezifisches Problem behandelt, das bei der Verwendung von Homey auftritt, wenn eine Triggerkarte ausgelöst wird, der Flow jedoch nicht wie erwartet fortgesetzt wird.

Problem

Bei der Implementierung einer einfachen App in Homey wird die Triggerkarte zwar ausgelöst, der Flow stoppt jedoch nach der Ausführung der Triggerkarte. Dies führt dazu, dass die nachfolgende Aktionskarte nicht ausgeführt wird, was die Funktionalität der App beeinträchtigt.

Lösung

Um das Problem zu beheben, muss sichergestellt werden, dass die Triggerkarte nach ihrer Ausführung einen Wert zurückgibt. In diesem Fall sollte die Rückgabe von true aus dem Run-Listener der Triggerkarte erfolgen. Dies signalisiert dem Flow, dass die Ausführung fortgesetzt werden kann.

Beispielcode

this.homey.flow.getTriggerCard("message-processing").registerRunListener(async (args) => {
  this.log("Processing Message Trigger.");
  return true; // Rückgabe von true, um die Ausführung fortzusetzen
});

Schritte

  1. Überprüfe den Code der App und stelle sicher, dass die Triggerkarte korrekt registriert ist.
  2. Füge die Rückgabe von true in den Run-Listener der Triggerkarte ein.
  3. Teste die App erneut, um sicherzustellen, dass die Aktionskarte nach der Triggerkarte ausgeführt wird.

Hintergrundwissen

Homey ist eine Plattform zur Automatisierung von Smart-Home-Geräten, die es Entwicklern ermöglicht, benutzerdefinierte Apps zu erstellen. Trigger- und Aktionskarten sind zentrale Komponenten dieser Plattform, die es ermöglichen, Ereignisse zu verarbeiten und darauf zu reagieren. Ein häufiges Problem bei der Entwicklung ist das korrekte Management des Flusses, insbesondere die Rückgabe von Werten aus Listenern.

Hinweise & Best Practices

  • Achte darauf, dass alle Run-Listener in der App korrekt implementiert sind und die erforderlichen Rückgabewerte liefern.
  • Dokumentiere alle Änderungen im Code, um die Nachverfolgbarkeit zu gewährleisten.
  • Teste die App regelmäßig, um sicherzustellen, dass alle Funktionen wie erwartet arbeiten.