Ok, wenn TextToSpeechVolume schonmal funktioniert, können wir mal weiter sehen…
Schick mir mal den gesamten Code (gerne auch per PM), mit dem du versucht TextToSpeechEx aufzurufen - der schien mir zu mindest in deinem obigem Beispiel nicht ganz korrekt zu sein.
ECHOREMOTE_TextToSpeechEx(31243, $TextAlexa,$arEchoID,[‚volume‘ => $VolumeAlexa]);
In $VolumeAlexa steht das Volume als integer 0-100. In $arEchoID stehen die ID’s der Geräte auf die ausgegeben wird. Je nachdem welches Gerät eingeschaltet ist.
31243 ist die ID von dem Echo Gerät welches immer an ist.
Wenn ich an der gleichen Stelle im Code ECHOREMOTE_TextToSpeechVolume(33414, $TextAlexa,$VolumeAlexa);
einsetze dann funktioniert es. 33414 ist das Echo Gerät vor dem ich sitze. Nicht das im Wohnzimmer
Danke @zman0801, dass ich mir das bei dir mal ansehen durfte und auch für den Tip mit den ausgeschalteten Echos. Es scheint so zu sein, dass die gesamte Befehls-Sequenz von Alexa abgebrochen wird, wenn ein Gerät nicht erreichbar ist. Das führt dann dazu, dass auch die Lautstärke der übrigen Geräte, die in der gleichen Sequenz angesprochen wurde, auch nicht wieder zurück gesetzt wird.
Ich prüfe nun vorab den online-Status der Geräte und schließe Geräte aus, die offline sind. Da der online-Status aber erst etwa 10min nachdem man das Gerät ausgeschaltet hat von Alexa auch so erkannt wird, kann immer noch der o.g. Fall auftreten - das sollte aber wesentlich seltener passieren.
Changelog [Branch: development]
Version 2.2 (development built 25)
Neu: Favoriten
Variable zum einfachen Starten von Musik verschiedener Musikanbieter
Favoritenliste kann in Instanz-Konfiguration editiert werden
verwendet intern die Funktion PlayMusic() (siehe Dokumentation neuer Funktionen)
Favoriten sollen zukünftig die TuneIn-Senderliste ersetzen. Eine Migrationsfunktion vereinfacht die Übernahme der TuneIn-Sender in die Favoritenliste
Weitere Neuerungen:
TextToSpeechVolume() und TextToSpeechEx() ändern die Lautstärke der Ansage und setzen sie danach wieder zurück
AnnouncementToAll() führt Ansagen auf allen im Account registrierten Geräten aus
StopAll() stoppt Musikwiedergabe auf allen im Account registrierten Geräten
Variable für Online-Status des Echo-Gerätes
Alle Variablen können in der EchoRemote-Instanz de-/aktiviert werden
Player-Status wird Ereignis-basiert aktualisiert (so kann das Aktualisierungintervall der EchoRemote-Instanz größer gewählt werden - empfohlen: größer 60 sec.)
Change:
TextToSpeechEx() zusätzlicher options-Parameter muss übergeben werden (siehe Dokumentation neuer Funktionen)
Assoziationen der VariablenProfile ECHO.Mute und ECHO.Remote angepasst
Variablen, die in der Instanz-Konfiguration deaktiviert wurden, werden nun gelöscht
Ab sofort sind aktuelle Versionen des Moduls wieder im Module-Store verfügbar
Ich habe nun auch die Betreuung des Moduls im Module-Store übernommen, sodass neue Versionen auch dort wieder verfügbar sind. An dieser Stelle nochmal einen großen Dank an @Fonzo für die Entwicklung des Moduls.
Aktuelle Version im Module-Store: Version 2.2 (2023-04-29)
Neu: Favoriten
Variable zum einfachen Starten von Musik verschiedener Musikanbieter
Favoritenliste kann in Instanz-Konfiguration editiert werden
verwendet intern die Funktion PlayMusic() (siehe Dokumentation neuer Funktionen)
Favoriten sollen zukünftig die TuneIn-Senderliste ersetzen. Eine Migrationsfunktion vereinfacht die Übernahme der TuneIn-Sender in die Favoritenliste
Unterstützung für MediaPlayer der neuen Visualisierung vorbereitet
Standard-Variablenprofile für Mediaplayer-Steuerung werden bevorzugt verwendet, sofern vorhanden
Assoziationen der Profile der Variablen Fernbedienung und Mute geändert (ggf. sind Anpassungen in Skripten, Ablaufplänen und Events notwendig)
Ansagen:
TextToSpeechVolume() und TextToSpeechEx() ändern die Lautstärke der Ansage und setzen sie danach wieder zurück
AnnouncementToAll() führt Ansagen auf allen im Account registrierten Geräten aus
TextToSpeechToAll() führt Ansagen auf allen im Account registrierten Geräten aus
Weitere Neuerungen:
StopAll() stoppt Musikwiedergabe auf allen im Account registrierten Geräten
Variable für Online-Status des Echo-Gerätes
Alle Variablen können in der EchoRemote-Instanz de-/aktiviert werden
Player-Status wird Ereignis-basiert aktualisiert (so kann das Aktualisierungintervall der EchoRemote-Instanz größer gewählt werden - empfohlen: 60 sec.)
Change:
TextToSpeechEx() zusätzlicher options-Parameter muss übergeben werden (siehe Dokumentation neuer Funktionen)
Variablen, die in der Instanz-Konfiguration deaktiviert wurden, werden nun gelöscht
Hi,
ich schätze Modul Control öffnen dann kommt ein Hinweis das man auf Store updaten kann und dann wird Echo Remote 2 installiert. Ich habs mal gemacht und auf den ersten Blick sieht es gut aus. Genaueres weiß ich aber erst in 3-4 Stunden wenn Alexa mit mir spricht oder nicht.
Bei mir hat das Update ohne Probleme funktioniert. Auch der Teil mit den Refresh Token.
Gut gemacht @hirschbrat
Ich hätte eventuell noch einen Änderungswunsch.
Ich hab bei mir auf die Funktion ECHOREMOTE_TextToSpeechEx() umgestellt, da diese alle Echos auf einmal bedienen kann. Vorher hab ich Ansagen einzeln gemacht. Der Parameter für das Volume gefällt mir gut, allerdings wäre es toll, wenn auch hier die Lautstärke auf den vorigen Wert wei bei ECHOREMOTE_TextToSpeechVolume() zurückgesetzt werden könnte.
Hintergrund: Bei Alarmen stell ich die Lautstärke auf 100%. Ist der Alarm beendet, dann bleiben die Echos auf 100%. Der nächste der Musik hört, wird fast taub
Und ja, ein Alarm ist ein Ausnahmezustand und man könnte diesen Punkt vernachlässigen.
Die Lautstärke wird auch bei TextToSpeechEx wieder auf den jeweiligen ursprünglichen Wert zurückgesetzt. Allerdings gibt es hier die Besonderheit, wie @zman0801 herausgefunden hat, dass sobald ein Echo-Gerät aus der Liste nicht erreichbar/ausgeschaltet ist, das Zurücksetzten für alle anderen Geräte auch nicht funktioniert.
Im Modul versuche ich dies dadurch abzufangen, dass ich vorher den online-Status aller Geräte abfrage und nur solche anspreche, die auch online sind. Leider wird der online-Status von Amazon aber mit bis zu 10min Verzögerung bereitgestellt, sodass es daran liegen könnte.
Versuche man den Befehl nur auf die tatsächlich im Betrieb befindlichen Geräte anzuwenden, dann sollte auch der Wert wieder zurückgesetzt werden. Beachte aber auch, dass die Anzeige der Lautstärke in IP-Symcon verzögert sein kann, also am besten in der Alexa-App verifizieren, ob die Lautstärke wieder zurück gesetzt wurde.
Hm, ok. Online sind alle. Lediglich einer ist nicht mit einem Lautsprecher verbunden und gibt mir das als Warnung aus (ein Echo Input).
Allerdings könnten es die FireTV’s sein. Die sind natürlich im Konfigurator sichtbar aber nicht angelegt.
Und da sind natürlich nicht alle online. Außer es werden nur jene Geräte berücksichtigt, die in IPS eingebunden sind.
Das mit dem Update kenne ich. Meine holen sich alle 10 Sekunden sämtliche Änderungen.
Ich habe es jetzt noch einmal mit nur zwei Echos probiert, die sicher online sind. Und hin und wieder funktioniert das Zurücksetzen der Lautstärke, aber nicht immer.
Ist aber nicht weiter schlimm.