FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: PapaRiX am 18 Mai 2018, 13:08:15

Titel: Sprachsteuerung mit Snips
Beitrag von: PapaRiX am 18 Mai 2018, 13:08:15
Hallo beisammen!

Habe mir auf einem Raspi 3B+ jetzt mal ein Snips draufgepackt und angefangen damit rumzuspielen.
Die Kommunikation könnte schön über MQTT-DEVICE und expantJSON funktionieren.
Allerdings habe ich Schwierigkeiten mit expandJSON und/oder der Tatsache, dass das Topic von snips hermes/intent/[user:intentname] heißt.
ich bin nicht sonderlich fit in Pearl aber ich habe das Gefühl, dass das ":" im Topicnamen ein Problem ist.

Ich kann also im MQTT-DEVICE kein

attr SNIPS_MQTT_DEVICE subscribeReading_DINGS hermes/intent/paparix:intentname

machen, weil ich dann die Fehlermeldung bekomme "topic may not be empty"
alternativ kann ich mit

attr SNIPS_MQTT_DEVICE autoSubscribeReadings hermes/intent/+

zwar die readings für paparix:intentname sehen, allerdings habe ich da auch das ":" im Topic und komme dann nicht mit expandJSON weiter.

Hier jetzt meine Fragen:
1) Hat jemand schon mehr Erfahrungen mit der Snipssprachsteuerung und der Integration in FHEM gemacht?
2) ich komme generell mit expandJSON nicht klar, gibt's irgendwo schönere Beispiele, die mir helfen können, das besser zu verstehen?

Ich finde Snips sehr interessant auch wenn die Installation von snips und eines Assistenten noch etwas Einfacher gehen müsste. Aber das Konzept einer zuverlässigen Sprachsteuerung, ohne dass mein Gesagtes in die Cloud muss, schon erst mal sympathisch. Alleine, dass ich momentan meine Lichter ohne Internet nicht mit Sprache steuern kann ist schon doof.

Aktuell habe ich auch noch kein brauchbares Raummikro, somit weiß ich noch nicht, ob die Performance mit meinem echo dot vergleichbar ist.
Preislich wird es allerdings schwierig, mit snips die 40€ eines echo dot zu unterbieten.
Meinungen, Ideen, Vorschläge, Erfahrungen?
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: MadMax-FHEM am 18 Mai 2018, 16:29:51
Vielleicht ist ja da passende HW etc. dabei: https://forum.fhem.de/index.php/topic,85479.msg778627.html#msg778627

Kurz da nur Handy...

Gruß, Joachim
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: PapaRiX am 18 Mai 2018, 17:58:40
Bin mit expandJSON etwas weitergekommen.

mit
define ej3 expandJSON SNIPS_MQTT_DEVICE.*:.*:.{.*}
bin ich weitergekommen. Ich habe zwar keine ahnung was das .*:.*{.*} macht... aber okay  ;D
Auch wenns nicht wirklich schön ist habe ich jetzt alle info, die ich brauch um die Daten, die von snips kommen mit ein paar notifys zu verwursten.

Was Grenzflächenmikros angeht, habe ich mir überlegt einfach mal ein günstiges von Amazon zu probieren, bevor ich 60€ für eine Matrix ausgebe.
Die leute von snips haben mal ein Benchmark gemacht https://medium.com/snips-ai/benchmarking-microphone-arrays-respeaker-conexant-microsemi-acuedge-matrix-creator-minidsp-950de8876fda (https://medium.com/snips-ai/benchmarking-microphone-arrays-respeaker-conexant-microsemi-acuedge-matrix-creator-minidsp-950de8876fda) darin ist die PS3 eye kamera mit sehr guten ergebnissen aufgefallen. Das gerät gibts bei ebay so um die 10€, wäre also auch eine überlegung wert...
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: denis.robel am 08 Juli 2018, 10:54:14
Hallo PapaRiX ,

Das Snips Projekt finde ich auch sehr interessant.
Kannst Du mal kurz beschreiben, wie man das mit FHEM verbinden kann?

So wie ich das sehe kann man einen Assistenten zusammenstellen, der die verschieden Kommandos ausführt.

Wie ist dann die Schnittstelle zu FHEM? Gibt es dazu schon ne Dokumentation, wie das funktionieren könnte?

VG aus L.

Denis
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 08 Juli 2018, 19:56:26
Klingt interessant. Werde das die Tage auch mal testweise installieren.  :)
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 12 Juli 2018, 17:49:04
Bin sehr begeistert.

Dadurch, dass man den Intents beibringt, welche Gerätenamen es gibt und die AI mit verschiedensten Beispielsätzen trainiert,
klappt die Erkennung unglaublich gut.
Auch bei etwas lauter laufendem Radio klappt das bisher sehr gut.

Auch die gebotenen Features gefallen mir sehr.

Neben einfachen Sprachbefehlen, Text to Speech (Die Stimme ist etwas holprig, aber habe schon Anleitungen gesehen um Amazon Polly einzubinden) und Abspielen von Audiofiles kann man auch aufwändigere Unterhaltungen realisieren.
Eine neue Unterhaltungen kann auch von Snips angetriggert werden, ohne dass man zuerst das Hotword oder etwas anderes sagen müsste.

Ebenfalls schön: Man kann "Satellites" hinzufügen um weitere Räume abzudecken.
Bei jedem Sprachbefehl bekommt man mitgeliefert in welchem Raum das war.
"Mach die Deckenlampe an" im Büro gesprochen kann also was anderes ausführen als wenn ich im Wohnzimmer stehe.
Kann aber theoretisch auch von dort mit "Mach die Deckenlampe im Wohnzimmer an" das selbe erreichen.

Wird bei mir auf alle Fälle Alexa ersetzen. Hier ist dann echt jeder Blödsinn an Fragen/Antworten möglich.
Und das vor allem ohne einen bestimmten Skill bei der Anrede nennen zu müssen.

Ich hab übrigens das 10€ PS3 Eye mit seinen 4 integrierten Mikrofonen gekauft.
Kann nach ersten Tests keinerlei Nachteile in Reichweite oder bei Musik im Hintergrund ggü. meinen Echo Dots erkennen.
Man könnte also recht kostengünstige Satellites mit einem Pi Zero, Mini-Lautsprecher mit USB-Stromversorgung und dem PS3 Eye bauen.

Werde die Tage überlegen wie ein Modul am Besten aufgebaut sein muss um irgendwann alles nutzen zu können.
Wahrscheinlich als weiteres Client-Modul für 00_MQTT.

edit:
Was auch nett ist:
Man bekommt auch mit wann das Hotword gehört wurde, bzw. wann Snips zuhört.
Bei Alexa hatte ich immer das Problem, dass ich die Musik nicht leiser drehen konnte solang die Musik nicht über den Echo Dot lief.

Mit Snips werde ich dann einfach den AV-Recevier leiser drehen wenn er an ist und dann ist egal ob ich Radio höre, fernsehe oder Musik übers Handy auf die Anlage streame.

Das sollte die Erkennung auch nochmal besser machen.
Man muss im schlimmsten Fall beim Hotword etwas schreien, den Rest kann man dann bei gedämpfter Musik normal sagen.


edit2:
Habe gerade auch mal ein paar Sendernamen in einem Intend hinzugefügt wie
- S.W.R. 3
- R. T. L.
- Big F.M.
- Das Ding
Klappt auch wunderbar. :)
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: der-Lolo am 12 Juli 2018, 18:31:29
Ich les hier mal mit...
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Ma_Bo am 13 Juli 2018, 15:14:30
Ich lese auch mal mit, klingt sehr interessant...
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 14 Juli 2018, 00:43:09
Hab das Modul soweit, dass es einen On-Off Intent steuern kann.
Allerdings müssen die Geräte aktuell noch ein snipsName und snipsRoom Attribut tragen, ein Fallback auf Alias oder Name ist noch nicht drin.

Wird auf alle Fälle auch eine ordentliche Doku erfordern, da man Snips natürlich auch entsprechend einrichten muss.
Man ist hier ja recht frei in der Wahl von IntentName, Slotnamen usw.
Ich erwarte im Moment einen Intent mit dem Namen "On" (angelehnt an HomebridgeMapping) und für diesen die 3 Slots "Device", "Value" und "Room" (optional).

Aber für Nutzer die das bereits bei sich konfiguriert haben oder einen vorgefertigten SmartHome Skill verwenden, lässt sich das ja evtl. auch über ein Attribut "IntentMapping" lösen nach dem Schema:

On=<MyOnIntent>,Room=<MyRoomSlot>,Device=<MyDeviceSlot>,Value=<MyValueSlot>


Bei On / Off hat man es in FHEM ja auch noch recht leicht, da diese Befehle bei allen Modulen einheitlich sind.
Aber schon beim Dimmen wird es ja schwerer durch pct/dim/etc. Readings und Set Befehlen.

Denke ich werde mich hier an Andre (justme1986) halten, damit das ganze auf ein evtl. schon vorhandenes homeBridgeMapping Attribut in den Geräten zugreift.
Das wird ja bisher auch schon mit Alexa geteilt.

Wird noch einiges an Arbeit. :)
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: der-Lolo am 14 Juli 2018, 08:23:07
Snips versteht nur Englisch, oder?
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 14 Juli 2018, 08:38:49
Nein, die Doku ist bei denen an manchen Stellen nicht ganz aktuell.

Mittlerweile sind alle Teile von Snips (Texterkennung, Intent Parsen, Text2Speech) in Deutsch verfügbar und funktionieren in deutscher Sprache auch einwandfrei.

Hab Snips bei mr auch nur auf Deutsch im Einsatz.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 15 Juli 2018, 16:18:55
Ich spiele auch schon seit ein paar Tagen damit rum, aber ich komme nicht weiter:

root@snips2:~# sam install assistant
Fetching assistants done
Found 1 assistant named snips
Downloading assistant
Fetching assistants done
NLU training done
ASR training done
✔ Deploying assistant to localhost...
Checking for skills
Generating virtual environment for python actions done
i Error setting up virtualenv, it might cause an issue on one of your action. It might also be caused by an invalid character in your skill name, reason : Could not find a version that satisfies the requirement hermes_python>=0.1 (from -r requirements.txt (line 1)) (from versions: )
No matching distribution found for hermes_python>=0.1 (from -r requirements.txt (line 1))
  Could not find a version that satisfies the requirement hermes_python (from -r requirements.txt (line 7)) (from versions: )
No matching distribution found for hermes_python (from -r requirements.txt (line 7))
Relaunching snips-skill-server
✔ Snips assistant is now running. Say hey_snips to start!
i Run sam watch to see the logs


root@snips2:~# pip2 install hermes
Requirement already satisfied: hermes in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied: xmpppy>=0.5.0rc1 in /usr/local/lib/python2.7/dist-packages (from hermes)


Ich habe snips in einem Debian LXC Container auf einen Rock64 laufen (ARM).
Hat da jemand vielleicht ein Tipp?

Viele Grüße
Mark
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 15 Juli 2018, 19:19:47
Hab es bei mir bisher nur auf dem NUC installiert,
nach der Anleitung hier für AMD64: https://snips.gitbook.io/documentation/advanced-configuration/advanced-solutions

Bei ARM wärst du ja näher an der Standard-Installation für den Raspberry denke ich.
Wie hast du es denn installiert und was für ein Debian nutzt du dafür im Container?

Wenn du hier oben auf Documentation klickst:
https://snips.gitbook.io/documentation/

kommst du zum Discord Chat.
Evtl. dort mal nachfragen.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 15 Juli 2018, 20:21:35
Hey danke dir. Im Discord Chat hatte ich schon nachgefragt, aber ich warte noch auf eine Antwort.

Bzgl. snips, ich habe snips und den LXC Container gefühlt 5 mal neuinstalliert, das scheint irgendwie echt zickig zu sein.
Derzeit läuft es in einem Debian Stretch 32 Bit System (arm). Ich habe auch mal Ubuntu versucht, aber dafür gab es keine Pakete.

Es gab vorher mehrere Probleme, erst das es keine arm64 Pakete für snips gibt. Danach habe ich ein arm32 bit LXC Container aufgesetzt, auf einem arm64 Hauptsystem.

Danach ging später sporadisch die "Hey Snips" Erkennung nicht mehr im Container und da frage ich mich immer noch, ob man den Sound nur in einem Container betreiben kann oder ob man diesen in mehreren Container teilen kann.
Einmal hatte ich z.B. auch das Problem im Fhem Container, das die TTS Ausgabe eine Micky Mouse stimme hatte. Also die Wiedergabe schneller abgespielt wurde, obwohl im Snips Container keine Sprachausgabe stattgefunden hat.

Ganz oft hatte ich auch das Problem, das "sam" nicht mehr ausführbar war.
Aber das lag daran, das ich die Console via lxc-attach geöffnet hatte. Mit SSH direkt im Container eingeloggt ging das dann komischerweise, aber da muss man erstmal drauf kommen...  ::)

Jetzt hänge ich halt diesen Python Fehler fest, in google findet man darüber nix. Ich werde einfach mal abwarten was die im Chat schreiben. Und morgen werde ich snips mal auf eine x86 VM installieren, scheint ja doch recht intressant zu sein. :)

Geht bei dir mit dem PS3 Eye eigentlich der alsamixer? Ich erhalte immer ein Fehler: cannot load mixer controls: Invalid argument
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 15 Juli 2018, 21:01:50
Das System auf das die sich im Moment für die frühen Tester konzentrieren ist halt der Pi3 fürchte ich.
Mit dem dürfte die Installation sehr einfach sein.

Die Debian x86 (AMD64) Installation hatte bei mir auch ein paar Probleme, da die Software ein paar Abhängikeiten hat,
welche das Package nicht aufführt.
Dadurch musste ich ein paar Sachen nachinstallieren bevor es lief.

Alsamixer läuft dafür problemlos mit dem PS3 Eye bei mir.

Ich poste hier mal meine Schritte zur x86 Installation im Proxmox LXC Container.
Evtl. hilft das ja dem einen oder anderen:

Zitat
Debian Jessie (8.0) installieren
Nicht Stretch verwenden, das Snips Repo für x86 ist dafür noch nicht angepasst.

Non-Free Packages für Debian freischalten:
sudo nano /etc/apt/sources.list
in jeder Zeile hinter "contrib" ein "non-free" anhängen

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install lsb-release apt-transport-https ca-certificates  systemd systemd-sysv libttspico-utils alsa-utils

Reboot wegen systemd Installation

PS3 eye einstecken und mit arecord -l schauen als welches hw:x:x das Gerät im System erkannt ist.

Testaufnahme:
sudo arecord --device=hw:1,0 -f S16_LE -c 4 -r 16000 -d5 test.wav
Dann z.B. über SFTP auf den Rechner kopieren und schauen ob etwas aufgenommen wurde.

sudo nano /etc/asound.conf anpassen (bei capture.pcm auch wieder die passende hw:x,x eintragen):
pcm.!default {
  type asym
   playback.pcm {
     type plug
     slave.pcm "hw:2,0"
   }
   capture.pcm {
     type plug
     slave.pcm "hw:1,0"
   }
}

Installation wie here beschrieben:
https://snips.gitbook.io/documentation/advanced-configuration/advanced-solutions
Dann noch sudo apt-get install snips-watch

Assistant auf
https://console.snips.ai
konfigurieren und runterladen.
Entpacktes assistant Verzeichnis als /usr/share/snips/assistant speichern

Snips neu starten:
sudo systemctl restart "snips-*"

Lautstärke mit ,,alsamixer" einstellen. Speichern der Lautstärke mit:
sudo alsactl store

Danach snips-watch starten und das Hotword sprechen.
Man sollte nun die Logausgaben fürs Aktivieren des Hotwords oder das Erkennen von gesprochenem Text zu sehen bekommen.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 16 Juli 2018, 15:47:48
Danke dir erstmal für die Anleitung.

Ich habe im Chat mit CrystalMethod gesprochen und er sagte, das Paket python_hermes gibt es nur für armv7 und mein Rock64 ist armv8.
Wie du schon sagtest, das ganze ist zuerst auf einem Raspberry ausgelegt. Er hat zwei alternativen genannt (paho-mqtt und snips-aiy)
Hier der Chatverlauf:

Zitat>> rock64 is armv8 and I dont know if and how to enable armv7 compatibility
>> imo that is the reason why you can not install it

<< for what is the python-hermes needed? is that only for downloading the skills automatically?
<< i just want to know if snips can be used without hermes python? the package is also not available for amd64...

>> @Mark79 you can use e.g. paho-mqtt instead of hermes-python
>> hermes-python provides implementation of hermes protocol - so it is easier for beginners to get started with snips specific mqtt endpoints, session handling etc ... but you can use plain mqtt client like paho
>> https://snips.gitbook.io/documentation/ressources/hermes-protocol
>> has nothing to do with downloading skills

>> CrystalMethod - heute um 14:29 Uhr
>> https://github.com/macbury/snips-aiy contains a simple bridge from snips mqtt to external mqtt (homeassistant in this case)  .. might be a starting point for your bridge to fhem @Mark79

Ich habe snips vorhin mal auf einer VirtualBox VM mit Debian Stretch amd64 installiert. Aber dort krieg ich das Micro nicht wirklich zum laufen.  ::)
Der alsamixer geht dort und das Micro wird auch angezeigt. Nur Ton aufnehmen klappt nicht. Manchmal ist die VM auch eingefroren, ich vermute das liegt am USB Emulator der VM.

Ich werde das die Tage noch mal beim Rock64 probieren...

Hast du bei dir eigentlich den Sound in mehreren LXC Container geteilt, oder nur in einem?
Weil bei mir geht das erst, nur irgendwann reagiert snips nicht mehr, also erfolgt keine Sprachausgabe mehr.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 17 Juli 2018, 09:19:40
Bin mit dem Modul übrigens schon ein gutes Stück weiter gekommen,

das Modul kann mittlerweile sowohl on/off Befehle, als auch numerische Stellwerte (Dimmer, Rollläden, Lautstärke, ...) senden.
Konfigurieren lassen sich die Intents mit einem Mapping ähnlich dem HomebridgeMapping das man aus den Modulen von Andre kennt.
Dadurch sollte das Ganze sehr flexibel nutzbar sein.
Habe auch sonst versucht mich einigermaßen an der Logik seiner Homekit und Alexa Module zu orientieren, damit man sich schnell reindenken kann.
Einen passenden Snips Skill habe ich auch mal erstellt, den man dann installieren und um seine eigenen Gerätenamen erweitern kann.

Denke ich poste die Tage mal eine Beta hier im Forum.

Als nächstes werde ich dann mal Intents zu den passenden Abfragen OnOff (Ist das Gerät eingeschaltet, ist das Fenster offen, ...) und Numerisch (Wie warm ist es im Wohnzimmer, Wie ist die eingestellte Temperatur der Heizung im Bad, ...) hinzufügen.
Dann sollte das Ganze schon recht gut nutzbar sein. :)

Der nächste Schritt wäre dann die Möglichkeit eigene Perl Funktionen zu ermöglichen, die dann die Werte der einzelnen Slots (z.B. Device, Value, etc.) eines Intents übergeben bekommen.
Praktisch so etwas, wie die custom fhemIntents beim Alexa Modul ermöglichen.
Damit sollte dann so ziemlich alles an Abfragen möglich sein, was einem so einfällt.

@Mark

Ok, dann ist die Frage ob hermes-python eine Bibliothek ist um die MQTT Nachrichten (Hermes Protokoll) in Python einfacher verwenden zu können.
Das wäre ja aber erstmal nicht schlimm, wir wollen die FHEM Anbindung ja nicht in Python programmieren. ;)

Wir haben ja außerdem schon 00_MQTT, welches die Arbeit der MQTT Anbindung übernimmt,
so dass mein Modul darüber nur noch die entsprechenden Topics abonniert um die Nachrichten auswerten zu können.

Ist aber dann die Frage ob dein Problem mit deinem Rock64 überhaupt an dieser Abhängigkeit liegt. (ließ sich Snips dann gar nicht fertig installieren?)


Zum Sound: Auf meinem SmartHome Server hat bisher kein anderer Container Sound genutzt.
Habe Alsa auf dem Host sogar erst wegen Snips installiert und dann die Sound Devices wie hier geschrieben durchgereicht:
https://forum.fhem.de/index.php/topic,82767.msg817773.html#msg817773

Damit funktioniert das bisher einwandfrei, hab die letzten Tage ja recht viel getestet und Snips hat immer problemlos reagiert.
(Sowohl Spracheingabe als auch Ausgabe).

Ich hab allerdings auch nicht den Onboard-Sound genommen, sondern hatte zum testen noch so einen USB-Mini Lautsprecher herumliegen der als eigene Soundkarte erkannt wird: https://www.adafruit.com/product/3369

Wenn das Nutzen der Soundkarte in mehreren Containern ein Problem ist,
wäre evtl. eine extra USB-Soundkarte für den Container eine Lösung.
Soweit ich weiß ist Sound über USB unter Linux normal kein Problem, da das direkt im USB-Standard enthalten ist und somit normalerweise keine extra Treiber benötigt.
Evtl. vorher bei einem spezifischen Modell nochmal im Netz danach suchen.
Sowas gibts ja für kleines Geld...
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 18 Juli 2018, 10:55:59
Da bist du schon weit gekommen und das ließt sich schon super. :)

Ich bin leider mit Snips immer noch nicht wirklich weiter, hier bei mir kann ich das nur auf x86 Hardware in einer VM testen und das klappt noch weniger als mit dem Rock64.
Gestern hatte ich mit VMware ein Debian amd64 aufgesetzt. Dort funktionierte das PS3 Eys gar nicht, es wird zwar erkannt, aber aufnehmen darüber klappt nicht und bricht mit einer Fehlermeldung ab.
Ich hatte noch ein USB Headset gefunden, nur dort war der Sound total abgehackt und Snips konnte gerade mal "Hey Snips" erkennen.

Der Rock64 steht bei meiner Freundin... da bin ich heute wieder und dann probiere ich dann mal den Sound nur in einem LXC Container zu teilen.

Derzeit habe ich zwei LXC Container, die sich die interne Soundkarte vom Rock64 teilen. Einmal Fhem mit TTS Sprachausgaben (was auch zuverlässig klappt) und der zweite Container mit Snips (der nach einiger Zeit Soundausfälle hat).

Ich vermute daher, das man den Sound nicht in mehreren LXC Containern teilen kann. Das wäre doof, denn den Sound hätte ich schon gerne in beiden Containern.
Es gibt noch eine Möglichkeit mit pulseaudio den Sound über das Netzwerk zu teilen, so eine art Proxy. Das werde ich bei Gelegenheit mal probieren.

Eine USB Sound Karte habe ich noch aus dem Raspberry Zeiten rumliegen, die werde ich auch mal ausprobieren.
Ist diese hier, mit einem DAC und Verstärker: https://www.amazon.de/gp/product/B071YR3JCX/

Ja und wo das eine kurze Zeit am Wochenende lief, also die Spracherkennung und Ausgabe. Hatte ich mal den Weather Skill in der Snips Web Console aktiviert und das zip gedownloadet und den Inhalt entpackt nach /usr/share/snips/ kopiert.
Danach alle Snips Dienste neugestartet... aber die Wetter Abfrage hat nicht geklappt. Weder auf Deutsch noch auf Englisch.

Sollte es doch eigentlich, wenn man das TTS Paket installiert hat? Man hörte nur den Ton, wenn man das Codewort gesprochen hat.

root@snips2:~# ls -l /usr/share/snips/assistant/
insgesamt 1084
-rw-r--r-- 1 root root    8375 Jul 15 12:38 assistant.json
drwxr-xr-x 2 root root    4096 Jul 15 21:23 custom_asr
drwxr-xr-x 4 root root    4096 Jul 15 21:23 custom_dialogue
drwxr-xr-x 2 root root    4096 Jul 15 21:23 custom_hotword
-rw-r--r-- 1 root root      43 Jul 15 12:39 Snipsfile.yaml
-rw-r--r-- 1 root root 1079347 Jul 15 12:38 trained_assistant.json


Irgendwie habe ich das Gefühl, das mich snips nicht mag. Wie lange ich da schon rumfummel...

Am besten ist es wirklich man holt sich ein RPi. Oder evtl. ein Orange Pi Zero, der hat auch WLAN mit dabei und ist noch ein tick günstiger (Aliexpress).

Hast du eigentlich von diesem Matrix Voice gehört? Mit einem ESP32, das kann man auch an snips anbinden.
Aber das ding ist noch sehr überteuert und stabil soll das wohl auch noch nicht laufen: https://github.com/Romkabouter/Matrix-Voice-ESP32-MQTT-Audio-Streamer
Aber so was in die Richtung wäre wohl die Zukunft...
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: laberlaib am 19 Juli 2018, 15:42:09
So, ich hab jetzt auch mal Snips installiert und finde es auf den ersten Blick nicht schlecht.
Mit der Hardware, also haupsächlich dem Mikrofon muss ich noch unter Realbedingungen ein wenig spielen, aber sonst wirkt das sehr rund.
Ich habs auf einem RPi3 installiert mit PS3Eye und Sam auf einem RPi2, der hier noch rumflog. Ohne Sam hat das manuelle Einrichten der Assisteten die Actions nicht mitgenommen und ich fands auch umständlich, runterladen-entpacken-kopieren. Das flufft dann mit Sam doch besser.
TTS setzt manchmal aus, wobei das auch der Lautsprecher oder ein fehler in der Action sein kann. Das muss ich mal beobachten und nochmal probieren.

Alles was man da in der Console anlegen kann und muss, muss ich mir nochmal richtig zu gemühte führen, ein

device=Wohnzimmerradio
sender=Cadena Ser

Habe ich allerdings schonmal übergeben bekommen und zum Testen sonst setzte ich gerade diese Taschenrechnerapp ein.

MQTT hatte ich vorher noch nicht benutzt und daher das ganze mal schnell umgesetzt mit einem
attr mqtt_Test autoSubscribeReadings hermes/intent/+
dazu das in diesem Thread schon erwähnte "expandJSON" und abgehts.

Allerdings kann mir vielleicht hier jemand mit folgenden Fragen/Problemen weiterhelfen:

1) Dient das Anlegen von unterschiedlichen Assistenten nur dem Komfort und dass man bspw. eine Testumgebung hat etc. ode kann man auch mehrere Assistenten mit unterschiedlichen Hotwords laufen lassen? Meine Frau ist Spanierin, da wäre natürlich (sobald spanisch auch offline läuft) ein weiterer, spanischer Assistent nicht schlecht. Oder auch wenn man ähnliche Intents hat, diese auf unterschiedliche Assistenten/Hotwords zu verteilen, so dass es für die Erkennung einfacher wird.
Theoretisch könnte ich einfach 2 Raspis laufen lassen mit 2 Mikrofonen, sobald man aber Satelliten aufbauen will, wird das sehr schnell viel Hardware.

2) Satelliten: gibt es dafür Anleitungen? Hatte da nichts gefunden.

3) FHEM und Notifys: Mal am Beispiel der Addition: Ich erhalte ja im Eventmonitor folgendes:
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test transmission-state: incoming publish received
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test domi:getAddition: {"sessionId":"04f8e9be-c66b-48f0-9791-42adec34b27e","customData":null,"siteId":"default","input":"wieviel ist zwei plus zwei","intent":{"intentName":"domi:getAddition","probability":0.6415105},"slots":[{"rawValue":"zwei","value":{"kind":"Number","value":2.0},"range":{"start":12,"end":16},"entity":"snips/number","slotName":"firstTerm"},{"rawValue":"zwei","value":{"kind":"Number","value":2.0},"range":{"start":22,"end":26},"entity":"snips/number","slotName":"secondTerm"}]}
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test siteId: default
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_01_range_end: 16
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_01_range_start: 12
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_01_entity: snips/number
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_01_slotName: firstTerm
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_01_value_value: 2
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_01_value_kind: Number
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_01_rawValue: zwei
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_02_rawValue: zwei
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_02_value_kind: Number
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_02_value_value: 2
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_02_slotName: secondTerm
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_02_entity: snips/number
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_02_range_start: 22
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test slots_02_range_end: 26
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test sessionId: 04f8e9be-c66b-48f0-9791-42adec34b27e
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test input: wieviel ist zwei plus zwei
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test intent_probability: 0.6415105
2018-07-19 13:32:46 MQTT_DEVICE mqtt_Test intent_intentName: domi:getAddition

Auf was kann ich da nun am besten reagieren? Man könnte über das Reading "input" die Verarbeitung an FHEM übergeben (Talk2Fhem o.ä.).
Aber durch den "intentName" weiß ich ja manchmal schon, um was es geht (z.B. mein testintent: playRadio mit den slots Device und Sender). Da würde ich ja gerne per notify oder DOIF sagen (Pseudocode):

Wenn intentName=="playRadio" Dann
    Spiele auf [Device=Slot:Device] [Sender = Slot:Sender]
Wenn Ende

Lt. Eventmonitor kommen alle Events zeitgleich. Heißt das, dass die Readings zum Zeitpunkt des Ausführens des Notifys/DOIFs auch schon aktualisiert sind? Das kann ich auch testen, allerdings sind Tests immer nur Stichproben.

Da ich keine sonstige Sprachsteuerung versucht habe, habe ich auch keine Ahnungen, wie das bei anderen Systeme aussieht (Mapping etc), bin also umso gespannter auf Thyraz' Modul.

...werde ich mal weitertesten.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 19 Juli 2018, 17:52:10
Hab noch keinen Satelliten installiert,
aber an sich sollte die Installation erstmal die selbe sein.

Unterscheiden müssen sich nur die Configs.
Beschrieben ist das hier:
https://snips.gitbook.io/documentation/advanced-configuration/platform-configuration#example-of-configuration-file-for-one-main-device-in-the-living-room-and-one-satellite-small-device-in-the-bedroom

Hab auch recht lang in der Doku suchen müssen bis ich da drüber gestolpert bin.  ;D


Zu SAM:
Kann man auch auf dem selben Rechner installieren wie Snips, oder auf dem eigenen Desktoprechner (wofür es eigentlich gedacht ist) .

Ich hab es einfach mit zu Snips geknallt und er connected dann eben zu localhost.

Zu mehreren gleichzeitig aktiven Assistenten hab ich bisher noch nichts gesehen.
Wäre mit unterschiedlichen Hot-Words aber natürlich ne coole Sache...
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: laberlaib am 19 Juli 2018, 20:47:03
SAM auf den selben Raspi zu installieren ist natürlich gar nicht doof... naja, in der finalen Konfiguration dann.

Satelliten richte ich heute abend mal auf einem Zero ein.

Und zu mehreren Assistenten findet man das hier auf https://snips.ai/technology/ bzw. https://snips.ai/enterprise/
ZitatWake Word Gateway
Link multiple wake word with different assistants, including external ones such as Amazon Alexa or Google Assistant.
Wobei das dann hoffentlich nicht nur für die Enterpriseversion gilt, immerhin ist es auch auf /technology/.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 20 Juli 2018, 16:43:28
Hey Thyraz,

sag mal hast du auf console.snips.ai auch Skills aktiviert, z.B. Wetter... die du verwenden kannst und wo dann auch eine Sprachantwort via TTS ausgesprochen wird?
Bei mir will das nicht und das liegt vermutlich an hermes_python... Wenn das bei dir geht, verstehe ich nicht warum. Weil es das Paket nur für arm v7 und mac gibt.

Du schreibst hier:

Zitat von: Thyraz am 15 Juli 2018, 21:01:50
Assistant auf
https://console.snips.ai
konfigurieren und runterladen.
Entpacktes assistant Verzeichnis als /usr/share/snips/assistant speichern

Snips neu starten:
sudo systemctl restart "snips-*"

Sonst nichts, nur kopieren? Also kein...:
sam install assistant
sam update-assistant ?

Ich habe zwei Skills, "Wetter" und "Welcher Tag ist heute" in der Console aktiviert und den Ordner /usr/share/snips/.... kopiert.
Im snips-watch steht folgendes:

[16:12:57] [Hotword] detected on site default, for model hey_snips
[16:12:57] [Dialogue] session with id '75c45c20-2acc-4621-a13b-422e14bee5c3' was started on site default
[16:13:03] [Asr] captured text "wie wird heute das wetter vach" in 5.0s
[16:13:05] [Nlu] detected intent domi:searchWeatherForecast with probability 0.981 for input "wie wird heute das wetter vach"
              Slots ->
                 forecast_start_date_time -> 2018-07-20 00:00:00 +02:00
                        forecast_locality -> Vach
[16:13:05] [Dialogue] New intent detected domi:searchWeatherForecast with probability 0.981
              Slots ->
                 forecast_start_date_time -> 2018-07-20 00:00:00 +02:00
                        forecast_locality -> Vach
[16:13:11] [Dialogue] session with id '75c45c20-2acc-4671-a11b-412e15bee5c3' was ended on site default. The session was ended because one of the component didn't respond in a timely manner
[16:13:14] [Hotword] detected on site default, for model hey_snips
[16:13:14] [Dialogue] session with id 'f27650eb-097e-410d-8188-dc47f1a0a5ae' was started on site default
[16:13:21] [Asr] captured text "welchen tag haben wir heute" in 5.0s
[16:13:22] [Nlu] detected intent domi:currentDate with probability 1.000 for input "welchen tag haben wir heute"
[16:13:22] [Dialogue] New intent detected domi:currentDate with probability 1.000
[16:13:28] [Dialogue] session with id 'f27650eb-097e-410d-8188-dc47f1a0a5ae' was ended on site default. The session was ended because one of the component didn't respond in a timely manner


Unteres erhalte ich, wenn ich das Zip File per "sam install assistant" oder "sam update-assistant" installieren will.

root@snips2:~#  sam install assistant
Fetching assistants done
Found 1 assistant named test
Downloading assistant
Fetching assistants done
NLU training done
ASR training done
✔ Deploying assistant to localhost...
Checking for skills
Cloning skill domi.Wetter from url: https://github.com/MrJohnZoidberg/Snips-Wetter
Klone nach 'Snips-Wetter' ...

Cloning skill domi.Datum_+_Uhrzeit from url: https://github.com/MrJohnZoidberg/Snips-DatumUhrzeit
Klone nach 'Snips-DatumUhrzeit' ...

Generating virtual environment for python actions done
i Error setting up virtualenv, it might cause an issue on one of your action. It might also be caused by an invalid character in your skill name, reason : Could not find a version that satisfies the requirement hermes_python>=0.1 (from -r requirements.txt (line 1)) (from versions: )
No matching distribution found for hermes_python>=0.1 (from -r requirements.txt (line 1))
  Could not find a version that satisfies the requirement hermes-python>=0.1 (from -r requirements.txt (line 2)) (from versions: )
No matching distribution found for hermes-python>=0.1 (from -r requirements.txt (line 2))
  Could not find a version that satisfies the requirement hermes-python>=0.1 (from -r requirements.txt (line 2)) (from versions: )
No matching distribution found for hermes-python>=0.1 (from -r requirements.txt (line 2))
  Could not find a version that satisfies the requirement hermes_python (from -r requirements.txt (line 7)) (from versions: )
No matching distribution found for hermes_python (from -r requirements.txt (line 7))
Relaunching snips-skill-server
✔ Snips assistant is now running. Say hey_snips to start!
i Run sam watch to see the logs
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 20 Juli 2018, 17:33:08
Ah. Kann gut sein, dass das Paket nötig ist um fertige Skills mit Actions aus dem Store zu verwenden.
Wenn die in Python geschrieben sind, kann es sein, dass das Paket dann dafür nötig ist.
Ich hab davon bisher noch keine probiert.

Da ich aber direkt über FHEM lauschen will und nicht über einen Python-Zwischenlayer ist mir das nicht aufgefallen bisher.

Zum installieren des Assistenten:
Ja, kopieren und die Services neu starten reicht.

Sam ist ja nichts anderes, als ein Hilfstool, das genau diese Abfolge macht:
- Download mit vorherigem Trainieren des Assistenten
- Assistent entpacken und nach /usr/share/snips/assistant verschieben
- Services neu starten

Kann man an sich genauso gut händisch machen.
Hab aus Bequemlichkeit aber mittlerweile auch Sam installiert. ;)
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 20 Juli 2018, 18:00:38
Ahh alles klar, dann kann ich ja lange rumfummeln. :D
Ich dachte du verwendest zum Teil die vorgefertigten Skills...

Ich warte dann mal auf dein Testmodul. :)

Snips läuft jetzt bei mir so weit. Ich habe eine externe USB Soundkarte angeschlossen und den Sound vorerst im Fhem Container deaktiviert. Ich werde noch testen, ob man den doch irgendwie teilen kann.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 20 Juli 2018, 20:18:00
Wer am Wochenende noch nichts zu tun hat kann hier mal testen. 😉
https://github.com/Thyraz/Snips-Fhem

Ihr braucht:

- Eine funktionierende Snips Installation
- FHEM ,,App" im Assistent von https://console.snips.ai
- Ein MQTT Device in Fhem für den Snips MQTT Server
- Das verlinkte Snips Modul in Fhem definiert
- Die zu steuernden Geräte im Raum Snips mit passendem snipsMapping Attribut

Ist alles ausführlich in der Readme auf Github erklärt.

Bei Fragen einfach Fragen. ;)

Werde für das Modul auch noch einen extra Thread aufmachen.

Der Intent um Zahlenwerte abzufragen ist noch sehr mit heißer Nadel gestrickt:
Die Antwort ist immer gleich, egal welcher Type (Temperatur, Helligkeit, ...) erfragt wird.
Und die ,,Part" und "Map" Optionen aus dem Mapping gehen hier auch noch nicht.

Dafür gibts schon ein ,,say" Kommando für TextToSpeech, das noch nicht dokumentiert ist.

Bin mal gespannt ob soweit alles bei euch läuft.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 21 Juli 2018, 12:46:56
Wow da hast du schon ordentlich was hingezaubert und eine super Anleitung erstellt. Ein dickes Kompliment!! :)

Ich habe das Modul installiert und die FHEM APP eingerichtet.
TTS Ausgaben funktionieren schon mal... werde später noch Polly einrichten.

Was noch nicht geht, ist das schalten.

Reicht es aus, z.B. bei meiner WZ_Stehlampe (Fhem Device) die an einer Sonoff Steckdose mit Tasmota hängt, folgende Attribute zu setzen?
snipsMapping SetOnOff=valueOff=OFF,cmdOn=ON,cmdOff=OFF
snipsName Bogenlampe
room Snips


snips-watch:
[12:36:22] [Asr] captured text "bogenlampe ein" in 2.0s
[12:36:23] [Nlu] detected intent mark79:SetOnOff with probability 1.000 for input "bogenlampe ein"
              Slots ->
                 Device -> Bogenlampe
                  Value -> an

             
Fhem Event monitor:
2018-07-21 12:36:23 SNIPS Snips lastIntentPayload: {"sessionId":"6a07b5ac-2e0a-42bc-af2a-7e72f08a2579","customData":null,"siteId":"default","input":"bogenlampe ein","intent":{"intentName":"mark79:SetOnOff","probability":1.0},"slots":[{"rawValue":"bogenlampe","value":{"kind":"Custom","value":"Bogenlampe"},"range":{"start":0,"end":10},"entity":"de.fhem.Device","slotName":"Device"},{"rawValue":"ein","value":{"kind":"Custom","value":"an"},"range":{"start":11,"end":14},"entity":"de.fhem.OnOffValue","slotName":"Value"}]}

Mehr passiert leider nicht. Ich muss jetzt auch erstmal weg, heute Abend mach ich weiter.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 21 Juli 2018, 13:52:08
Fehler gefunden, ich hatte den Assistantsnamen als Prefix im define, anstatt des Snips Accountnamen.
Nun geht es, coole Sache! :)
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 21 Juli 2018, 14:08:05
An sich sieht das gut aus.
Kann sich an sich nur um ne Kleinigkeit handeln.

Der Payload enthält den Intent "SetOnOff", das Device "Bogenlampe" und den Wert "an".
Mehr ist an sich nicht nötig.

Ich denke es hängt am Mapping.
Hier braucht man immer komma-getrennte Key-Value Paare (Also Key1=Wert1,Key2=Wert2,...).
Und hinter dem Intent muss als Wert das Reading kommen über den das Modul den Wert ggf. zurücklesen kann.
(Beim SetOnOff wird das im Moment wohl noch nicht verwendet, aber bei den anderen Intents ist das wichtig um z.B. die Helligkeit einer Lampe um 10% zu erhöhen.)

Der Teil SetOnOff=valueOff=OFF ist daher so nicht gültig.
Bist du dir auch sicher, dass die Befehle ON und OFF wirklich groß geschrieben sind?
Die meisten FHEM Module setzen auf kleingeschriebene on und off Befehle.
Zumindest meine Hue Lampen spucken eine Fehlermeldung aus, wenn ich in der FHEM Console set Nachttischlampe ON eingebe.

Das Mapping sieht bei mir hier z.B. so aus:

SetOnOff=state,valueOff=off,cmdOn=on,cmdOff=off
GetOnOff=state,valueOff=off
SetNumeric=dimmerVal,cmd=pct,step=20
GetNumeric=dimmerVal,type=Helligkeit


Falls die Lampe nicht dimmen kann, reichen natürlich die ersten zwei Zeilen um ein- / auszuschalten und den aktuellen Status abzufragen.


Falls es das nicht ist:

Hast du im Snips Device 2 Readings lastIntent und lastIntentPayload?
den Payload hast du ja schon vom Event Monitor gepostet, das Intent Reading wirft aber keine evtl. keine Events.

Kannst du sonst auch noch ein list vom Snips Device posten?
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 21 Juli 2018, 14:10:03
Ah, gut dann hast du es ja schon gefixt. :)

Dann hat er sich an dem Mapping wohl doch nicht verschluckt, auch wenn es nicht ganz richtig war.
Da das Readings bei SetOnOff noch nicht genutzt wird, und valueOff eigentlich auch nur bei GetOnOff statt SetOnOff interessant ist, eigentlich auch recht logisch.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 21 Juli 2018, 14:13:07
Ach ja, was auch noch nicht geht:

Hey Snips, wie warm ist es im Wohnzimmer ohne Angabe des Geräts (z.B. "Thermometer").
Hier werde ich noch einbauen, dass dann alle GetNumeric Intents mit type=Temperatur im passenden Raum gesucht werden.

Bei nur einem Treffer dann eben eine Rückmeldung Die Temperatur im Wohnzimmer beträgt 22.3 Grad.
Bei mehreren Treffern etwas in die Richtung Die Temperatur im Wohnzimmer beträgt zwischen 21.9 und 22.5 Grad.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 21 Juli 2018, 23:59:30
Ja sorry, ich war etwas im Zeitdruck, wo ich das eingerichtet hatte. :)

Nun funktioniert das echt gut, ich habe noch drei Devices hinzugefügt und das klappte auf Anhieb.
Einmal "Wohnzimmer", "Küche" und "Wohnung" an/aus. Bei mir steht Snips bzw. das Mikro im Flur und dort gibt es nicht so viele Anwendungsfälle.

Im Wohnzimmer und Küche habe ich jeweils eine Alexa. Nun überlege ich schon, die Alexas zu ersetzen... :D
Das Mikro scheint auch gut zu sein, Snips erkennt es sogar aus 6m Entfernung, mit einer offenen Tür dazwischen.
Aber ich muss noch genauer testen, wie das mit Störgeräuschen aussieht, wenn z.B. der TV nebenbei läuft.

Readings abfragen habe ich noch nicht probiert. Mach ich aber später noch. :)

Ich habe mir ein Orange pi zero mit Erweitungsplatine  (3,5mm Audioausgang & zusätzlichen USB Ports, Micro) für 15,xx€ bestellt. Da kann ich es besser testen.
Das ist auch ein armv7 und wird von armbian unterstützt, also sollte es das python_hermes Paket dafür geben.

Die Readings mit ON/OFF in Großschrift sind bei der Tasmota Firmware so. Bei Espeasy werden die klein geschrieben.

Die TTS Funktion finde ich auch nett, damit kann ich im Fhem LXC Container den Sound deaktiviert lassen und habe dazu noch den Amazon Polly Sound, der sich besser als der von Google anhört.

Kannst du noch was zu der play Funktion sagen? :)
Ich habe schon versucht Lokal per Pfad ein wav oder mp3 als URL abzuspielen, aber das hat nicht geklappt.

Wir hören Abends zum Einschlafen öfters das hier:
http://einschlafen-podcast.de/
http://cdn.podseed.org/einschlafen/ep0421.mp3

Dafür wäre das später mal perfekt. :) Derzeit habe ich dafür ein Android Tablet.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: kud am 22 Juli 2018, 12:55:32
Habe mal Snips auf einem Test Raspi installiert... geht ;-)
Jetzt wollte ich meinen FHEM-Pi mit MQTT einbinden.
Muss ich dafür Mosquitto komplett installieren? Snips soll ja schon einen eingebaute Broker haben?
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: Thyraz am 22 Juli 2018, 14:14:10
Hab für das Modul mal hier noch einen Thread aufgemacht:
https://forum.fhem.de/index.php/topic,89548.0.html

Für Fragen dazu dann am besten dort weiter.

@mark79:
Die Play Funktion geht noch nicht, da muss ich erstmal schauen wie ich das einbaue.
Wenn man nur WAV Dateien unterstützen will, welche lokal auf dem Rechner von Snips liegen wäre das sehr einfach.

Wenn die Dateien vom Fhem Rechner kommen sollen, müsste das als Payload mit über MQTT übertragen werden.
Ob das Fhem MQTT Modul das hergibt, oder ob das dann irgendwie anders gemacht werden muss weiß ich noch nicht.
Auch für MP3 müsste ich dann noch eine MP3 -> WAV Konvertierung davor schalten.

@kud snips installiert Mosquitto automatisch mit und nutzt das auch für die interne Kommunikation der einzelnen Dienste aus denen Snips besteht.
Kannst diesen Broker also direkt in FHEM mit dem MQTT Modul einbinden.
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 22 Juli 2018, 16:00:51
Ja so weit habe ich gar nicht gedacht. Einfacher wäre es dann wohl, das man Fhem auf das Snips Gerät installiert und es dann per Fhem2Fhem steuert.
Das TTS Fhem Modul unterstützt die lokale und externe Audiowiedergabe. Aber das ganze ist eh erstmal Zukunftmusik...


Viele Grüße
Mark
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: msommer am 24 Juli 2018, 10:02:48
Hallo,

Wie schaut denn das mit mit der Performance/Load von Snips aus?
Kann Snips problemlos neben FHEM auf einem Pi 3 laufen, oder ist das eher keine gute Idee?
Titel: Antw:Sprachsteuerung mit Snips
Beitrag von: mark79 am 24 Juli 2018, 10:07:22
Hallo,

schau bitte mal in den neuen Thread rein, dort wurde das beantwortet: https://forum.fhem.de/index.php/topic,89548.msg820197.html#msg820197


Viele Grüße
Mark