Alexa TTS über VoiceMonkey

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

Hallo oly,

ich finde es klasse, dass du die Funktionalität in ein Modul gegossen hast. Das macht die Nutzung von Voice Monkey zum Kinderspiel :slight_smile:

Ein Punkt ist mir aufgefallen: die Funktion lässt sich nicht im Ablaufplan oder über „Befehle testen“ ausführen:

Dazu fehlt lediglich in der Funktionsdeklaration die Typangabe für die Parameter. Also

        public function TTS(string $monkey_device, string $text) {...}

Vielleicht magst du das noch nachholen.

Dann noch ein Punkt: wofür hast du das Property URL vorgesehen? Der Endpunkt ist doch eigentlich laut Voice Monkey API fix. Der könnte meiner Meinung nach entfallen.

Ich fände es super, wenn du das Modul auch in den Store bringst.

Burkhard

1 „Gefällt mir“

Hi Oly,
Danke für das Modul.
Ist den geplant auch noch weitere Features einzubauen?
Ich würde diese 2 Aktionen sehr cool finden

  • Sending Images/Videos to your Echo Show devices
  • Audio files

Gruß
Giuseppe

1 „Gefällt mir“

Hi @drdigital,

vielen Dank für deine Anregungen! Gerne baue ich die noch ein!
Ich warte mal noch bis zum kommenden Wochenende was noch so an Feature-Wünschen kommt :wink:

Grüße, oly

1 „Gefällt mir“

Hi @bumaas ,

danke für deine Hinweise! Gerne füge ich die Deklaration noch mit ein.
Die Property URL habe ich wirklich nur drin, falls sie sich mal ändern sollte oder man sie anpassen wollen möchte.
Ich warte mal noch bis zum Wochenende und baue dann eine neue Version :wink:

Grüße, oly

1 „Gefällt mir“

Durchsage auf mehreren Geräten

Hallo @BoyScout, ich habe das gleiche „Problem“ wie @gueha.

Ich kann in den Einstellungen der entsprechenden Routine, unter dem VoiveMonkey-Skill, nur ein Echo-Gerät auswählen.
Wie hast du das gemacht, dass es auf mehreren (allen) Geräten, eine Durchsage kommt?

Moin :slight_smile: vielen Dank für dein Einsatz!
einen kleinen Wunsch hätte ich auch, wenn ich es
nicht überlesen habe:
Ich würde gerne auswerten können welcher Echo zuletzt aktiv war/ist

Das funktioniert mit Voice Monkey nicht. Der Dienst ist dazu da, Sprache und/oder Bilder/Videos auszugeben.

Falls Du die Möglichkeit, die ich oben (14.02. 12:00) geschildert habe, und die wunderbar in der richtigen Reihenfolge (Befehl, Auswertung Device) funktioniert, nicht nehmen magst, fällt mir ad hoc noch folgende NICHT GETESTETE Möglichkeiten ein.
Diese basiert darauf, in den AlexaRoutinen neben VoiceMonkey noch eine weitere Aktionen hinzuzufügen. Nämlich je nach Gerät eine zusätzlich angelegte Szene, welche Du damit startest und die das Device Dir übermittelt ausgibt.
Das funktioniert allerdings nur mit einem Trigger wie z.B. VoiceMonkey.
Das Skript von Thorsten Gehring funktioniert unabhängig davon. UND läuft nach 9 Tagen immer noch ohne eine einzige Fehlfunktion.
Grüße, Günter

Hi,

Sorry für die späte Rückmeldung - wurde durch eine Krankheit ziemlich ausgenockt… Aber: lieber eine späte Rückmeldung als nie eine Rückmeldung :wink:

Also eigentlich ist das ziemlich einfach. Auf der Voice Monkey-Seite legst du ein neues Device an:
→ Speakers → Add a device
→ Dann kannst du wählen: „Single Device“ oder „Group of Devices“
→ Für mehrere Geräte wählst du „Group of Devices“ und vergibst den Gruppen-Namen
→ im nächsten Schritt werden die Alexa-Devices ausgewählt
Und erst dann werden für jedes gewählte Device eine Routine in Alexa angelegt…
also vermutlich geht’s genau anders herum wie ihr das gemacht habt.

Wir haben 3 Echo’s in einer Gruppe - und daher auch 3 verschiedene Routinen in der Alexa-App.

Gruß,
Markus

1 „Gefällt mir“

Schön, dass du wieder gesund bist und danke, dass du uns weitergeholfen hast.

Ja, der Kasus-Knacktus war einfach für jedes Gerät eine eigene Routine (mit Monkey Skill und einem Echo) die als Trigger den VoiceMonkey Speaker „Alle“ hat.

:man_facepalming:

Ich finde es ein bisschen verwirrend, wenn die „Speaker“ (oder Gruppen) aus VoiceMonkey hinterher in der Routine zu Triggern werden und man in der Skill-Konfiguration nach mal das entsprechende Echo-Gerät auswählen muss.
Oder geht es nur mir so?

Aber jetzt läufts und ja, „Gleichzeitigkeit“ ist relativ.

1 „Gefällt mir“

hey @bumaas,

Funktionsdeklaration eingebaut :slight_smile: Befehl testen funktioniert :+1:

2 „Gefällt mir“

Hi @n1ck1355 ,

meinst du eine Info dieser Art?
Es wird jetzt in zwei Variablen gespeichert, welches Monkey-Device zuletzt welchen TTS Befehl erhalten hat
image

Hallo Markus,
danke für deine Antwort, aber irgendwie stelle ich mich zu ungeschickt an. Mein Problem sitzt wohl vor dem Bildschirm.
Also:
ich habe 5 Echos, die ich einzeln ansteuern will. Deshalb gibt es für jeden Echo in der Alexa-App eine Routine. Das funktioniert auch.
Nun möchte ich diese 5 Echos gruppieren z.B. „Alle“, „OG“, „UG“ usw.
und hier ist nun mein Problem: Was mache ich in der Alexa-App?
Muss ich nun für jede Gruppe die entsprechenden Echos nochmal anlegen und den gleichen Routinen-Name zuordnen?

Gruß, Peter