Ich muss erneut in die Runde fragen und um Hilfe bitten:
Ich möchte die Sprachfunktion mit Polly auf der Symbox nutzen. Die Module und Instanzen sind erfolgreich installiert. Aktuell nutze ich die Instanz Durchsage um z. B. ein Klingeln zu kommunizieren. Nun würde ich aber gerne mehr Dynamik reinbekommen und das ganze per Skript lösen, so wie es hier diverse Male umgesetzt wurde. Ich kann die mp3 Datei erstellen, habe aber Probleme beim Ablegen und Abspielen durch Sonos. Ich hoffe nun hier auf Hilfe.
Aktuell ist mein Stand wie folgt:
$Text = "Dies ist ein Test!";
echo $Text;
$file = TTSAWSPOLLY_GenerateFile(13156, $Text);
echo $file;
//copy ($file, "http://192.168.1.50:3777/user/tmp/mp3_file.mp3");
SNS_PlayFiles(55511, json_encode(Array($file)), 35);
daher denke ich, ist die mp3 korrekt erzeugt wurde. Am Rest scheitere ich aktuell!
Rückmeldung von Ip-Symcon:
Fatal error: Uncaught Exception: Instance does not implement this function in /mnt/data/symcon/scripts/__generated.inc.php:250
Stack trace: #0 /mnt/data/symcon/scripts/29327.ips.php(48): SNS_PlayFiles(55511, ‚["\/tmp\/awspol…‘, 35) #1 {main}
thrown in /mnt/data/symcon/scripts/__generated.inc.php on line 250
Die Pfade der Symbox helfen dir nicht.
Weil Sonos kann ja nicht auf das interne Dateisystem der Symbox zugreifen. Die Player müssen die Datei über das Netzwerk laden können, und dazu darf die Datei nicht im temp liegen.
Wie es mit dem Polly Modul von @Kugelberg (und nicht dem Polly Modul von Symcon) funktioniert ist übrigens im Sonos Thread beschrieben.
Michael
Du könntest es theoretisch in den WebFront User Ordner kopieren. Dieser ist dann entsprechend erreichbar. Coole wäre es auch das Polly Modul über einen WebHook zu erweitern, womit man z.B. on-the-fly Texte generieren kann und an das Sonos Modul weiterleiten könnte. Da habe ich nur aktuell keine Zeit für.
Bei dem Thema Polly, Sprachdurchsage, mp3, … schwirren bei mir immer noch viele Fragezeichen bei mir rum. Das Thema ist durchaus Interessant aber hängt für mich leider immer noch in einer grauen Wolke.
Ich befürchte das du mit deinen Schlagwörtern den User @michelsaarn , der sich dieses Jahr hier angemeldet hat, überforderst und weitere Fragezeichen erzeugst. Bei mir hast du zumindestens mit WebHook ein weiteres erzeugt.
Vielen Dank für die Hinweise und das Verständnis. Ich werde dann mal versuchen im Sonos-Thread die Lösung zu finden. Der ist mittlerweile auch sehr umfangreich geworden.
@Brainpurge Dein Skript läuft aber auf einem WIN-Server oder? Nicht auf einer Symbox?
Hallo,
habe nach langer Zeit mal wieder versucht Polly zum laufen zu bringen. Ich wollte einen neuen Benutzer bei Amazon IAEM anlegen bekomme aber keinen Secret Key!! Mit den im Forum abgebildeten Hardkopien komme ich nicht weiter da sich wohl einiges geändert hat. Kann / mag mir einer mal behilflich sein und mir unter die Arme greifen??
Hallo Michael,
beim erstellen der Bilder bin ich über Seiten gestolpert die bisher nicht veröffentlicht waren. Ich habe einfach mal geraten und wohl die richtigen Antworten angeklickt. Es hat laut beigefügtem Ausdruck nun geklappt.
Vielen Dank für die Nachfrage.
Wenn ihr wollt, könnt ihr den Ausdruck auch veröffenlichen.
Alfred
Michael Maroszek via IP-Symcon Community office@symcon.de hat am 12.03.2023 21:49 CET geschrieben:
paresy (Profil - paresy - IP-Symcon Community) Administrator
12. März
Kannst du mal ein Bild machen wo du genau was erstellt hat? Beim Erstellen des Nutzers kannst du eigentlich direkt den SecretKey abgreifen.
paresy
Hallo zusammen, ich habe soeben das „Text to speech (AWS Polly)“ Modul aus dem Store installiert. Wenn ich nun auf die erstellte Instanz zugreifen möchte bekomme ich sofort eine Fehlermeldung in rot die wie folgt aussieht:
Konnte Konfigurationsform nicht laden
Fatal error: Uncaught TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, array given in /mnt/data/symcon/modules/.store/de.symcon.ttsawspolly/libs/vendor/guzzlehttp/promises/src/RejectedPromise.php:16
Stack trace: #0 /mnt/data/symcon/modules/.store/de.symcon.ttsawspolly/libs/vendor/guzzlehttp/promises/src/RejectedPromise.php(16): method_exists(Array, ‚then‘) #1 /mnt/data/symcon/modules/.store/de.symcon.ttsawspolly/libs/vendor/aws/aws-sdk-php/src/Handler/GuzzleV6/GuzzleHandler.php(56): GuzzleHttp\Promise\RejectedPromise->__construct(Array) #2 /mnt/data/symcon/modules/.store/de.symcon.ttsawspolly/libs/vendor/guzzlehttp/promises/src/Promise.php(203): Aws\Handler\GuzzleV6\GuzzleHandler::Aws\Handler\GuzzleV6{closure}(Object(GuzzleHttp\Exception\ClientException)) #3 /mnt/data/symcon/modules/.store/de.symcon.ttsawspolly/libs/vendor/guzzlehttp/promises/src/Promise.php(156): GuzzleHttp\Promise\Promise::callHandler(2, Object(GuzzleHttp\Exception\ClientException), Array) #4 /mnt/data/symcon/modules/.store/de.symcon.ttsawspolly/libs/vendor/guzzlehttp/promises/src/TaskQueue.php(47): …
Die Meldung ist noch um einiges länger…
Kann mir jemand sagen woran das liegen könnte oder was ich falsch mache ?
beim installieren der Module hat sich die jeweilige Instanz noch geöffnet. Beim speichern kam dann die Fehlermeldung. Möchte ich sie jetzt über den Objektbaum öffnen bekomme ich gleich die Fehlermeldung.
hat sich mit IPS 7.0 irgendetwas am Pfad gewechselt?
Das Modul erstellt mit meine wav-Datei nicht mehr mit dem Zitat des Tages aus em Almanach-Modul.
Warning: rename(/tmp/awspolly_10007/Marlene__29ac6d3ec6f062b4aa608d9c33249bce.wav,/var/lib/symcon/webfront/user/polly/bdquospielen_ist_eine_tatigkeit_die_man_gar_nicht_ernst_genug_nehmen_kannldquo_-_jacques-yves_cousteau.wav): Datei oder Verzeichnis nicht gefunden in /var/lib/symcon/scripts/58304.ips.php on line 15
Weißt da jemand etwas? Geändert habe ich bis auf das Update auf IPS 7 nichts.