Automationen¶
Die Automationen-Ansicht ist der Ort, an dem ein Nutzer Regeln erstellt und verwaltet. Sie bildet die serverseitige Regel-Logik – Trigger, Aktion und Operatoren – in einer Oberfläche ab. Jede Regel folgt dem IFTTT-Muster Wenn dies, dann das: Tritt an einem Gerät ein Ereignis ein, wird an einem anderen eine Aktion ausgelöst.
Backend
Diese Seite behandelt die Bedienung in der App. Was eine Regel bedeutet, wie sie ausgewertet wird und welche Operatoren es gibt, steht im Kapitel Automationen (Backend).
Aufbau der Ansicht¶
Die Automationen erreichen Nutzer über einen eigenen Tab. Dort sind zwei Bereiche sichtbar: eine Liste der bereits angelegten Regeln und der Editor zum Erstellen oder Bearbeiten einer Regel. Jede bestehende Regel wird als Karte dargestellt, die ihren Namen, den Trigger und die Aktion zusammenfasst und einen Schalter zum Aktivieren bzw. Deaktivieren besitzt.
Die Liste wird über den Hook useRules geladen, der die Regeln von der REST-API abruft.
Regel erstellen und bearbeiten¶
Der Editor führt den Nutzer durch die beiden Hälften einer Regel: den Trigger („wenn …") und die Aktion („dann …"). Beide werden nach demselben Schema zusammengeklickt:
- Gerät wählen. Über ein Dropdownmenü wird zunächst das Trigger- bzw. Aktionsgerät ausgewählt.
- Capability wählen. Anschließend zeigt die App nur die Capabilities dieses Geräts an, die für den jeweiligen Zweck sinnvoll sind (siehe unten).
- Bedingung bzw. Wert festlegen. Beim Trigger folgen Operator und Vergleichswert, bei der Aktion der zu setzende Zielwert.
Aufgelistete Regeln
Die Regeln eines Geräts werden in der App nur angezeigt, wenn diese Gerät auch in der App eingebunden bzw. hinterlegt ist. Um neue Regeln zu definieren, müssen also mindestens zwei Geräte in der App eingebunden sein, damit ein Trigger- und ein Aktionsgerät ausgewählt werden können.
graph LR
subgraph Trigger["Wenn (Trigger)"]
TG["Gerät"] --> TC["Capability"] --> TO["Operator"] --> TV["Wert"]
end
subgraph Aktion["Dann (Aktion)"]
AG["Gerät"] --> AC["Capability"] --> AV["Wert"]
end
Trigger --> Aktion
Optional lässt sich die Regel benennen sowie mit einer Beschreibung versehen.
Über die Schaltfläche „Speichern" wird die Regel an das Backend geschickt und in der Liste angezeigt. Die Regel ist nun aktiv.
Nur sinnvolle Kombinationen¶
Die App schränkt die Auswahl bewusst so ein, dass keine unlogischen Regeln entstehen.
Eine Capability, die keinen lesbaren Zustand hat, darf nicht als Auslöser ausgewählt werden.
So kann etwa ein Impuls (Typ IMPULSE, z. B. ein Taster) nicht als Trigger gewählt werden, weil er keinen Wert liefert, gegen den sich eine Bedingung prüfen ließe.
Zudem bietet der Operator-Picker nur die Vergleiche an, die für den Typ Sinn ergeben:
| Capability-Typ | angebotene Operatoren |
|---|---|
NUMBER |
==, !=, >, >=, <, <=, „geändert" |
ON_OFF, ENUM, TEXT, MESSAGE |
==, !=, „geändert" |
Wird der Operator „geändert" (CHANGED) gewählt, entfällt das Wertefeld, da die Regel dann allein auf die Änderung reagiert.
Verwalten bestehender Regeln¶
Aus der Liste heraus lässt sich jede Regel über ihren Schalter aktivieren oder deaktivieren, ohne sie zu löschen, um eine Automation vorübergehend auszusetzen. Über den Editor kann eine bestehende Regel bearbeitet oder gelöscht werden.