@pierre-gilles, ist dieses Mockup schon aussagekräftig?
(öffentlicher Zugriff) Mockup: Zustand zu einem bestimmten Zeitpunkt abrufen.
Funktionale Spezifikation
- « Letzten Zustand abrufen » wird zu « Zustand abrufen »
- Der Zustand eines Geräts kann auf verschiedene Arten abgerufen werden:
- Letzter Wert
- Relativer Zeitpunkt (Vor …)
- Nach Datum
- Über einen Zeitraum
Details der genannten Möglichkeiten
1. Letzter Wert
Genau das, was derzeit gemacht wird, und recht aussagekräftig 
2. Relativer Zeitpunkt
Hier geht es darum, sagen zu können: Ich möchte den Wert von vor 10 Minuten vergleichen (basierend auf der Ausführungszeit der Szene).
Man kann zwei Werte im Abstand von 10 Minuten vergleichen, ohne darauf zu warten!
Wenn die Szene um 12:00 Uhr ausgeführt wird und der Benutzer « vor 10 Minuten » ausgewählt hat, wird der Wert mit dem von 11:50:00 Uhr verglichen (±30 Sekunden, um einen Wert zu finden). Wenn zwischen 11:49:30 Uhr und 11:50:30 Uhr kein Wert gefunden wird, schlägt der Test fehl.
3. Nach Datum
Das ist ein bisschen ähnlich wie relativer Zeitpunkt, aber man kann ein genaues Datum ohne besondere Einschränkungen angeben. Man kann also Werte im Abstand von mehreren Tagen oder sogar Monaten vergleichen.
Man kann sich hier vorstellen, einen Vergleich mit einem « Referenzwert » an einem bestimmten Datum durchzuführen.
Achtung hier: Der Benutzer muss gewarnt werden, wenn er ein Datum wählt, für das kein Wert existiert.
4. Über einen Zeitraum
Ich finde das ist das Interessanteste: Der Benutzer kann einen Wert mit allen Werten vergleichen, die während eines bestimmten Zeitraums abgerufen wurden.
Beispiele:
- Man kann überprüfen, ob ein Bewegungssensor in den letzten 10 Minuten eine Bewegung erkannt hat (basierend auf der Ausführungszeit der Szene).
- Man kann überprüfen, ob eine Steckdose in den letzten 30 Minuten einen bestimmten Sofortleistungspegel verbraucht hat
- usw…
Im Fall eines Sensors (oder Aktuators), dessen Werte sich sehr häufig ändern und nicht unbedingt binär sind (Temperatur, Verbrauch in Watt, Helligkeit in Lux usw.), wird der im Szenario für den Test verwendete « Referenzwert » mit allen aufgezeichneten Werten verglichen.
Wenn ich überprüfen möchte, ob meine Steckdose in den letzten 30 Minuten weniger als 15W verbraucht hat, wird der Test wie folgt geschrieben: « Meine Steckdose » < « 15W » in den « letzten 30 Minuten ».
Gladys wird dann in der Datenbank überprüfen, ob alle in den letzten 30 Minuten abgerufenen Werte nicht über 15W liegen.
Abruf der Testwerte
Wie beim Block « Letzten Wert abrufen » sollte der während der Tests verwendete Wert automatisch abgerufen werden (Aufzeichnungszeit des Werts + Wert).
Beispiel:
- Ich führe einen Test am Gerät « mein-sensor » durch, um zu überprüfen, ob in den letzten 10 Minuten Bewegung stattgefunden hat, also zwischen 11:50 und 12:00 Uhr (Ausführungszeit der Szene).
- Wenn Bewegung aufgezeichnet wurde, sagen wir um 11:56 Uhr, werden zwei Variablen in der Szene erstellt: « mein-sensor-test-1-wert » und « mein-sensor-test-1-zeit ».
- Ich kann eine Nachricht mit diesen beiden Variablen senden, um mich zu warnen « Bewegung erkannt (value = 1) um 11:56 Uhr. »