Kalliope

Autor
Logo

Status

UNSTABLE

Version0.5.1
Min. LB Version

LB 1.0

Download
ZweckDieses Plugin installiert Kalliope auf dem LoxBerry und ermöglicht damit einen persönlichen Sprachassistenten, eine Sprachsteuerung des Miniservers und eine Sprachausgabe.
LanguagesEN, DE
Diskussion
 Version History...

Version 0.5.1

  •  Verbesserungen am Webfrontend
  • Unterstützung von globalen Variablen in Kalliope
  • Unterstützung von kalliope 5.2, Loxberry 1.2.5
  • Plugin Upgrade ermöglicht
  • kleinere Korrekturen und Fehlerbehebungen

Version 0.5.0-beta.1 (nur LB 1.0)

  • update for LoxBerry >1.0
  • updated to Kalliope 0.5.0

Version 0.3

  • Verbesserte Einstellungsseite auf dem LoxBerry inklusive Hinweisen zur Benutzung

Version 0.2

  • Kalliope 0.4.3
  • Einfache Plugin Einstellungsseite
  • Englisch und Deutsch

Version 0.1

  • erste öffentliche Version


Inhalt



Download

nicht mehr unterstützte  Version für veraltete LoxBerry Version:

LB 0.2.3 https://github.com/andweber/loxberry-plugin-kalliope/archive/v0.3.0.zip

Entwicklung, neuster Entwicklungsstand:

LB 1.0https://github.com/andweber/loxberry-plugin-kalliope/archive/v0.5.1.zip

Quellcode: https://github.com/andweber/loxberry-plugin-kalliope/

Hinweis zur Benutzung

In der Standardkonfiguration sendet Kalliope aufgezeichnete Sprache/Geräusche zur Spracherkennung an einen Cloud-Anbieter (siehe Erklärungen unter "Funktion des Plugins"). Eine Audioaufzeichnung zur Spracherkennung erfolgt nur nach dem Schlagwort <Kalliope>. Da die Schlagworterkennung im Deutschen jedoch noch fehleranfällig ist, können auch andere Mitschnitte erstellt werden.

Soll das Plugin nur zur Sprachausgabe für den Miniserver verwendet werden, dann am Besten kein Mikrofon anstecken, dann erfolgt auch keine Aufnahme. Ein deaktivieren der Spracherkennung im Webfrontend ist bisher nicht möglich.

Installation


Kalliope benötigt ein an den LoxBerry angeschlossenen Lautsprecher (HDMI oder Analog) und ein Mikrofon. Für die Einstellung von Mikrofon und Lautsprecher hilft das Plugin: ALSA Tools.

Die Spracherkennung erfolgt über Cloud-Anbieter es ist daher eine Verbindung zum Internet notwendig.

Das Plugin unterstützt in der derzeitigen Version noch kein Upgrade. Die Einstellungen gehen damit bei einer Neuinstallation verloren. Den LoxBerry nach der Neuinstallation neu starten.

Konfigurationsoptionen

Das Webfrontend erlaubt einen Test der Hardware (Mikrofon und Lautsprecher), die Anpassung der Einstellungen und einen Test der Funktion.

Das Plugin installiert bereits eine Auswahl an Zusatzmodulen und Verknüpfungen, darunter ein Modul für die Steuerung eines Miniservers. In der Kalliope Dokumentation befindet sich eine ausführliche Erklärung der verschiedenen Optionen.

Funktion des Plugins


Das Plugin stellt zunächst eine Standardinstallation von Kalliope auf dem LoxBerry zur Verfügung. Diese kann individuell angepasst und auch ohne Miniserver genutzt werden. Die Spracherkennung erfolgt über einen Cloud-Anbieter. Der Could-Anbieter kann konfiguriert werden. Dazu muss ein eigener Schlüssel erstellt werden. Kalliope unterstützt auch eine lokale Spracherkennung - allerdings ist dazu für deutsch Konfigurationsaufwand und ein manuelles Training notwendig. Kalliope lauscht permanent über das Mikrofon auf den Aufruf "Kalliope". Diese Erkennung erfolgt lokal auf dem LoxBerry. Kalliope fordert dann auf einen Sprachbefehl zu nennen. Dieser Teil wird aufgenommen und an einen Cloud-Anbieter zur Erkennung geschickt. Kalliope erhält den Sprachbefehl in Textform zurück und reagiert entsprechend der individualisierbaren Konfiguration. Ein Video unter   https://kalliope-project.github.io/ zeigt die Funktionsweise.

Steuerung des Miniservers

Das Plugin installiert zudem eine Erweiterung von Kalliope, welche es erlaubt den Miniserver über Sprachbefehle zu steuern. Insbesondere diese Erweiterung ist experimentell. Sie erlaubt mit Version 0.1.0 aber bereits eine primitive Sprachsteuerung.

Sprachbefehl:

Kalliope <auf Aufforderung warten> Schalte das <Name> an/aus

<Name> ist dabei die Eigenschaft "Beschreibung" eines Bausteins in der Loxone Config (also z.B. eines Tasters für Licht).

Welche Elemente zur Verfügung stehen, wird automatisch vom Miniserver abgefragt. Die Abfrage erfolgt jedoch derzeit noch bei jedem Sprachbefehl und erzeugt damit ggf. eine spürbare Belastung des Miniservers. Bei mehreren Miniservern wird derzeit nur der in der LoxBerry-Config hinterlegte 1. Miniserver verwendet.

Steuerung von anderen Geräten

Kalliope ist in der Lage beliebige Geräte über Web-Aufrufe zu steuern. Eine Konfiguration ist derzeit nur manuell möglich. Dabei müssen die Konfigurationsdateien auf dem LoxBerry unter:

/LoxBerry/config/plugins/kalliope_loxscontrol/brains

angepasst werden. Eine Erklärung gibt die Kalliope Dokumentation, derzeit nur in Englisch.  Auf diese Weise ist auch eine individuelle Steuerung des Miniservers möglich.

Sprachausgabe

Das Plugin kann als Sprachausgabe (TTS) für den Miniserver fungieren. Feste vordefinierte Ansagen können wie folgt ausgegeben werden:

Virtuellen Ausgang anlegen mit: http://admin:secret@<IP-des-Loxberry>:5000

Virtueller Ausgang Befehl:

Befehl bei ein: /synapses/start/order

HTTP-Methode bei EIN: POST

HTTP-Erweiterung: Content-Type: application/json

HTTP-POST-Befehl: {"order":"loxberry-install-finished"}


Der Zugang (admin:secret) und der Port (hier 5000) kann über das Webfrontend konfiguriert werden. Anstelle von "loxberry-install-finished" kann ein beliebiger Befehl aufgerufen werden. Die Definition ist bisher nicht über das Webfrontend möglich.

Auf dem Loxberry unter config/plugins/kalliope_loxscontrol/brains liegen die entsprechenden Definitionen. Das obige Beispiel befindet sich in der Datei: de_loxberry_install.yml. Weitere Erklärungen gibt die Kalliope Dokumentation derzeit nur in Englisch.

Über:

HTTP-POST-Befehl: {"order":"api-repeat-cmd Dies ist eine Beispielansage"}

lässt sich ein beliebiger Text ansagen (ab Version 0.3.1). 


Anpassung

Über Zusatzmodule (genannt Neuronen) und eine individualisierbare Verknüpfung von Sprachbefehlen mit Aktionen (genannt Synapsen), kann Kalliope angepasst werden. Im "Config"-Ordner des Plugins befindet sich der sogenannte "brain" von Kalliope und kann individuell angepasst werden.

Einrichtung in der Loxone Config Software


Für die Steuerung des Miniservers sind keine Anpassungen in der Loxone Config notwendig. Das Plugin lädt selbstständig die Konfiguration des Miniservers.

Soll das Plugin als Sprachausgabe verwendet werden, so erfolgt dies über entsprechende Virtuelle Ausgangsbefehle.

Roadmap

Eine aktuelle Liste ist auf https://github.com/andweber/loxberry-plugin-kalliope/ zu finden. Geplant sind:

  1. Die Konfiguration über das Webfrontend des LoxBerry
  2. Eine Erweiterung der Funktionalität der Sprachsteuerung

Fragen stellen und Fehler melden


Für Themen die das Plugin betreffen: https://github.com/andweber/loxberry-plugin-kalliope/

Für Themen, welche die Sprachsteuerung des Miniservers mit Kalliope betreffen: https://github.com/andweber/kalliope_neuron_loxscontrol