Diese Woche möchte ich eine Möglichkeit vorstellen, wie man mit einem Türkontakt automatisch den Anwesenheitsstatus ändern kann.
Prinzipiell eine simple Aufgabe, wenn da nicht der Umstand wäre, dass man beim Verlassen des Hauses und öffnen der Haustüre nicht gleich wieder den Status auf Anwesend setzen möchte.
Letztendlich muss man im Workflow 3 Bedingungen abfragen:
- Türkontakt hat ausgelöst
- Anwesenheitsstatus ungleich Anwesend
- Letzte Änderung des Anwesenheitstatus länger als zB 5 Minuten her.
Hier die einzelnen Schritte für eine Realisierung:
Auslösung des Türkontakts ermitteln:
Letzte Änderung des Anwesenheitsstatus länger als 5 Minuten zurück:
Hier ist wichtig zu wissen, dass die Veränderung von Zeitstempeln in den Workflows bzw. in PHP durch addieren von Sekunden möglich ist. Wenn der Wert der letzten Änderung + 300 Sekunden kleiner ist als der aktuelle Zeitstempel, dann ist die letzte Änderung des Anwesenheitsstatus bereits länger als 5 Minuten her.
Anwesenheitsstatus ungleich Status „Anwesend“:
Der Wert 0 für „Anwesend“ kann natürlich bei jedem abweichen und folgt der Logik des jeweiligen Benutzers.
Diese 3 Bedingungen werden mit einem UND verbunden:
Bei Eintreffen aller Bedingungen wird der Anwesenheitsstatus auf „Anwesend“ gesetzt:
Hier nochmals der gesamte Workflow im Edit bzw. Live Modus: