Sprachgesteuerter Kalender: Projektumfang

Juni 6, 2023Einblick

Im Rahmen eines Forschungsprojekts soll ein Mycroft Skill entwickelt werden, der es ermöglicht über Sprachkommandos Termine aus dem NextCloud Kalender abzufragen und in begrenzter Weise zu editieren und anzulegen. 

Auftrag

Für die Umsetzung des Auftrags wurde ein Rasberry Pi, ein Lautsprecher, sowie die Software Mycroft zur Verfügung gestellt. Der Auftrag beinhaltet ausschließlich die Entwicklung eines Mycroft Skills, welcher die Funktionalität ermöglicht, Termine aus einem verknüpften NextCloud Kalender abzufragen und dort Termine anlegen zu können. Die NextCloud Instanz wird bereitgestellt. Der zu entwickelte Mycroft Skill wird mit Python umgesetzt.

Funktionale Anforderungen

  • Verknüpfung mit NextCloud Calender
  • Der nächste Termin soll per Sprachkommando abgefragt werden können
User: What's my next appointment?
Mycroft: Your next appointment is on January 11, 2023 and is entitled Team Meeting
  • Alle Termine eines bestimmten Tages sollen per Sprachkommando abgefragt werden können
User: What are my appointments on January 11?
Mycroft: On January 11 you have two appointments:
Mycroft: Team Meeting
Mycroft: Sport at 8 PM
  • Ein neuer Termin soll per Sprachkommando in den Kalender angelegt werden können
  • Für einen neuen Termin soll die Möglichkeit bestehen, den Namen, das Datum und die Uhrzeit des Termins angeben zu können
User: Create a new appointment
Mycroft: Name a start time

User: January 11 at 5 PM
Mycroft: Name an end time

User: January 11 at 7 PM
Mycroft: Name a title

User: Coffee Break
Mycroft: I have created your appointment on January 11 at 5 PM with the title Coffee Break
  • Ein bestehender Termin soll per Sprachkommando unbenannt werden können (Annahme: Es gibt keine zwei Termine, die denselben Titel haben)
User: Change the appointment Coffe Break to Coffe Break with Simon
Mycroft: Your appointment is now entitled Coffe Break with Simon
  • Ein bestehender Termin soll per Sprachkommando gelöscht werden können (Annahme: Es gibt keine zwei Termine, die das selbe Startdatum haben und den gleichen Titel haben)
  • Bei dem Löschvorgang eines Termins soll eine Sicherheitsabfrage stattfinden
User: Delete an appointment

Mycroft: Name a day
User: January 11

Mycroft: Name a title
User: Coffe Break

-- Wenn meherere Termine mit dem gleichen Titel
| Mycroft: Found 2 events with the same title
| Mycroft: Coffe Break at 5 PM or Coffe Break at 1 PM?
| User: Coffe Break at 5 PM
--

Mycroft: Do you really want to delete the appointment Coffee Break on January 11 at 5 PM?
User: Yes

Mycroft: The appointment Coffee Break on January 11 at 5 PM was deleted

Nicht-funktionale Anforderungen

  • Sprache für Eingabe ist Englisch
  • Eingabe erfolgt über Spracheingabe
  • Für die jeweiligen Abfragen soll es mehrere mögliche Sprachkommandos geben, um die Bedienbarkeit zu verbessern
  • Bei Problemen und Fehlern soll ein verständliches Feedback gegeben werden
  • Nach zwei oder mehreren nicht verstandenen Eingaben, soll eine Hilfestellung geben werden, welche Kommandos verfügbar sind
  • Die Datumangabe soll über die beschreibenden Wörter „Heute“ und „Morgen“, sowie über explizite Nennung des Datums möglich sein.

Ausgeschlossene Funktionalität („future work“)

  • Es müssen nicht tagesübergreifende Termine abgefragt werden können
  • Es muss nicht zwischen verschiedenen NextCloud Kalendern gewechselt werden können
  • Es muss nicht über Sprachkommando der NextCloud Kalender verknüpft werden

Zeit- und Personalplanung

  • Zuerst wird das grobe Gerüst des Mycroft Skills entwickelt
  • Im nächsten Schritt wird die Verknüpfung der NextCloud entwickelt
  • Im Abschluss werden die einzelnen Funktionen implementiert
  • Das Projektteam wird bei allen Aufgaben gemeinsam arbeiten und eine stark getrennte Arbeitsaufteilung wird ausgeschlossen

Let’s talk business

Kontaktieren Sie uns und lassen Sie sich bei einem kostenlosen Erstgespräch von uns beraten. Wir freuen uns darauf, Sie kennenzulernen.

“Gemeinsam gestalten wir ihre digitale Identität”

Philipp Zimmermann

Philipp Zimmermann

Ihr Ansprechpartner

11 + 2 =