Alexa TTS über VoiceMonkey

Hallo!

Ich breche hier mal eine Lanze für Alexa TTS über Voice Monkey. Ich verfolge nun seit einiger Zeit den Thread „Amazon Echo Remote Control“ und irgendwie geht es da meistens um „geht nicht“, „geht nicht mehr“, „Cookie Monster“, „Linux irgendwas“, …
Für den Anwender, der zwar technisch interessiert ist aber nicht so ins Detail abtauchen möchte, mag vielleicht Voice Monkey (voicemonkey.io) interessant sein. Damit lässt sich Alexa TTS sehr einfach (mit einem kleinem initialen Einrichtugnsaufwand) und sehr stabil realisieren. Nach Aufsetzen und Registrierung genügt es einfach als Aktion ein php Skript auszuführen und schon erzählt auch Alexa was immer ihr wollt:

<?php $handle = fopen("https://api.voicemonkey.io/trigger?access_token=DeinAccessToken&secret_token=DeinSecretToken&monkey=DeinMonkey&announcement=DeinText", "r"); ?>

Das läuft bei mir seit mehr als einen halben Jahr ohne Unterbechung / Probleme über den X1 und jetzt auch problemlos mit der IPS.

Nachdem ich kein Entwickler bin, vielleicht kann ja jemand aus dem ein Modul basteln.

Ah ja, weil da immer Bedenken zu Datenschutz und so sind: Sobald eine Alexa im Haus ist, sollte man sich über Datenschutz und Co eh keine Gedanken mehr machen!

3 „Gefällt mir“

Habe es soweit installiert, nach einigen Fehl-Versuchen funktioniert die Sprachausgabe schon mal.

<?php $handle = fopen("https://api.voicemonkey.io/trigger?access_token=xxxxxxxxxxxxxxxx&secret_token=xxxxxxxxxxxmonkey=lutzecho-dot&announcement=Diese%20Meldung%20ist%20ein%20Test", "r"); Mal sehen wie die weitere Abarbeitung von Ausführungsanweisungen zur Steuerung von Geräten funktioniert.

Ich habe Voice Monkey jetzt auch mal auf vier Alexa’s eingerichtet.
Solange dieses Thema per IP-Symcon-Modul nicht zuverlässig läuft, bezahle ich nach 14 Tagen Trial gerne die $6 und habe ein Problem weniger.

Kann mir der Sprach Affe auch den zuletzt angesprochenen Echo zurückliefern?

Verstehe die Frage nicht. Du rufst doch per api (Siehe @Senior) einen bestimmten Monkey an und der ist ein bestimmtes Gerät (Speaker) zugeordnet. Du bekommst lediglich ein „success“ zurück, wenn alles in Ordnung war.

{"status":"success","message":"Request queued successfully. This doesn't guarantee the Monkey will trigger."}

Ok. Ich verwende den Befehl „Licht ein“ auf allen Echos. Im Wohnzimmer, soll das Licht im Wohnzimmer an gehen. In der Küche das von der Küche usw. Ebenso beim Befehl „Fernseher an“. Mit dem Modul bekomme ich zurück, welcher Echo angesprochen wurde und in IPS wurde dann in einem Skript die richtige Lampe/der richtige Fernseher eingeschaltet.
Ist das mit dem Voicemonkey realisierbar?

Wenn es nur um das schalten von Geräten geht, ist das auch mit der „normalen“ Sprachsteuerung möglich. Du musst nur in der Alexa-App deine Echos und die entsprechenden Geräte einem Raum zuordnen. Ich nutze da dann auch ggf. Routinen (die eine Szene auslösen), die sich nur von einzelnen Geräten aufrufen lassen.

Mein Problem wäre hier eher, dass ich meine Musik von einem Echo ‚zentral‘ einspeise (und natürlich über Symcon steuere) - ob der „Affe“ das auch so unterstützt konnte ich bislang noch nicht erkennen. Da ist mir auch die Ausführung über eine Routine noch nicht gelungen …

Grüße, Uwe

Das hätte ich früher schon probiert, bis jetzt nie geschafft. Egal, ist nicht das Thema hier. Trotzdem Danke. Ich such mal in der App.

Auf den alten Echos (V1) habe ich da auch meine Probleme mit. Die wollen wohl halt gerne auch neue Geräte verkaufen …

Hallo.

Wir funktioniert das mit der Durchsage auf mehreren Geräten gleichzeitig? Dafür nutze ich derzeit Announcements. Kann Monkey das auch oder muss ich dann alle Echos einzeln antriggern?

Ich habe „Durchsagen“ heute mit mehreren Geräten erfolgreich getestet - du kannst diese in Voicemonkey als ein „Gerät“ (Monkey) spezifizieren & dann kommt die Ansage tatsächlich auf allen konfigurierten Geräten.

Allerdings: Synchron ist anders… Mal ist der Delay kaum wahrnehmbar - manchmal ist er allerdings auch recht deutlich.

Gruß,
Markus

@hfichtinger:
Ich hatte das gleiche Problem mit den Räumen und auch bei mir zickte IPSymconEchoRemote zum letzten Mal…
Nach dem Wechsel auf VoiceMonkey (Danke für den Tipp!) suchte ich auch einen Ersatz für die LastDevice Funktion.
Ich teste zur Zeit GitHub - thorsten-gehrig/alexa-remote-control: control Amazon Alexa from command Line (set volume, select station from tunein or pandora) welches ich mit
$lastalexa = IPS_EXECUTE(„/var/lib/symcon/scripts/alexa_remote_control/alexa_remote_control.sh“, „-lastalexa“, true, true);
aufrufe.
Funktioniert derzeit zuverlässig. Aber ich habe natürlich noch keine Dauererfahrungen.

@BoyScout:
wie funktioniert das dann genau in der Alexa-App? Den Monkey kann ich einrichten - ist das dann eine Gruppe?
Aber bei der Aktion kann ich nur einmal den Skill Voicemonkey und dann Antwort von EINEM Geräte auswählen.

Das hört sich gut an. Muss man nur schauen, wie das in einer Windows Umgebung läuft. Wobei es, wenn ich mich recht erinnere, lediglich curl Aufrufe sind.

CygWin sollte reichen damit es funktioniert. Ich schau mir das mal an. Wie hast du das mit der Anmeldung gemacht?

Ganz unten auf der GitHub-Seite gibt es den Hinweis „New option REFRESH_TOKEN“
und den Link auf ein Tool: GitHub - adn77/alexa-cookie-cli: Binary of https://github.com/Apollon77/alexa-cookie

Den Refreshtoken aus dem Tool habe ich im Script eingetragen unter
SET_REFRESH_TOKEN=

Das Ganze ging so einfach und schnell, dass ich es nicht glauben konnte, dass das alles war.
Und vor allem habe ich aus der Vergangenheit mit Problemen und wieder und wieder probieren gerechnet …

Hast du schon rausgefunden wie das mit dem steuern der Geräte/Routinen funktioniert?

hi, das ist ansich ziehmlich einfach und gut beschrieben Start - Voice Monkey

  1. Im Dashboard auf Devices gehen und Trigger anlegen.
  2. Im Dashboard dann auf Playground gehen und Trigger auswählen und URL kopieren.
  3. In IPS kannst du die URL über Sys_GetURLContent(‚URL‘) auslösen

In deiner Alexa-Routine nutzt du den Trigger (findest du unter Smart Home) als Auslöser (WENN Bedingung).

(Natürlich geht das nur wenn der Skill installiert ist)

ja wie geil ist das dennn…super es funktioniert und sooo einfach …danke danke danke :smiling_face_with_three_hearts:

1 „Gefällt mir“

Steh hier auf dem Schlauch, wenn ich beim erstellen der Alexa-Routine den Skill auswähle möchte er die Auswahl „eines“ Echo Devices. Wie kann ich mehrere/alle Devices zusammenfassen?

Servus,

ich habe um das ganze mal ein kleines SYMCON Modul gehäkelt, das die Funktion
VMC_TTS(Instanz, „MonkeyDevice“, $text);
zur Verfügung stellt.

Aktuell nur „von Hand“ in SYMCON (über „Kern Instanzen“ → „Modules“) installierbar. Falls es auf Zustimmung stößt, lasse ich es auch gerne in den SYMCON Module Store aufnehmen.

Grüße, oly

2 „Gefällt mir“

das verstehe ich auch nicht!
@BoyScout : Kannst du uns das mal näher beschreiben??

Grüße, Peter