Ich frage mich, wie ist die generelle Logik beim Scripten? Gibt es irgendeine Best practice?
Man überlege sich folgendes Szenario: Ich habe ein Keymatic Türschloss (Motor am Schlieszylinder), und iwll dass das Schloss abends zu einer bestimmten Uhrzeit automatisch abgeschlossen wird. Dazu könnte ich einen Event anlegen, der immer zu einer bestimmten Zeit ausgeführt wird.
Wenn allerdings in dem Moment die Tür gerade offen ist, z.B. weil jemand durchgeht, schließt sich trotzdem das Schloss und die Tür lässt sich danach nicht mehr schließen (weil der Schiessriegel raussteht). Also muss ich vor dem Schließen des Schlieszylienders prüfen, ob die Tür nicht gerade offen ist.
Dazu lege ich einen Event an, der um 20 Uhr ausgeführt wird mit einem runScript-Aufruf. In dem Script prüfe ich dann vorher, ob die Tür offen ist. Wenn die Tür offen ist, erzeuge ich einen neuen (einmaligen) Event eine Minute später und versuche es wieder. Das wiederhole ich in einer Schleife bis die Tür zu ist und der Schlieszylinder geschlossen werden kann.
Jetzt wüsse ich gerne, wie man solche Regeln am besten abbildet. Baut man sich dazu eine Art “Scheduler”, ein Haupt-Script welches jede Minute läuft und die Aktionen triggert, oder wie würdet ihr das machen? Gewisse Aktionen müssen ja auch häufiger als minütlich ausgeführt werden. Hier fehlt es mir leider an einer erkennbaren Struktur, wie man sowas gut abbilden kann, ohne dass man nach kurzer Zeit ein Wildwuchs von Scripts hat und Abhängigkeiten von Scripts, die nicht mehr erfüllt werden können. Die Wartbarkeit ist dann schnell dahin …
Würde mich freuen, wenn es hier mal Berichte von euren Setups gäbe.
Gruß, Andreas