Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. SayIT probleme mit der Wiedergabe

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SayIT probleme mit der Wiedergabe

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      A1uca2d @Meister Mopper last edited by

      @meister-mopper
      Ich habe es über die Cloud und Google probiert. Bei beiden das gleiche Problem.

      Ich nutzte bereits von Anfang an die Möglichkeit das Text to speech Objekt zu adressieren, da ich in Javascript arbeite und nicht mit blocky.

      M 1 Reply Last reply Reply Quote 0
      • M
        maxpd @A1uca2d last edited by

        @a1uca2d Ich habe exakt das gleiche Problem. Hast du eine Lösung gefunden?

        1 Reply Last reply Reply Quote 0
        • Horst Böttcher
          Horst Böttcher @A1uca2d last edited by Horst Böttcher

          Ich schliesse mich mal an

          e81c7464-a48f-4384-8ff0-a928ffe32bc9-image.png
          8e23a051-c4fc-443f-81b0-c703cf2969d6-image.png
          20c460b0-17d0-46f2-870c-101fd0b5918e-image.png

          Wenn ich im Sayit adpter auf Test klicke kommt ton an
          Es über Blockly kommt nicht bei Goolge an .-(
          Es steht leider nix im log

          1 Reply Last reply Reply Quote 0
          • crunchip
            crunchip Forum Testing Most Active last edited by

            ich hab generell nach wie vor da Problem das der google hin und wieder stumm bleibt
            daher starte ich die chromecast Instanz regelmäßig (alle 3 Std) neu

            sollte es dennoch mal dazu komme, das keine Ausgabe mehr erfolgt, schafft bei mir nur Abhilfe, in den Objekten den google home zu löschen und Instanz neu zu starten, danach funktioniert wieder alles wie gewohnt für ne Zeitlang

            H 1 Reply Last reply Reply Quote 0
            • M
              maxpd last edited by

              @crunchip ok, der neustart vom chromecast scheint das timeoutpoblem zu lösen. Wenn 1x Nachts nicht ausreicht, werde ich per JS dann neu starten, wenn aktuell nichts auf einem Chromecast läuft.

              crunchip 1 Reply Last reply Reply Quote 0
              • crunchip
                crunchip Forum Testing Most Active @maxpd last edited by

                @maxpd bei mir trat das Problem des Öfteren innerhalb von 6 Stunden auf, daher starte ich alle 3 Stunden aktuell

                Meister Mopper M 2 Replies Last reply Reply Quote 0
                • Meister Mopper
                  Meister Mopper @crunchip last edited by Meister Mopper

                  @crunchip sagte in SayIT probleme mit der Wiedergabe:

                  daher starte ich alle 3 Stunden aktuell

                  Das mache ich mittlerweile auch.

                  Nach Aussage meiner Frau gilt diese Lösung als Beispiel für das fünfte (Not)rad der Informatiker. 🤷‍♂️

                  crunchip 1 Reply Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @Meister Mopper last edited by

                    @meister-mopper ja mei, wenns aktuell nicht anders geht, was will man machen

                    Meister Mopper 1 Reply Last reply Reply Quote 1
                    • Meister Mopper
                      Meister Mopper @crunchip last edited by

                      @crunchip sagte in SayIT probleme mit der Wiedergabe:

                      was will man machen

                      Da machste nüscht 😊

                      1 Reply Last reply Reply Quote 0
                      • M
                        maxpd @crunchip last edited by

                        @crunchip ok, habe mir dann einen reboot gebaut, der alle 3h stattfindet, sofern kein chromecast etwas am abspielen ist.

                        1 Reply Last reply Reply Quote 0
                        • M
                          maxpd last edited by

                          @maxpd Theoretisch könnte man mit einem JS auch Nachts einmal alle Datenpunkte des Chromecast löschen, Sekunden bevor ein Neustart des Adapters stattfindet und diese dann neu gebaut werden, oder?
                          Löscht ihr dann komplett den Order "0"?

                          Also bislang kamen Ansagen, aber manchmal mit einem Versatz von bis zu mehreren Minuten nach dem Ankündigungs-Dong. Warum die Ausgabe nicht direkt kommt, sagt mir aber auch das Log nicht.

                          Und die Lautstärke ändert sich während der Sprachausgabe bei einer Gruppe von 100 auf .

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            maxpd @maxpd last edited by

                            Das Löschen der Datenpunkte und Neustarten des Adapters löst zudem folgendes Problem nicht, welches am meisten nervt.

                            Doppelte Sprachausgabe, bzw. Abspielen eines alten Files, obwohl auf dem iobroker schon eine neue MP3 liegt. Mein Test hierzu, der auch Queues löscht und alte Files aktiv löscht. Auch größere Abstände von 30 Sekunden helfen nicht. Es wird immer "Test 1" ausgegeben. Debug Ausgaben geben Test 2 und Test 3 währenddessen aus.

                            5f3464d2-c6eb-44e5-b9f0-9e0383954333-image.png

                            Was kann ich noch versuchen?
                            Leider kann Sayit keinen Pause Befehl, sodass wenn ich alles in eine Sprachausgabe packe, diese halt runterrasselt ohne kurze Pausen einzulegen. Bei längeren Ansagen am Morgen für die Tagesplanung unpraktisch.

                            crunchip 2 Replies Last reply Reply Quote 0
                            • crunchip
                              crunchip Forum Testing Most Active @maxpd last edited by crunchip

                              @maxpd mach mal den Haken rein bei mit Ergebnissen
                              Dann wir der darunterliegende Befehl erst abgearbeitet wenn der exec Befehl ausgeführt wurde

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                maxpd @crunchip last edited by maxpd

                                @crunchip Du meinst ich soll Text to Speech in die neue Klammer des exec Befehls einsetzen?
                                Ich bin mir nicht sicher, ob das der richtige Weg ist.
                                Also die Datei wird nach obigem Aufbau wirklich gelöscht, das habe ich geprüft. Und der darunterliegende Text to speech Befehl auch ausgeführt. Denn es befindet sich auf dem iobroker Server nach dem Löschvorgang eine neue mp3, die Test 2 spricht. Hierzu habe ich großzügige Pausen zwischen die einzelnen Schritte gebaut, um deren Abarbeitung zu prüfen. Die neue mp3, wird auch als Abspielpfad dem Chromecast übergeben.
                                Trotzdem ist die Ausgabe über den Chromecast Test 1. Sodass irgendwas irgendwo gecacht werden muss.

                                Meister Mopper 1 Reply Last reply Reply Quote 0
                                • Meister Mopper
                                  Meister Mopper @maxpd last edited by

                                  @maxpd sagte in SayIT probleme mit der Wiedergabe:

                                  Du meinst ich soll Text to Speech in die neue Klammer des exec Befehls einsetzen?

                                  Ich glaube eher, hier soll der Haken gesetzt werden:

                                  b3d5fd42-d209-4f9c-83f3-d911a94a5898-grafik.png

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    maxpd @Meister Mopper last edited by maxpd

                                    @meister-mopper Ja, dann öffnet sich darunter eine neue Klammer. Und crunchip sagte, dass der darunterliegende Befehl erst dann abgearbeitet wird.

                                    Ich habe es jetzt einfach ausprobiert. Aber das Ergebnis bleibt das Selbe.

                                    Falls es mal jemand selbst testen möchte. Blöcke zum importieren. :

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                      <variables>
                                        <variable type="timeout" id="timeout">timeout</variable>
                                        <variable type="timeout" id="timeout2">timeout2</variable>
                                      </variables>
                                      <block type="schedule" id="m85vfeI)N2iCBHfr]nXe" x="-478" y="92">
                                        <field name="SCHEDULE">*/40 * * * * *</field>
                                        <statement name="STATEMENT">
                                          <block type="control" id="I;b#^_2Mx#Mqng^Lg1S,">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">sayit.2.tts.clearQueue</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="|aHwh6N^n*1(cu4}0=nT">
                                                <field name="BOOL">TRUE</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="control" id="h:Ae,B[!w(`}Hc0X+bvm">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">sayit.2.tts.text</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="Fp)A5G8wF=x4+Pj,}@s1">
                                                    <field name="TEXT">Test 1</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="timeouts_settimeout" id="2tHEm}_cp{#CZtd^U|MY">
                                                    <field name="NAME">timeout</field>
                                                    <field name="DELAY">15</field>
                                                    <field name="UNIT">sec</field>
                                                    <statement name="STATEMENT">
                                                      <block type="control" id="l=fy[=}J1CIGFU?Mc9pY">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">sayit.2.tts.clearQueue</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="logic_boolean" id="k.,2+!P_+jJY(2x_IJ:L">
                                                            <field name="BOOL">TRUE</field>
                                                          </block>
                                                        </value>
                                                        <next>
                                                          <block type="exec" id="@(hzTiZ/!+!xIRAG{a(X">
                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                                            <field name="WITH_STATEMENT">TRUE</field>
                                                            <field name="LOG"></field>
                                                            <value name="COMMAND">
                                                              <shadow type="text" id="(_Uy%CmMS,-g?KLl:N9!">
                                                                <field name="TEXT">rm /opt/iobroker/iobroker-data/files/sayit.2/tts.mp3</field>
                                                              </shadow>
                                                            </value>
                                                            <next>
                                                              <block type="control" id=".uME[o,Wa~f@wYTzULaP">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">sayit.2.tts.text</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="text" id="(cfid/`$|Ezh;cMXE[b;">
                                                                    <field name="TEXT">Test 2</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </statement>
                                                    <next>
                                                      <block type="timeouts_settimeout" id="=2wo`5ckRaF68X3rPT..">
                                                        <field name="NAME">timeout2</field>
                                                        <field name="DELAY">30</field>
                                                        <field name="UNIT">sec</field>
                                                        <statement name="STATEMENT">
                                                          <block type="exec" id=":pe_MvB:GDl]jn`SiD3C">
                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
                                                            <field name="WITH_STATEMENT">TRUE</field>
                                                            <field name="LOG"></field>
                                                            <value name="COMMAND">
                                                              <shadow type="text" id="]yGB_#_0@W:F-,!Zin8y">
                                                                <field name="TEXT">rm /opt/iobroker/iobroker-data/files/sayit.2/tts.mp3</field>
                                                              </shadow>
                                                            </value>
                                                            <next>
                                                              <block type="control" id="tj]tan-!Qn#c2RR~Q8:%">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                <field name="OID">sayit.2.tts.text</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE">
                                                                  <block type="text" id="oqzj.4JTfk]V6(M1}vGQ">
                                                                    <field name="TEXT">Test 3</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </statement>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                      </block>
                                    </xml>
                                    

                                    oder JS

                                    var timeout, timeout2;
                                    
                                    
                                    schedule("*/40 * * * * *", async () => {
                                      setState('sayit.2.tts.clearQueue' /* Clear queued texts */, true);
                                      setState('sayit.2.tts.text' /* Text to speech */, 'Test 1');
                                      timeout = setTimeout(async () => {
                                        timeout = null;
                                        setState('sayit.2.tts.clearQueue' /* Clear queued texts */, true);
                                        exec('rm /opt/iobroker/iobroker-data/files/sayit.2/tts.mp3');
                                        setState('sayit.2.tts.text' /* Text to speech */, 'Test 2');
                                      }, 15000);
                                      timeout2 = setTimeout(async () => {
                                        timeout2 = null;
                                        exec('rm /opt/iobroker/iobroker-data/files/sayit.2/tts.mp3');
                                        setState('sayit.2.tts.text' /* Text to speech */, 'Test 3');
                                      }, 30000);
                                    });
                                    
                                    DJMarc75 1 Reply Last reply Reply Quote 0
                                    • DJMarc75
                                      DJMarc75 @maxpd last edited by

                                      @maxpd sagte in SayIT probleme mit der Wiedergabe:

                                      Blöcke zum importieren

                                      bitte auch immer einen Screenshot zeigen 😉

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        maxpd @DJMarc75 last edited by

                                        @djmarc75 781bb65f-6326-40e8-afc1-967c4ee49fd9-image.png

                                        DJMarc75 1 Reply Last reply Reply Quote 0
                                        • DJMarc75
                                          DJMarc75 @maxpd last edited by

                                          @maxpd

                                          Screenshot 2024-01-03 222222.png

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            maxpd @DJMarc75 last edited by

                                            @djmarc75 Ja, das hatte ich auch gemacht. Aber ändert nichts am Endergebnis.

                                            crunchip 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            734
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            54
                                            2804
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo