Noch jemand aus Deutschland?

Snips installiert seinen eigenen Broker. Der läuft auch auf dem Standard Port. Wenn du dich mit Mqtt.fx auf den verbindest siehst du alle Topics.

Ich benutze MPD auf mehreren Raspis (Stube, Werkstatt, mein Büro) und habe die Steuerung in mein Python-Skript (eigenes Skript, nicht mit snips action angelegt). Ich benutze die Python-Bibliothek MPDClient, mit der man im Prinzip alles abrufen kann, was mit mpc oder ncmpc als Terminalprogramme geht.
Als Beispiel gebe ich dir mal ein paar Zeilen aus meinem Skript und die Funktion zur Wahl eines anderen Senders aus meiner Playlist:

##Beginn Code
from mpd import MPDClient #erforderlich zur Kommunikation mit dem MPD-Internet-Radio-Player
mpcc = MPDClient()

#Funktion zur Auswahl eines anderen Senders bei einem MPD-Internet-Radio
def channel_select(host,kanal):
kanal = kanal - 1 #Menschliche Zählweise (Start 1) auf digital Zählung (Start 0)
#umsetzen
#hostpool ist Zuordnung von Gerätennamen auf deren IP-Nummern
hostpool = {‘Internetradio1’ : ‘IP_1’, ‘Internetradio_2’ : ‘IP_2’, ‘Internetradio_3’ : 'IP_3}
host = hostpool[host]
mpcc.connect(str(host),6600)
mpcc.play(str(kanal))
mpcc.disconnect()

##Ende Code
In meinem Skript wird die Funktion ausgeführt, wenn sie Stichworte “Kanal” (oder Sender) und ein Radioname genannt wird. Die Funktion hat zwei Argumente: Gerät (host) und Senderposition (kanal). Dann wird aus dem Dictionary hostpool die IP Nummer des Gerätes geholt und vom genannten Kanal wir 1 subtrahiert, da wir als Menschen die erste Position in einer Liste als Platz 1 bezeichnen. Für MPD ist aber der erste Platz in einer Playlist der Platz 0. Wichtig ist, dass die Bibliothek zunächst einer Verbindung aufbaut (mpcc.connect()), dann die Aktion übergibt (mpcc.play()) und anschlie0end die Verbindung wieder schließt. MPDClient() ist recht gut dokumentiert.

Edit: Es will mir nicht gelingen den Code als Code darzustellen. Die Python-typischen Einrückungen musst du dir dazu dnken…

@Johannes
Super - vielen Dank hat geklappt :slight_smile:

Jetzt habe ich noch eine ganze Menge “Node-Red-Arbeit” vor mir…
Ein “Template” wäre jetzt nicht schlecht zum schnellen Einstieg :wink:
Grüße - und noch mal Danke…

Guten Morgen zusammen,
…ich darf mich kurz vorstellen - bin der Tom, 49, aus der Nähe von Mannheim; und gerade am Basteln an meiner ersten Heim-Automation…
Eine offline Sprachsteuerung mit Snips und openHAB2…
Soweit so gut; 2 Raspis habe ich inzwischen aufgesetzt - auf dem einen läuft Snips, auf dem anderen openHAB2, mit dem ich auch schon meine, mit Tasmota geflashten, Steckdosen schalten kann :wink:

Jetzt muss ich ja nur noch die beiden Systeme “binden”. Und das ganze natürlich mit dem MQTT 2.4, also der neueren Variante…

  • Im PaperUI die Bridge angelegt - online
  • dann den Broker mit Verweis auf die Bridge - online
  • den ersten Channel angelegt; noch ohne Topics - online
  • ABER sobald ich im Channel ein topic beschreibe - geht alles offline; Communication error…

Die Topics habe ich aus verschiedenen Foren probiert, aber alles nix :frowning_face:
Kann mir vielleicht jemand hier verraten, wie die richtigen topics lauten müssen?!? Ich denke, bzw. hoffe, eigentlich schon…

Über MQTTfx kann ich übrigens “mitlesen”, d.h. der Snips Broker funzt; oder sehe ich da was falsch?

LG Tom

Hi Tom,
versuche doch mal den OpenHab Skill von Alpha. Den kannst hier im Store deinem snips assistant hinzufügen. Letztlich musst du dann in Openhab nichts weiter machen als deine Items sauber zu tagggen - da hat alpha unterschiedliche Beispiele in seinem github repo bzw. wiki.
Der Skill funktioniert bei mir super.

Insgesamt bin ich jetzt aber am überlegen auf Mycroft o.ä. zu wechseln, da snips ja kürzlich von Sonos gekauft wurde…da Sonos jetzt nicht unbedingt für openSource steht, gehe ich davon aus, dass Snips wie wir es kennen, bald tot ist :frowning:

…hallo noch mal - ok, das werde ich mir mal zu Gemüte führen.

Wenn aber trotzdem jemand diese beiden 2.4er topics für mich hätte - den Rest habe ich ja soweit schon “fertig”…

LG Tom

Hatte mal nen openHAB Mqtt Tutorial geschrieben, vielleicht hilft dir der Mqtt Setup Teil am Anfang:

Moin,
…was mich ja an der Sache irritiert ist, dass in allen Foren die Rede ist von: “hermes/intent/…”

Wenn ich aber mit MQTTfx mitlese, finde ich da keinen einzigen Eintrag mit “…/intent/…”?!?

mqttfx

Was läuft denn da falsch?
LG Tom

Wenn du unter dem topic hermes/intent/# in Mqtt.fx nichts siehst, dann ist wahrscheinlich noch kein intent detektiert worde. Was sagt denn snips-watch -vvv oder sam watch, siehst du da das Intents gefunden werden? Also Hotword —> ASR —> NLU —> Intent?

Auf hermes/intent/# kommt auch erst dann was an, wenn snips aus dem gesprochenem Audiostream nach dem Hotword ein Wort oder Worte entdeckt hat, die zu bestimmten Slots definiert wurden.

So ich poste es nochmal hier falls es noch niemand mitbekommen hat:


Ende Januar schaltet Snips die Konsole ab.

Und das noch hinterher - eventuell bekommen wir wenigstens mehr Zeit alles auf eine neue Plattform zu überführen…

1 Like

Wow, Ende Januar ist wirklich rasch.
Ich hatte schon mit etwas längerer Abschlussfrist gerechnet… :frowning:

Verzeiht die vielleicht etwas dumme Frage, ich hab mich leider noch nicht eingearbeitet - das hatte ich mir eigentlich für die Weihnachtszeit vorgenommen:
Neue Apps gehören damit ab Februar der Vergangenheit an. Seine lokale Installation wird man dann ja sicherlich noch weiter laufen lassen können. Aber was darüber hinaus wird dann überhaupt noch sich anpassen / verändern lassen?

Hallo Forum,
bin neu und und kämpfe mit dem Einrichten der Console .
User ist angelegt, beim Einloggen bekomme ich die Meldung:

The website is down

Please check back in a moment!
bin über diesen Link eingestiegen:
https://console.snips.ai/login

gibt es alternativen zu snips? Geht es weiter nachdem SONOS übernommen hat.

vielen Dank für eine Rückantwort

Nachtrag bin über diesen Link eingestiegen :

https://console.snips.ai/login

Schau mal die Posts über deinen Sonos/Snips haben gerade mitgeteilt das die Konsole Ende Januar abgeschaltet wird. Dann laufen zwar die Assistenten die bis dahin installiert sind weiter, aber es kann dann nichts mehr geändert werden. Damit ist Snips dann im Prinzip Tod, vielen Dank an Sonos dafür :face_with_symbols_over_mouth:

1 Like

Als Alternativen gibt es entweder die Möglichkeit sich Sachen wie Mycroft oder Rhasspy anzuschauen oder selbst etwas zu basteln auf Grundlage von Snowboy / Pocketsphinx / irgendeiner Art von Intent Filter / Pico tts

Hallo nochmal,

…inzwischen habe ich die Kombi Snips/openHAB2 am Laufen - leider bisschen spät; wenn ich an das Abschaltdatum denke… :frowning:
Bis dahin würde ich aber gerne noch ein paar Kommandos/Assistenten einfügen - kommt aber auch gleich die Meldung “Website down”… Ist denn schon Ende Januar, und ich habs verpasst?!?
LG Tom

Auch ich bin etwas “spät” auf Snips gestossen. Die Snips-Console nimmt keine neuen User mehr auf. Die Funktion wurde abgeschaltet. Auch den Weg über Githup hätte ich versucht. Aber auch da ist der Weg verschlossen.

Gäbe es noch einen Weg zu den deutschen Apps? Wäre es möglich, an diese Apps noch irgendwie zu kommen? Offener Account?
Snips wäre einfach zu gut. So könnte man das System noch etwas zum Test nutzen und Erfahrung sammeln.

Vorab danke für eure Rückmeldung!

Hallo allesamt. Ich habe bei mir schon seit langem ein OpenHAB2 am Laufen.
Gestern ist nun meine Hardware (Pi+Microfon) angekommen und ich hab mich gleich drangesetzt, das aufzusetzen.
Habe Snips installiert und den Skill “OpenHab” von Alpha200 geladen. Dann dann angefangen, meine .items-Datei im OpenHAB entsprechend zu taggen.

Nun hänge ich gerade an folgendem Stand:

  • Zum Einen kann ich im Habbot schriftliche Text-Kommandos eingeben kann z.B.: “Schalte das Licht im Wohnzimmer an.” und diese auch erfolgreich durchgeführt werden.

  • Zum Anderen kann ich bei Snips ein Kommando sprechen und dieses wird auch erfasst und dem richtigen Intent zugeordnet.

  • Leider wird aber keine Action ausgelöst. Ich erhalte im san watch immer die Meldung:

    The session timed out because its continuation or termination was not handled by any running action code.

    Die gleiche Meldung erhalte ich auch, wenn ich bspw. den Skill “Wetter” von daenera ausprobiere.

Muss man den sich erst selbst schreiben bei einem heruntergeladenen Skill (hier: OpenHAB bzw. Wetter) eine Action auszulösen?
Ich dachte, die sind bei den Skills bereits mit gebundelt…

Hier noch die Ausgabe von sam watch bzw. sam service log:

pi@raspberrypi:~ $ sam watch
[13:31:34] Watching on localhost:1883 (MQTT)
[13:32:05] [Hotword] detected on site default, for model hey_snips
[13:32:05] [Asr] was asked to stop listening on site default
[13:32:05] [Hotword] was asked to toggle itself 'off' on site default
[13:32:05] [Dialogue] session with id '5b53cc00-b1fc-45e8-83e0-39b8cf68972a' was started on site default
[13:32:05] [AudioServer] was asked to play a wav of 41.1 kB with id '7d283c5c-ca18-432f-894f-85298a72b2ae' on site default
[13:32:06] [AudioServer] finished playing wav with id '7d283c5c-ca18-432f-894f-85298a72b2ae'
[13:32:06] [Asr] was asked to listen on site default
[13:32:09] [Asr] captured text "schalte das licht im wohnzimmer aus" in 3.0s
[13:32:09] [Asr] was asked to stop listening on site default
[13:32:09] [AudioServer] was asked to play a wav of 93.1 kB with id 'fd1e7def-4319-4d33-82e8-7e46f5ef1701' on site default
[13:32:11] [AudioServer] finished playing wav with id 'fd1e7def-4319-4d33-82e8-7e46f5ef1701'
[13:32:11] [Nlu] was asked to parse input "schalte das licht im wohnzimmer aus"
[13:32:11] [Nlu] detected intent Alpha200:switchDeviceOff with confidence score 1.000 for input "schalte das licht im wohnzimmer aus"
              Slots ->
                 device -> Licht (confidence: 0.823)
                   room -> Wohnzimmer (confidence: 1.000)
[13:32:11] [Dialogue] New intent detected Alpha200:switchDeviceOff with confidence 1.000
              Slots ->
                 device -> Licht (confidence: 0.823)
                   room -> Wohnzimmer (confidence: 1.000)
[13:32:16] [Dialogue] session with id '5b53cc00-b1fc-45e8-83e0-39b8cf68972a' was ended on site default. The session timed out because its continuation or termination was not handled by any running action code.
[13:32:16] [Asr] was asked to stop listening on site default
[13:32:16] [Hotword] was asked to toggle itself 'on' on site default

.

root@raspberrypi:/home/pi# sam service log
Jan 25 13:32:05 raspberrypi snips-hotword[16467]: INFO:snips_hotword_hermes        : Hotword detected: site_id:default model:hey_snips (135ms ago)
Jan 25 13:32:05 raspberrypi snips-dialogue[16460]: INFO:snips_dialogue_lib::coordinator::coordinator: Site [default]: reset site -> turn off ASR and turn off Hotword
Jan 25 13:32:05 raspberrypi snips-dialogue[16460]: INFO:snips_dialogue_lib::coordinator::coordinator: Session [5b53cc00-b1fc-45e8-83e0-39b8cf68972a]: The session has been created because the site "default" is free
Jan 25 13:32:05 raspberrypi snips-hotword[16467]: INFO:snips_hotword_lib::audio    : Audio thread for site default stopped.
Jan 25 13:32:05 raspberrypi snips-audio-server[16450]: INFO:snips_audio_alsa::playback       : Using ALSA output None ("bcm2835 ALSA") for "7d283c5c-ca18-432f-894f-85298a72b2ae", WavSpec { channels: 2, sample_rate: 22050, bits_per_sample: 16, sample_format: Int }
Jan 25 13:32:06 raspberrypi snips-audio-server[16450]: INFO:snips_audio_alsa::playback       : Playback for 7d283c5c-ca18-432f-894f-85298a72b2ae finished
Jan 25 13:32:06 raspberrypi snips-tts[16470]: INFO:snips_tts_hermes: Received a play finished message from audio server with an unknown id '7d283c5c-ca18-432f-894f-85298a72b2ae'. Ignoring it.
Jan 25 13:32:06 raspberrypi snips-asr[16458]: INFO:snips_asr_hermes::handler : Listening at site id default
Jan 25 13:32:06 raspberrypi snips-asr[16458]: INFO:snips_asr_hermes::handler : Listening
Jan 25 13:32:06 raspberrypi snips-asr[16458]: INFO:snips_asr_lib::asr        : T0       entered AsrRunner::run
Jan 25 13:32:06 raspberrypi snips-asr[16458]: INFO:snips_asr_lib::asr        : T0+0.000 capture started
Jan 25 13:32:09 raspberrypi snips-asr[16458]: INFO:snips_asr_lib::asr        : T0+3.276 endpoint detected (rule:4) frame:195 samples:49920 signal_time:3.12 rtf:0.632
Jan 25 13:32:09 raspberrypi snips-asr[16458]: INFO:snips_asr_lib::asr        : T0+3.289 capture ended
Jan 25 13:32:09 raspberrypi snips-asr[16458]: INFO:snips_asr_lib::asr        : T0+3.335 decoder finalized
Jan 25 13:32:09 raspberrypi snips-asr[16458]: INFO:snips_asr_lib::asr        : T0+3.384 lookup and post-processing done
Jan 25 13:32:09 raspberrypi snips-asr[16458]: INFO:snips_asr_lib::asr        : decoded: [Recognition { decoded_string: "schalte das licht im wohnzimmer aus", likelihood: 0.9024634, tokens: Some([Token { value: "schalte", confidence: 1.0, time: (0.0, 0.65999997), range: 0..7 }, Token { value: "das", confidence: 1.0, time: (0.65999997, 0.78), range: 8..11 }, Token { value: "licht", confidence: 0.8233259, time: (0.78, 1.0746998), range: 12..17 }, Token { value: "im", confidence: 1.0, time: (1.0746998, 1.23), range: 18..20 }, Token { value: "wohnzimmer", confidence: 1.0, time: (1.23, 1.77), range: 21..31 }, Token { value: "aus", confidence: 0.656154, time: (1.77, 2.9399998), range: 32..35 }]) }]
Jan 25 13:32:09 raspberrypi snips-asr[16458]: INFO:snips_asr_hermes::handler : Publishing the recognition
Jan 25 13:32:09 raspberrypi snips-asr[16458]: INFO:snips_asr_hermes::handler : Preparing decoder
Jan 25 13:32:09 raspberrypi snips-audio-server[16450]: INFO:snips_audio_alsa::playback       : Using ALSA output None ("bcm2835 ALSA") for "fd1e7def-4319-4d33-82e8-7e46f5ef1701", WavSpec { channels: 2, sample_rate: 22050, bits_per_sample: 16, sample_format: Int }
Jan 25 13:32:11 raspberrypi snips-audio-server[16450]: INFO:snips_audio_alsa::playback       : Playback for fd1e7def-4319-4d33-82e8-7e46f5ef1701 finished
Jan 25 13:32:11 raspberrypi snips-tts[16470]: INFO:snips_tts_hermes: Received a play finished message from audio server with an unknown id 'fd1e7def-4319-4d33-82e8-7e46f5ef1701'. Ignoring it.

Jan 25 13:32:16 raspberrypi snips-dialogue[16460]: INFO:snips_dialogue_lib::coordinator::coordinator: Session [5b53cc00-b1fc-45e8-83e0-39b8cf68972a]: closing session which was active: Timeout { component: Some(ClientApp) }
Jan 25 13:32:16 raspberrypi snips-dialogue[16460]: INFO:snips_dialogue_lib::coordinator::coordinator: Site [default]: reset site -> turn off ASR and turn on Hotword
Jan 25 13:32:16 raspberrypi snips-hotword[16467]: INFO:snips_hotword_lib::audio    : Audio thread for site default started.