<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3]]></title><description><![CDATA[<p dir="auto">Hallo zusammen,</p>
<p dir="auto">ich habe die aktuelle Zeit genutzt, mich endlich mal mit Heimautomatisierung zu beschäftigen. Allerdings muss ich mich sowohl in Linux wie in ioBroker komplett von 0 aus einarbeiten und verbringe wohl die meiste Zeit bei google.</p>
<p dir="auto">Entstanden ist dabei die Funktion, dass auf der Fritzbox eingehende Anrufe per ioBroker auf dem Sonos ausgeben werden.</p>
<p dir="auto">Mein Problem ist, dass mein SayIt keine sayit.0.say.mp3 -Datei (mehr) auf dem PC speichert und dadurch meine Sonos-Ausgabe nicht mehr klappt.</p>
<p dir="auto">Als System habe ich auf einem Intel NUC Ubuntu 18.04 LTS installiert und darauf ioBroker.</p>
<p dir="auto">Im ioBroker habe ich den Fritzbox-Adapter, SayIT und den Sonos Adapter installiert.<br />
<a href="https://forum.iobroker.net/topic/22888/gel%C3%B6st-sonos-http-api-installation-f%C3%BCr-newbies-dummies-und-mich">https://forum.iobroker.net/topic/22888/gelöst-sonos-http-api-installation-für-newbies-dummies-und-mich</a></p>
<p dir="auto">Nach der Anleitung habe ich ich die Sonos HTTP API installiert und zum laufen gebracht. Über IP:5005 kann ich entsprechend meine Sonos-Lautsprecher steuern.</p>
<p dir="auto">Über das Forum (Vorlagen von ruhr70, nobob u.a.) hier habe ich mir ein Script zusammengebastelt, was prinzipiell auch so funktioniert wie es soll:</p>
<pre><code>    var telefonbuchRufnummer =
    { 
   "0123456": {"name":"Vorname Nachname"},
	"### ? ###":        {"name":"Rufnummer unterdrückt"}
    };

  // Variable wenn die Rufnummer nicht im Telefonbuch vorhanden ist
	var telefonbuchRufnummerNichtBekannt = "unbekannter Rufnummer";

   // Variable für die aktuell anrufende Rufnummer (Fritzbox Adapter X (hier: Adapter 0))
    var Anrufer = "fritzbox.0.calls.ringActualNumber"; // actual last ringing number

function rufnummer2name (rufnummer) {
    var name = ""; // Variable name ablöschen
        if (!telefonbuchRufnummer[rufnummer]) { // Wenn Rufnummer nicht im Telefonbuch
        name = telefonbuchRufnummerNichtBekannt; // Oben festgelegter Text in Ausgabevariable schreiben
    } else {
        name = telefonbuchRufnummer[rufnummer].name; // Rufnummer im Telefonbuch vorhanden; in Ausgabevariable schreiben
    }
    return name; // Rückgabewert entweder Telefonbucheintrag oder nicht bekannt.
    }

    // FUNKTION : Sprachausgabe über SayIT Adapter
    
    on ({id: Anrufer, valGe: 1}, AusgabeAnrufer);

function AusgabeAnrufer(){
    //setState("sayit.0.tts.text", "Anruf von. " + getState(Anrufer).val);
    var vol ="sayit.0.tts.volume";
    setState (vol,70);
    setState("sayit.0.tts.text", "Anruf von. " + rufnummer2name(getState(Anrufer).val));

    /* Ubuntu Datei verlinken:
    ln  /opt/iobroker/node_modules/iobroker.sayit/sayit.0.say.mp3
        /home/user/node-sonos-http-api-master/static/clips/sayit.mp3 
    */
    
    exec ("curl 'http://192.168.XX.YY:5005/Office/clip/sayit.mp3/30'");
}
</code></pre>
<p dir="auto">Das Ganze funktioniert auch soweit:<br />
<img src="/assets/uploads/files/1586637725630-anmerkung-2020-04-11-224123.png" alt="Anmerkung 2020-04-11 224123.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Ich habe bislang im SayIT die Ausgabe auf den Sonos-Adapter gelegt, auch wenn er nicht funktioniert und das laut dem Forum ja eher üblich ist.</p>
<p dir="auto">Aber über diesen Weg erzeugte SayIT bislang die sayit.0.say.mp3, welche ich über einen Hardlink (siehe Kommentar) in den sonos http api-Ordner linke. Die exec -Zeile führt das dann aus. Klappt. Ob das elegant ist, keine Ahnung, zu mehr reicht mein Wissen nicht.</p>
<p dir="auto">Seit 2 Tagen hat aber die SayIT Datei die Ausgabe-MP3 nicht mehr in den Ordner geschrieben. Wenn ich die Datei gelöscht habe, wurde diese nicht neu erstellt.</p>
<p dir="auto">Wenn ich aber unter Objekte sayit.0/tts/mp3 mir den Wert anschaue:<br />
<a href="http://192.168.XX.YY:8082/state/sayit.0.tts.mp3" rel="nofollow ugc">http://192.168.XX.YY:8082/state/sayit.0.tts.mp3</a></p>
<p dir="auto">dann höre ich dort die richtige Datei, auch wenn diese jetzt als sayit.0.tts.mp3 bezeichnet wird.</p>
<p dir="auto">Ich finde auf meinem Linux-PC jetzt weder die sayit.0.say.mp3 noch die sayit.0.tts.mp3</p>
<p dir="auto">Ich habe zwischendurch auch schon den SayIT-Adapter komplett entfernt und neu installiert. Das halt leider auch nichts gebracht.</p>
<p dir="auto">Wo ist mein Fehler, bzw. was müsste ich machen? Google bzw. die Forums-Suche hat mich bislang nicht weitergebracht.</p>
<p dir="auto">Danke für eure Mühe :-)</p>
]]></description><link>https://forum.iobroker.net/topic/32152/gelöst-workaround-sayit-erzeugt-keine-sayit-0-say-mp3</link><generator>RSS for Node</generator><lastBuildDate>Sun, 03 May 2026 20:40:28 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/32152.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 11 Apr 2020 20:57:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3 on Mon, 13 Apr 2020 10:02:16 GMT]]></title><description><![CDATA[<p dir="auto">Ich habe mir jetzt einen Workaround gebastelt und würde mein Problem als gelöst bezeichnen wollen. Auch wenn ich dadurch den Eindruck habe, dass ich unter Linux Probleme genauso mit der Holzhammermethode lösen kann, wie unter Windows ...</p>
<p dir="auto">Gedanke: Die Datei liegt ja auf einem Webserver ... <em>holdmybeer</em></p>
<p dir="auto">Linux-Terminal:</p>
<pre><code>wget -qO /opt/iobroker/cache/sayit.mp3 IP:8082/state/sayit.0.tts.mp3
sudo chown iobroker:iobroker /opt/iobroker/cache/sayit.mp3
</code></pre>
<p dir="auto">Dann angepasster Hardlink:</p>
<pre><code> sudo ln /opt/iobroker/cache/sayit.0.say.mp3  /home/user/node-sonos-http-api-master/static/clips/sayit.mp3 
</code></pre>
<p dir="auto">Und dann zum Schluss im eigentlichen ioBroker-Script folgende Veränderung:</p>
<pre><code>function AusgabeAnrufer(){
    //setState("sayit.0.tts.text", "Anruf von. " + getState(Anrufer).val);
    var vol ="sayit.0.tts.volume";
    setState (vol,70);
    setState("sayit.0.tts.text", "Anruf von. " + rufnummer2name(getState(Anrufer).val));

    /* Ubuntu Datei verlinken:
    ln  /opt/iobroker/cache/sayit.0.say.mp3
        /home/user/node-sonos-http-api-master/static/clips/sayit.mp3 
    */

    // wget: Download der Datei über Terminal
    exec ("wget -qO /opt/iobroker/cache/sayit.mp3 IP:8082/state/sayit.0.tts.mp3")

    // exec ("curl 'http://192.168.66.111:5005/flur/clip/sayit.mp3/30'");
   // Verzögerte Auführung der Wiedergabe für Kopierbefehl, Delay 300 ms
    setTimeout(function() {
    exec ("curl 'http://192.168.66.111:5005/Office/clip/sayit.mp3/30'");
    }, 600);
}
</code></pre>
<p dir="auto">Damit klappt alles wie gewünscht. Die <s>300 ms</s> 600 msVerzögerung reichen bei mir. 300 ms klappt nicht immer.</p>
]]></description><link>https://forum.iobroker.net/post/411078</link><guid isPermaLink="true">https://forum.iobroker.net/post/411078</guid><dc:creator><![CDATA[Ryco]]></dc:creator><pubDate>Mon, 13 Apr 2020 10:02:16 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3 on Sun, 12 Apr 2020 17:53:50 GMT]]></title><description><![CDATA[<p dir="auto">Nein, ich habe nicht umgestellt.</p>
<p dir="auto">iobroker status liefert</p>
<p dir="auto">Objects type: file<br />
States type: file</p>
]]></description><link>https://forum.iobroker.net/post/410729</link><guid isPermaLink="true">https://forum.iobroker.net/post/410729</guid><dc:creator><![CDATA[Ryco]]></dc:creator><pubDate>Sun, 12 Apr 2020 17:53:50 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3 on Sun, 12 Apr 2020 17:39:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ryco" aria-label="Profile: Ryco">@<bdi>Ryco</bdi></a> such im Forum mal nach redis.</p>
<p dir="auto">Du kannst deine Datenbank herausbekommen, in dem Du im Linux Terminal, "iobroker status" eingibt und dann schaust, ob dort 'redis' ausgegeben wird oder nur zweimal 'file'.</p>
]]></description><link>https://forum.iobroker.net/post/410718</link><guid isPermaLink="true">https://forum.iobroker.net/post/410718</guid><dc:creator><![CDATA[Marty56]]></dc:creator><pubDate>Sun, 12 Apr 2020 17:39:15 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3 on Sun, 12 Apr 2020 17:36:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/marty56" aria-label="Profile: Marty56">@<bdi>Marty56</bdi></a> Auf was umgestellt? Ich kann dir gerade nicht folgen.</p>
]]></description><link>https://forum.iobroker.net/post/410717</link><guid isPermaLink="true">https://forum.iobroker.net/post/410717</guid><dc:creator><![CDATA[Ryco]]></dc:creator><pubDate>Sun, 12 Apr 2020 17:36:50 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3 on Sun, 12 Apr 2020 17:35:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ryco" aria-label="Profile: Ryco">@<bdi>Ryco</bdi></a> kann es sein, dass Du auf redis umgestellt hast? Wenn ja, dann liegt das sayit file in der Redis db und nicht mehr im File System.</p>
]]></description><link>https://forum.iobroker.net/post/410716</link><guid isPermaLink="true">https://forum.iobroker.net/post/410716</guid><dc:creator><![CDATA[Marty56]]></dc:creator><pubDate>Sun, 12 Apr 2020 17:35:42 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3 on Sun, 12 Apr 2020 16:19:24 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/homoran" aria-label="Profile: Homoran">@<bdi>Homoran</bdi></a>: Das weiß ich. Die Sound-Ausgabe über meinen Weg über die Sonos-API funktioniert ja auch. Habe jetzt testweise die Ausgabe auf System umgestellt. Bringt erstmal keine Änderung.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/uwerlp" aria-label="Profile: UweRLP">@<bdi>UweRLP</bdi></a>: Nein, die Sprache wird erzeugt.</p>
<p dir="auto">IP:8082/state/sayit.0.tts.mp3 das ist die Datei, die ich brauche. Der Pfad ergibt sich aus dem Wert von Objekte sayit.0/tts/mp3. Nur. Wo ist die Datei?  Die Datei passt jedes mal zur Anfruferansage. Dadurch dass ich diese ja später noch aus einem Browser aufrufen kann, muss die doch irgendwo gespeichert sein?</p>
<p dir="auto">Oder gibt es einen Weg, wie ich diese Datei vom ioBroker-Webserver an den Sonos übergeben kann? Denn der Sonos spielt ja nur Dateien ab, die im /clips/ im Ordner node-sonos-http-api-master/static/ liegen.</p>
]]></description><link>https://forum.iobroker.net/post/410678</link><guid isPermaLink="true">https://forum.iobroker.net/post/410678</guid><dc:creator><![CDATA[Ryco]]></dc:creator><pubDate>Sun, 12 Apr 2020 16:19:24 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3 on Sun, 12 Apr 2020 07:37:42 GMT]]></title><description><![CDATA[<p dir="auto">Möglicherweise hast du ein ähnliches Problem wie ich. Wenn ich in der Instanz des SayIt Adapters als Sprache Google - Deutsch einstelle und der anzusagende Text zu lange ist, funktioniert es nicht. Kurze Texte dagegen funktionieren. Habe jetzt als Sprache Cloud - Deutsch - Hans eingestellt, dort scheint die Längenbegrenzung nicht zu geben.</p>
]]></description><link>https://forum.iobroker.net/post/410334</link><guid isPermaLink="true">https://forum.iobroker.net/post/410334</guid><dc:creator><![CDATA[UweRLP]]></dc:creator><pubDate>Sun, 12 Apr 2020 07:37:42 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Workaround: SayIt erzeugt keine Sayit.0.say.mp3 on Sun, 12 Apr 2020 06:36:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ryco" aria-label="Profile: Ryco">@<bdi>Ryco</bdi></a> habe am Handy nicht den ganzen Text gelesen.</p>
<p dir="auto">Der Sonos Adapter kann kein TTS mehr.<br />
Dazu gibt es eine Anleitung über die Sonos API</p>
]]></description><link>https://forum.iobroker.net/post/410309</link><guid isPermaLink="true">https://forum.iobroker.net/post/410309</guid><dc:creator><![CDATA[Homoran]]></dc:creator><pubDate>Sun, 12 Apr 2020 06:36:59 GMT</pubDate></item></channel></rss>