Ivona TTS Modul

Du hast einfach den dritten Parameter nicht übergeben.

Gruß,
Thorsten

Bitte was ? Wie wo ? Ich steh auf dem Schlauch. Ich bekomme ja über das Script eine Ausgabe. Nur halt noch diese Fehlermeldung. Aber was du mit dem 3 Parameter meinst weiß ich immer noch nicht.

Die Methode SNS_PlayFiles erwartet drei Parameter: InstanceID, files und volumeChange.
Du übergibst aber nur zwei (InstanceID und files):slight_smile:

Gruß

Burkhard

Das Löschscript von Ivona enthält meines Erachtens einen Fehler.
In Zeile 9 muss es > statt < heißen.

Hallo,

stimmt :rolleyes:

Ist angepasst.

Gruß,
Thorsten

Hallo zusammen,

Ich brauch mal euer Fachwissen :wink:
Ich möchte eine „Variable“ vom Batteriestatusmodul ausgeben. Und zwar. $_IPS[„BMON_Text“] oder $_IPS[„BMON_Batterie“]

Ausgangsscript was ich nutzen wollte.

<?
SNS_PlayFiles(59206 /*[PHP_Module\Sonos\Sonos - Büro]*/ , array(IVNTTS_saveMP3(29516 /*[PHP_Module\TTS Ivona\Ivona]*/,"Ding Dong. Es hat jemand geklingelt !"),));
?>

Umgebaut zu:

<?
SNS_PlayFiles(59206 /*[PHP_Module\Sonos\Sonos - Büro]*/ , array(IVNTTS_saveMP3(29516 /*[PHP_Module\TTS Ivona\Ivona]*/, $_IPS["BMON_Batterie"]),));
?>

Funktioniert aber nicht :confused:
Wie bekomm ich das hin ?

Fehlermeldung:

Notice:  Undefined index: BMON_Batterie in /var/lib/symcon/scripts/48690.ips.php on line 2

Fatal error:  Uncaught exception 'Exception' with message 'Response from Ivona is no mp3: {"message":"1 validation error detected: Value null at 'input.data' failed to satisfy constraint: Member must not be null"}' in /var/lib/symcon/modules/SymconIvona/Ivona/ivona.php:88
Stack trace:
#0 /var/lib/symcon/modules/SymconIvona/Ivona/ivona.php(31): IVONA_TTS->get_mp3(NULL)
#1 /var/lib/symcon/modules/SymconIvona/Ivona/module.php(96): IVONA_TTS->save_mp3(NULL, '/var/lib/symcon...')
#2 /var/lib/symcon/scripts/__generated.inc.php(14): Ivona->saveMP3(NULL)
#3 /var/lib/symcon/scripts/48690.ips.php(2): IVNTTS_saveMP3(29516, NULL)
#4 {main}
  thrown in /var/lib/symcon/modules/SymconIvona/Ivona/ivona.php on line 88  

Gruß
Christian

Startest du das Skript von Hand? Dann funktioniert das natürlich nicht… Das Skript funktioniert nur (sofern der Ivona Teil stimmt), wenn das Skript vom BatterieMonitor-Modul ausgeführt wird, denn nur dann werden auch die entsprechenden Variablen/Texte übergeben…

-Chris-

Per hand. Ok. Mit „Text“ verstehe ich das, aber ich dachte den Zustand der Variable OK/LEER bekomme ich immer damit raus.

Jetzt hab ich das verstanden. Erst wenn eine Änderung hier stattfindet wird dies übergeben.
Habe auch gerade festgestellt daß mein Voice Ausgabescript beim Testen in deinem Modul mit ausgeführt wird.
So klappt es auch. Danke. Wieder mal dusseligkeit vor der Tastatur.

PS: Was machst du hier überhaupt noch :smiley:

Hallo Leute,

wenn ich mein Script Starte

SNS_PlayFiles(35070 /*[Geräte\Audio (Multiroom)\SonosPlay1]*/ , array(IVNTTS_saveMP3(58580 /*[Geräte\Multimedia\IvonaTTS]*/,"Warnung! Kühlschrank steht längere zeit offen")),40);

bekomme ich die mp3 Datei erstellt. ABER

Im Sonos kommt nur „Warnung! Kühlschrank“ raus. :frowning:
wenn ich die erstellte Datei aus der Ordner Wiedergebe, ist die Aussprache vollständig.
Und die Geschwindigkeit ist komisch, ca 50% langsamer als auf der Ivona Seite.

Mache ich was Falsch:confused:

Gruß

EDIT: Das mit der Geschwindigkeit kann man ja einstellen :eek: Mein Fehler.
Aber die Aussage bleibt unvollständig.

Hallo,

bei mir kommt alles an. Könnte das wieder etwas mit der Locale auf Linux Ebene zu tunhaben? Oder hast Du gar Windows?!

Gruß,
Thorsten

 Könnte das wieder etwas mit der Locale auf Linux Ebene zu tunhaben? Oder hast Du gar Windows?!

Mein IPS Läuft auf einer Zotac Kiste mit Ubuntu Server.

Ich versuche morgen mal einfach ein Gong Sound vor der Aussage und nach der Aussage reinmachen.

Gruß

Hallo Zusammen,

leider kann ich noch nichts hören meine Konfi sieht wie folgt aus :

Default : /IP-Symcon/media/Ivona

Access : http://192.168.86.60:3777/media/Ivona

Es wird auch in mein IPS Ordner eine MP3 Datei abgelegt,
allerdings höre ich nichts, habe ich das richtig verstanden das nach
SNS_PlayFiles die Variable der Sonos Instanz angegeben werden
muss ?

Danke.

Hallo,

da Du nichts explizit sagst, gehe ich mal davon aus, dass Du versuchst übre Ivona erzeugte Dateien direkt an das Sonos Modul zu übergeben.

Mein Empfehlung kann da nur sein, das Ganze mal in die Einzelnen Schritte zu unterteilen.

  1. Datei erzeugen und überprüfen ob diese korrekt abgelegt wird und auch als MP3 abspielbar ist. Halt schritt für Schritt am Comupter

  2. erzeugten Dateinamen ausgeben lassen. (z.B. per $bla = IVN_SaveMP3(…) und $bla dann ausgeben lassen) Ist es dan was man erwartet?

  3. versichen diese Datei von einem Computer (nicht Sonos) aus zu öffnen. Wenn ich von dort schon nicht dran komme, kann es von Sonos aus nicht gehen.

  4. Während des Tests die Sonos App offen lassen und auch die betroffene Gruppe/Box ausgewählt haben. Da sieht man dann auch manchmal Feler (z.B. „Cannot open File“)

Wenn ich allerdings Deine Config sehe, würde ich vermuten, dass „/IP-Symcon/media/Ivona“ nicht das verzeichnis ist, auf das „http://192.168.86.60:3777/media/Ivona“ zeigt.

Entweder ist es ein Samba Share, dass muss es „//192.168.86.60/media/Ivona“ sein. Wenn es das WebFront Verzeichnis ist, dann ist es auf OS ebene /var/lib/symcon/webfront/user/ oder so…

Gruß,
Thorsten

Hallo Thorsten ,

also die Datei speichert es als MP3 und wenn ich sie anhöre
höre ich das was ich im Text stehen habe, das passt allerdings
vermute ich das im Default und Access Pfad der Hund begraben
ist.

Ich habe keinen Samba Share Server , da mein IPS nicht auf einem
Raspberry läuft, es es nur auf einem RP möglich ?

Grüße Alex

Hallo,

nö. Das sollte auch so gehen.

Welches ist denn das Verzeichnis in dem Deine IPS Software liegt?
Bei meinem RPI ist es wie gesagt „/var/lib/symcon“. Darunter finde ich unter anderem media, webfront und scripts.

Da Du „/IP-Symcon/media/Ivona“ angegeben hast, vermute ich mal bei Dir ist es „/IP-Symcon“?
Wenn dem so ist, hast Du das „media“ Verzeichnis und nich das des WebFront angegeben. Wie sieht es denn damit aus, wenn Du „Default“ nach „/IP-Symcon/webfront/user/Ivona“ und bei Access „http://192.168.86.60:3777/user/Ivona“ änderst?

Natürlich solltest Du „/IP-Symcon/webfront/user/Ivona“ dann auch angelegt haben :wink:

Gruß,
Thorsten

Cool jetzt geht es auch bei mir auch :eek: Es war der Pfad !
Der Pfad muss im Webfront sein und nicht sonst irgendwo !
Nun klappt es , danke Thorsten !

Grüße Alex

Hi,

ich wollte das Ivona Projekt zum Laufen kriegen. Habe mich ganz normal angemeldet:

Wenn ich jetzt den Befehl:

IVNTTS_saveMP3(58418 /*[.System Instanzen\Text to Speech]*/,"Geht das so?");

Bekomme ich folgende Fehlermeldungen:

Fatal error: Uncaught exception ‚Exception‘ with message ‚Response from Ivona is no mp3: {„message“:„Signature expired: 20160523T171133Z is now earlier than 20160523T200649Z (20160523T201149Z - 5 min.)“}‘ in C:\IP-Symcon\modules\SymconIvona\Ivona\ivona.php:88
Stack trace:
#0 C:\IP-Symcon\modules\SymconIvona\Ivona\ivona.php(31): IVONA_TTS->get_mp3(‚Geht das so?‘)
#1 C:\IP-Symcon\modules\SymconIvona\Ivona\module.php(96): IVONA_TTS->save_mp3(‚Geht das so?‘, ‚/speech//4d4326…‘)
#2 C:\IP-Symcon\scripts__generated.inc.php(518): Ivona->saveMP3(‚Geht das so?‘)
#3 C:\IP-Symcon\scripts\39525.ips.php(3): IVNTTS_saveMP3(58418, ‚Geht das so?‘)
#4 {main}
thrown in C:\IP-Symcon\modules\SymconIvona\Ivona\ivona.php on line 88

Was läuft bei mir falsch?

Gruß

Jimmy

Hallo,

Das ist eine Fehlermeldung vom Amazon WebService.
Damit Deine Anfrage bei Ivona gültig ist, muss diese Signiert werden. Unter anderem ist in dieser Signatur auch ein Zeitstempel mit drin.

Amazon räumt Dir eine Toleranz von 5 Minuten ein. In Deinem Request war aber ein Zeitunterschied von knapp 3 Stunden enthalten.

Kann es sein, dass die Uhrzeit deines IPS Systems nicht stimmt?
Wichtig ist auch Die Zeitzone, denn der Request wird in UTC signiert.
Laut Fehlermeldung war Deine Anfrage bei Dir am 23.5.2016 um 17:11:33 UTC und bei Amazon war es 20:11:49.

Gruß,
Thorsten

Hallo,

ups, ja, sorry, auf die Uhrzeit hatte ich nicht geachtet. Die Zeitzone hatte sich aus irgendeinem Grund verstellt.

Die Rolladen gingen noch rechtzeitig runter. Muss also an dem Windowsupdate gelegen haben, dass ich gerade durchgeführt habe.

Danke für die Info.

Gruß

Jimmy

Hi,

ich noch einmal. Wo liegt denn dieses Default-Verzeichnis „Temp“? In meinem IP-Symcon-Ordner existiert es nicht.

Und wo erwartet das Modul, wenn ich z.B. „/speech/“ eingebe?

Gruß

Jimmy