SNIPS: Sprachsteuerung (mittlerweile auch per Textcommands) über snips.ai

Begonnen von Thyraz, 21 Juli 2018, 20:28:48

Vorheriges Thema - Nächstes Thema

enno

Zitat von: Thyraz am 06 September 2018, 22:46:24
Kannst du mal deine /etc/asound.conf posten und die Ausgabe von sudo aplay -l

pi@snipes:~ $ cat /etc/asound.conf
pcm.!default {
  type asym
   playback.pcm {
     type plug
     slave.pcm "hw:0,0"
   }
capture.pcm {
    type plug
    slave.pcm "hw:1,0"
    slave.channels 4
    ttable {
    0.0 30.0
    1.1 30.0
  }
}
}
pi@snipes:~ $ sudo aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
  Sub-Geräte: 7/7
  Sub-Gerät #0: subdevice #0
  Sub-Gerät #1: subdevice #1
  Sub-Gerät #2: subdevice #2
  Sub-Gerät #3: subdevice #3
  Sub-Gerät #4: subdevice #4
  Sub-Gerät #5: subdevice #5
  Sub-Gerät #6: subdevice #6
Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0

Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

noname41

Hallo Thyraz,

danke für die rasche Antwort.

Ich habe FHEM zu beginn der Installation aktualisiert.

Kurz die Zusammenfassung meiner Schritte mit der Rückfrage ob diese korrekt waren?
Installation von MQTT auf dem FHEM-Rasperry nach dieser Anleitung:
https://wiki.fhem.de/wiki/MQTT_Einf%C3%BChrung

Definition von MQTT in FHEM:
define SnipsMQTT MQTT <ip-or-hostname-of-snips-machine>:1883

Installation von SNIPS auf entferntem Raspberry laut Github
https://github.com/Thyraz/Snips-Fhem

Import der 10_SNIPS.pm aus Github. Danach neustart von FHEM
definition von SNIPS:
define Snips SNIPS SnipsMQTT Wohnzimmer

--> hier kam dann der Fehler

LG und Danke für die tolle Arbeit
Klaus

Thyraz

Zitat von: noname41 am 07 September 2018, 07:49:48
Import der 10_SNIPS.pm aus Github. Danach neustart von FHEM

Kannst du mal schauen ob die Datei anständig aussieht wenn du sie auf dem FHEM Rechner z.B. im Terminal mit "nano 10_SNIPS.pm" anschaust?

Bzw. wie hast du sie denn runtergeladen und übertragen?

Man findet im FHEM Forum einige Treffer zu diesem Fehler und fast immer hatten die User dann eine HTML Datei statt der echten Moduldatei.
Was PERL dann als langen <> (größer/kleiner) Vergleich anmeckert kommt dann durch irgendwelche HMTL Tags in der Datei...
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

enno

Zitat von: Thyraz am 06 September 2018, 22:46:24
Bin mal gespannt ob man das dann überhaupt generisch für alle User hinbekommt,
oder ob man das editieren muss je nach verwendeter Soundkarte.

So nun geht es (fast). Ich habe in deinem Script snips-volume.py zwei Zeilen geaendert:
Statt mixer = alsaaudio.Mixer()
steht bei mir jetzt:
mixer = alsaaudio.Mixer('PCM')

Geholfen hat mir dieser Tip:
https://stackoverflow.com/questions/41592431/changing-volume-in-python-program-on-raspbery-pi
Zitat
If the line m = alsaaudio.Mixer() throws an error, then try:

m = alsaaudio.Mixer('PCM')

this might happen because the Pi uses PCM rather than a Master channel.

You can see more information about your Pi's audio channels, volume (etc..), by running the command amixer.

und hier ein paar Beispiele, wie man das vielleicht automatisieren kann:
https://www.programcreek.com/python/example/91452/alsaaudio.Mixer

Das Startscript scheint aber noch nicht zu funktionieren.
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

Thyraz

Das sieht ja schonmal gut aus.
Danke für die Fehlersuche. :)

Werde mir das mit dem Automatisieren mal anschauen am WE.

Zum Thema Service:
An sich ist das nur eine Kopie von snips-tts-polly.service.
Der läuft problemlos bei dir?

Evtl. mal StandardOutput und StandardError beim Service mitloggen lassen?
https://stackoverflow.com/questions/37585758/how-to-redirect-output-of-systemd-service-to-a-file/37595720

Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

ahlermi

Hallo Zusammen,

bin das Readme nun 3 mal durchgegangen, ich könnte etwas hilfe brauchen.
Server läuft, Fhem über SAM eingespielt, watch zeigt Ergebnisse, siehe Anhang.

Führe ich updateModel aus, kommt auch was an.

Ich habe einfach um zu testen den Befehl

set Snips textCommand schalte Wasserkocher ein

ausgeführt.

Es hat den anschein das Snips Fhem nicht antwortet.
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

Thyraz

Hallo ahlermi,

edit: vergiss was hier stand.
Führ mal sam status aus.
Ich wette der NLU Service läuft nicht.

In sam watch sollte auf das NLU was asked to parse ... eine Antwort von NLU kommen.
Die fehlt bei dir.

Wir hatten das schon bei ein paar Usern:

Da lag es am Entpacken des Assistenten unter Windows anstatt unter Linux:
https://forum.fhem.de/index.php/topic,89548.msg829864.html#msg829864

Aber eigentlich müsste der Assistent bei dir korrekt installiert sein denke ich, du nutzt ja sam.
Somit wirst du ihn wahrscheinlich über "sam install assistant" installiert haben und nicht händisch, oder?

Falls NLU wirklich nicht läuft, könntest du mal den Service über

sudo systemctl stop snips-nlu.service

stoppen und dann NLU mal händisch in der Konsole starten um eventuell ausgegeben Fehler zu sehen:

sudo snips-nlu -v

Das Fenster dann offen lassen und falls nicht sofort ein Fehler kommt mal ein Sprachkommando ansagen.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

ahlermi

Reboot von Snips Rabsi hat es zum laufen gebracht  ::)

War wohl was mit den services, die sind einfach nicht gestartet.
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

Thyraz

Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

enno

Zitat von: enno am 04 September 2018, 19:58:18
ich habe mir eben 4 Array ReSpeaker bestellt. Mal sehen wie sich das Ding im direkten Vergleich an gleicher Stelle schlägt. Lieferung Freitag. Ich werde berichten...

So Micro gegen 4 Array ReSpeaker (erste Version nicht V2 Core) ausgetaucht und Setup geändert. Subjektiv klappt das mit der Erkennung etwas besser als mit dem PS3 Micro. Grosser Raum etwas Hall und viele Nebengeräusche (Kinder, Radio, TV, Küchengeklapper, etc) Habe jetzt eine Schleife drin, die das Radio leiser stellt, wenn Snips "lauscht".
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

noname41


Thyraz

@enno was ist das dann genau, das 4 speaker mic für den Rapsberry?
Blicke bei den Produkten von denen nicht so recht durch.

Es gibt ja das 2 Mic und 4 Mic Array als Aufsatz für den Pi.
Haben die auch einen Prozessor drauf der Hall/Echo intern rausfiltert?

Oder haben das nur die USB Varianten (alt: 6+1 Mic Array USB alt und neu: 4 Mic Array USB V2)
Die Core V1 und V2 sind meines Wissens ja einfach die alte bzw. neue USB Variante mit einem kleinen Rechner integriert.
Also eine All-in-one Lösung.

Irgendwie geht der Unterschied aus der Homepage von denen nicht so recht hervor.
Wenn beides das selbe ist, nur einmal USB und einmal zum Aufstecken auf den Pi, kapiere ich den Preisunterschied nicht so recht.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Thyraz

So, hab eben meinen ersten Satelliten installiert. :)

Pünktlich dazu wurde die Doku zum installieren von Satelliten in der Doku überarbeitet.
Wenn das mal kein Timing ist. :P
(Da sind jetzt auch beide Varianten beschrieben, Hotword auf Maindevice und Hotword auf Satellite.)

https://snips.gitbook.io/documentation/installing-snips/multi-device-setup-satellites

Ging ja echt schnell und einfach.

Ein nettes Fazit daraus:
Sonderzeichen im Satellitennamen in der /etc/snips.toml sind kein Problem.
Satellitennamen und snipsRooms mit Namen wie Küche oder Büro funktionieren also einwandfrei.


@enno damit hab ich auch eine Spielwiese um das mit snips-volume mal bei mir zu testen.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

enno

Zitat von: Thyraz am 07 September 2018, 21:51:40
@enno damit hab ich auch eine Spielwiese um das mit snips-volume mal bei mir zu testen.

Super, ich bin gespannt. Bin das Wochenende erst mal unterwegs.

Wenn du Zeit hast, kannst du die Beschreibung für Medien mit einer Beispielkonfiguration versehen. Ich blicke es irgendwie nicht. Ich habe einen "MPD" auf dem Server laufen. Von dort kommen die Streams. Dort kann ich vor und zurück spulen, etc. Lautstärke und etc. veränder ich am Device "STEREO" (YAMAHA_AVR) . Jetzt verstehe ich leider nicht, wo was rein muss, damit ich über lauter/leiser das STEREO Device steuer und mit vor/zurück in der Playlist von MPD springe.

Schönes Wochenende und viel Erfolg auf der "Spielwiese" 8)

Gruss
  enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

kud