Philosophische Frage

Hallo allerseits
Ich habe eine eher Philosophsche Frage, und möchte erfahren, wie Ihr das anwendet.
Ist weder dringend noch kritisch, aber es regt zum denken, oder eben zum philisophieren an.
Gespannt und interessiert freue ich mich auf spannende Antworten und die jeweiligen Begründungen und Erfahrungen.

Folgende Ausgangslage:
Per WebHook wir in homee ein HG gestartet, welches dann ein (leeres) Status HG entweder aktiviert oder deaktiviert. Diesen Status nutze ich um „zuwissen“, ob das TOR offen oder zu ist. aktiv = „TOR offen“ und passiv = „TOR zu“.

Nun habe ich viele, je ca. 5 bis 9 Folgeaktionen,
welche bei einem Statuswechsel erfolgen sollen.

Welche Variante empfehlt ihr, und vorallem warum:

A:
Jedes HG wird gestartet, wenn es einen Statuswechsel erkennt, also den Wechsel als Trigger

B:
Im ersten HG, also das, wo den WebHook erhält, welchsel ich den STATUS und starte ich dann auch alle folge HG.

Überlegungen:
A:
Vom „programmieren“ her ist es schöner, wenn jedes HG selber auf den Statuswechsel achtet und startet. So können HGs unabhängig hinzu gefügt oder entfernt werden.
–> Angst: beim Statuswechsel triggern nicht alle HGs

B:
Jedes nötige HG wird direkt gestartet, u.U. mit Abstand von einer sec.
–> Angst: Muss für jedes HG immer auch das WebHook HG anpassen

Also, wie macht Ihr das, habt ihr noch weitere Varianten ?

Ich denke, das ist zu allgemein gefasst, um eine eindeutige Antwort zu geben.

Ich fasse zusammen:
Ein externes Gerät verschickt einen WebHook, damit aktivierst du ein Dummy HG
Jetzt willst du verschiedene Aktionen auslösen. Wenn die alle immer abgespielt werden, warum dann überhaupt ein Status HG?
Webhook -> HG abspielen -> in dem HG sind alle Aktionen drinnen

Alternative: Du hast mehrere Aktionen, aber diese werden aufgrund unterschiedlicher Bedingungen nicht immer abgespielt. Oder die Aktionen werden nicht nur durch das Status HG abgespielt, sondern einzeln auch von anderen Auslösern. Daher hast du da mehrere HGs.
Dummy HG bleibt bestehen
Jedes andere HG: Wenn Dummy HG wird aktiviert, dann mache xy wenn Bedingung yx zutrifft
Eine zeitliche Verzögerung würde ich nicht einbauen, das starten von HGs bekommt homee schon hin.
Die Variante mit dem Statuswechsel und jedes HG schaut selber auf den Wechsel würde ich bevorzugen, da die Pflege der HGs einfacher wird. a.) du schreibst ein neues HG und hast direkt den Auslöser (sonst würdest du ein HG schreiben und das Dummy HG dann mit einer Aktion anpassen) b) du kannst einzelne Aktionen (HGs) später leicher mal deaktivieren/anpassen (was einfacher ist als in dem Dummy HG eine Aktion zu löschen und später wieder hinzuzufügen)

Hallo @sira
ich nutze tatsächlich beide Varianten und konnte bei keiner große Nachteile erkennen. Vermutlich ist es einfach Geschmacksache…
Ist es für dich okay, wenn ich es aus dem Supportbereich verschiebe? So ein richtiger Supportfall ist es ja doch nicht…
:coffee:

Die Frage wär philosophisch angehaucht, hättest du homee in diesem Szenario zur Disposition gestellt. So ist sie eher praktischer Natur denn philosophischer.

:wink: klugscheiss-Ende :nerd_face: :beers:

Ich würde Variante A bevorzugen. Bei komplexen Lösungen stelle ich mir immer die Frage, ob ich die Lösung noch durchschaue, wenn ich mich einige Zeit lang nicht damit beschäftigt habe. Deine Variante A entspricht letztlich dem System der Stati Urlaub, Abwesend, usw. Damit ist die Vorgehensweise konsistent mit anderen Lösungen, die Du schon gebaut hast oder vielleicht irgendwann bauen wirst. Oder in Deinen Worten: es existiert damit eine durchgängige Designphilosophie :wink:.