Aus dem obigen, schematischen Diagramm lassen sich die Dialogzustände leicht ablesen. Es ergeben sich also:
Dieser Dialog lässt sich in dieser Form durch eine Kombination des Dialog- und Akonadi-Plugins umsetzen.
Die drei Zustände können direkt als solche angelegt werden. Der Text wurde dabei mit Hilfe des Template-Systems variabel gehalten und mit gebundenen Werten parametrisiert.
So wurde der Name des Systems als statische Variable ($simon$) angelegt um es später leichter an passen zu können. So wäre z.B. denkbar, eigene Sprachausgabe-Texte von einem/-r PflegerIn aufnehmen zu lassen und „simon“ mit dem entsprechenden Namen zu ersetzen.
Den Zuständen wurden jeweils mehrere Texte zugewiesen. Beim Auslösen des Dialoges wird dann ein Text aus allen Texten des Zustandes ausgewählt und angezeigt bzw. ausgegeben um die Dialoge nicht zu eintönig erscheinen zu lassen.
Das Templating-System wurde verwendet um mittels eines Parameters die Dialoge entweder formell oder informell wirken zu lassen. Dazu muss nur der Wert des entsprechenden Templateparameters geändert werden.
Der Dialog soll zu einer gewissen Zeit gestartet werden. Dazu verwenden wir eine Kalenderanbindung mit dem Akonadiplugin.
Mit Hilfe des Akonadiplugins können simon Kommandos zeitgesteuert ausgelöst werden. Mit der unteren Konfiguration kann der „Medikamente“ Dialog (simon Trigger: „Medikamente“) also mittels eines Kalendereintrags mit Titel „[simon-command] Dialog//Medikamente“ ausgelöst werden.
Wiederholende Termine werden unterstützt und können für tägliche Erinnerungen verwendet werden.
Im „Eingenommen“ Zustand gibt es nur eine Option („Beenden“) die nach 7 Sekunden (nachdem der Dialogtext gesprochen wurde) automatisch ausgelöst wird.
Auch im „Noch nicht eingenommen“ Zustand existiert eine ähnliche Option. Wird diese ausgelöst, wird jedoch gleichzeitig ein Akonadi-Kommando ausgelöst das den Dialog später erneut starten soll.
Damit wurde der oben schematisch dargestellte Dialog komplett in simon umgesetzt.