Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. BUG - sayit geht nicht mehr !

    NEWS

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    BUG - sayit geht nicht mehr !

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 @JohnDenver0815 last edited by

      @johndenver0815 sagte in BUG - sayit geht nicht mehr !:

      Hi,

      hm ich bin nicht sicher ob das hier ein sinnvoller Thread ist für so eine Frage. Hast Du mal in einem Thread spezieller zu Heos oder im GitHub bei dem Adapter gefragt?

      Der SayIt-Adapter reiht sich bei mir leider in eine Liste nicht nutzbarer Adapter ein (u.a. IQontrol, Vis, diverse Wetteradapter), da das Zusammenspiel mit HEOS zumindest bei mir nicht 100%ig gegeben ist.

      Solche Sätze, vor allem als Einstieg in einen Support-Wunsch, finde ich persönlich immer sehr schwierig, weil ich immer hin und hergerissen bin ob ich den Thread kapere ,um zu Fragen was genau damit gemeint ist, wo diese Probleme berichtet oder diskustiert wurden, das man Sie ggf fixen kann, oder ob ich darüber hinweg lese. Eine unverständliche negative Stimmung lassen Sie in jedem Fall bei mir aufkommen was ich schade finde...

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

        @johndenver0815

        Ich habe mir das jetzt mal angeschaut, weil ich auch drei Heos-Geräte habe bisher aber die Notwendigkeit noch nicht gesehen habe, diese mit Sayit zu beschicken.

        Folgende Konstellation habe ich hergestellt:

        9cec538d-b7d7-4e8e-8961-03b23286b6e5-grafik.png

        8277424f-e13e-4dd4-a8ff-5d1806529772-grafik.png

        Neue Sayit-Instanz angelegt:

        c98b150a-9942-45b0-bbc4-e4ed82440685-grafik.png

        886577aa-0ca2-4576-8c1f-94e792f79c34-grafik.png

        Wenn ich den tts.text befülle und abfeuere, wird auf allen Heos-Geräten die Meldung ausgegeben.
        1eae9749-428c-485f-b0fe-441c272e581e-grafik.png

        Danach wird allerdings die letzte Musikszene fortgeführt obwohl die Geräte vorher aus waren.
        Will man also den status quo vor der Meldung wiederherstellen muss ein wenig programmiert werden.

        Fazit: Hier funktioniert es!

        1 Reply Last reply Reply Quote 1
        • J
          JohnDenver0815 @apollon77 last edited by JohnDenver0815

          @apollon77 sagte in BUG - sayit geht nicht mehr !:

          Solche Sätze, vor allem als Einstieg in einen Support-Wunsch

          Ich gebe zu, der Einstieg war suboptimal, sollte allerdings auch nicht triggern, den Thread zu kapern. Hier gibts evtl. auch ein Layer-8-Thema, wenns meinerseits drängelt werde ich die Themen rechtzeitig in den entsprechenden Threads platzieren. Solange knobel ich da noch selber dran. Sorry dafür 😉

          @meister-mopper sagte in BUG - sayit geht nicht mehr !:

          Wenn ich den tts.text befülle und abfeuere, wird auf allen Heos-Geräten die Meldung ausgegeben.

          Das funktioniert bei mir auch, keine Frage. Der Punkt war das "parallele Abspielen unterschiedlicher Texte bzw. das Abspielen nur auf einzelnen Geräten". Dafür gibts in den Adaptereinstellungen den Punkt "Gerät", der in meinen Augen genau dafür da ist. Drücke ich drauf kommt allerdings keine Auswahl.

          Was habe ich damit vor?
          Ich habe (wie wahrscheinlich der eine oder andere hier) Kinder im "schwerhörigen Alter" ;-), welche per Knopfdruck (z.B.) die Ansage "Essen ist fertig" oder "deine täglichen Aufgaben sind noch nicht erledigt" auf ihre Speaker bekommen sollen. Die Info brauche ich ja dann selbst in der Küche nicht, aber die Kids sollten das schon hören. 😉

          Edit: hier dudeln in Summe aktuell 10 Heos-Devices, die müssen nicht alle gleichzeitig "meckern".

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

            @johndenver0815 sagte in BUG - sayit geht nicht mehr !:

            Edit: hier dudeln in Summe aktuell 10 Heos-Devices, die müssen nicht alle gleichzeitig "meckern".

            Reicht es denn nicht aus, tts mit (null) zu beschicken, damit das Gerät stumm bleibt?

            b2d8e872-3dc7-4fcc-ae36-e6ca5907bd17-grafik.png

            J 2 Replies Last reply Reply Quote 0
            • J
              JohnDenver0815 @Meister Mopper last edited by JohnDenver0815

              @meister-mopper Wenn ich denn die Chance hätte, ein einzelnes Gerät auszuwählen, dann reicht es. Aber eben genau daran scheiterts…

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

                @meister-mopper sagte in BUG - sayit geht nicht mehr !:

                @johndenver0815 sagte in BUG - sayit geht nicht mehr !:

                Edit: hier dudeln in Summe aktuell 10 Heos-Devices, die müssen nicht alle gleichzeitig "meckern".

                Reicht es denn nicht aus, tts mit (null) zu beschicken, damit das Gerät stumm bleibt?

                b2d8e872-3dc7-4fcc-ae36-e6ca5907bd17-grafik.png

                Grad nochmal nachgesehen, dein Screenshot ist ja vom Speaker, nicht von den SayIt-Objekten. Heisst das, ich müsste bei jeder getriggerten Ansage alle nicht erwünschten Player mit (null) beschicken? Klingt ein wenig wie "durch die Brust ins Auge". Von der Logik her wäre es doch vernünftiger, nur explizit die Player anzusteuern, die etwas ausgeben sollen.

                Irgendwie entzieht sich mir auch noch der Zusammenhang zwischen der Sayit- und der Heos-Instanz. Für meine Begriffe generiert der Sayit-Adapter aus dem übergebenen Text ein mp3-File, welches dann wiederum vom Heos-Device abgespielt werden kann. Da ich letzteres im Sayit-Adapter aber nicht einstellen kann (oder ich habe wieder ein Syntaxthema) werden alle Heos-Devices getriggert. Daher auch die Frage, ob ich für jedes im Heimnetz eingebundene Heos-Device eine eigene Sayit-Instanz benötige... Zumindest ist hier dokutechnisch noch etwas Luft nach oben, intuitiv komme ich erstmal nicht weiter.

                Danke und Grüße

                1 Reply Last reply Reply Quote 0
                • J
                  JohnDenver0815 last edited by

                  Über ein Jahr her, aber irgendwie will es immernoch nicht laufen. Hat jemand noch eine Idee oder eine Anleitung zur Hand, wie ich per SayIt-Adapter explizit einzelne Heos-Devices ansteuern kann?

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

                    @johndenver0815
                    ChatGPT

                    //sayIt
                    setState('sayit.0.tts.text', 'Guten Morgen im Wohnzimmer.');
                    
                    //Heos
                    const heosPlayer = 'heos.0.player.1234567890.command'; // Beispiel: Wohnzimmer
                    const ttsUrl = 'http://192.168.178.50:8082/state/sayit.0.tts.mp3';
                    
                    setTimeout(() => {
                        setState(heosPlayer, `play_stream,${ttsUrl}`);
                    }, 2000); // 2s warten, bis MP3 fertig ist
                    
                    
                    // mehrere
                    function sayToHeos(playerName, text) {
                        const sayIt = 'sayit.0.tts.text';
                        const base = 'heos.0.player.';
                        const players = {
                            wohnzimmer: '1234567890',
                            kueche: '9876543210',
                            bad: '5555555555'
                        };
                    
                        const heosCmd = base + players[playerName.toLowerCase()] + '.command';
                        setState(sayIt, text);
                    
                        setTimeout(() => {
                            const url = 'http://192.168.178.50:8082/state/sayit.0.tts.mp3';
                            setState(heosCmd, `play_stream,${url}`);
                        }, 2000);
                    }
                    
                    // Beispiele:
                    sayToHeos('Wohnzimmer', 'Die Waschmaschine ist fertig.');
                    sayToHeos('Bad', 'Das Wasser ist warm.');
                    
                    

                    Typische Stolperfallen

                    Problem	                        Ursache	                         Lösung
                    Alle Lautsprecher sprechen	HEOS-Gruppe aktiv	    Gruppe auflösen oder play_stream an Einzelgerät senden
                    Kein Ton	                MP3 nicht erreichbar	    Web-Adapter aktivieren (Port prüfen)
                    Erster Teil des Satzes fehlt	MP3 noch nicht fertig	    1–2 s Wartezeit nach SayIt hinzufügen
                    SayIt spielt gleichzeitig lokal ab	im SayIt-Adapter    „Ausgabe-Gerät“ auf „none“ oder „System“ stellen
                    
                    J 1 Reply Last reply Reply Quote 1
                    • J
                      JohnDenver0815 @MCU last edited by

                      @mcu Ich habe mir das Script anhand des ChatGPT-Outputs zurecht gebogen, aber dem SayIt-Adapter ist es herzlich egal, welche Speaker ich im Script per ID anspreche. Der Text kommt sofort, sobald der State sayit.0.tts.text gesetzt wird (das triggert die MP3-Erzeugung, welche anschließend abgespielt wird bevor ich überhaupt eingreifen kann). Habe einen Speaker testweise ins gleiche Netz gehangen, in der Hoffnung ihn dann in den Instanzeinstellungen als Gerät auswählen zu können: ebenfalls Fehlanzeige. Ich kann lediglich den Typ auf "Heos" setzen, mit oben beschriebenem Erfolg.

                      Entweder muss SayIt dazu gebracht werden, nur die Datei zu erzeugen, ohne sie abzuspielen, oder ich muss je Instanz den betroffenen Speaker auswählen können.

                      Bug oder Feature?

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

                        @johndenver0815 Sayit auf System einstellen, dann wird nur die Datei erzeugt, oder?
                        Evtl. eine eigene Instanz dafür nutzen?

                        https://192.168.178.150:8081/files/sayit.0/tts.mp3
                        

                        Datei dann lesen lassen für Heos?

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          JohnDenver0815 @MCU last edited by

                          @mcu Leider nicht, dann kommt folgender Fehler:

                          	Cannot play: Exit code: Error: Command failed: mplayer /opt/iobroker/cache/ba84793cac330a08436c98b1ba452175.mp3 -volume 30/bin/sh: 1: mplayer: not found
                          
                          M Homoran Thomas Braun 3 Replies Last reply Reply Quote 0
                          • M
                            MCU @JohnDenver0815 last edited by

                            @johndenver0815 Wurde denn die Datei erzeugt?
                            5c9a3e82-cf54-49dc-bb9e-64a00fc65f8f-image.png

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @JohnDenver0815 last edited by

                              @mcu sagte in BUG - sayit geht nicht mehr !:

                              Wurde denn die Datei erzeugt?

                              ich glaube nicht, dass das die Ursache sein wird.

                              Due Meldung heisst ja:
                              @johndenver0815 sagte in BUG - sayit geht nicht mehr !:

                              mplayer: not found

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

                                @homoran
                                mplayer wird nicht benötigt, wenn man die Datei per https abruft (chatGPT)
                                Aber vielleicht will der Heos-Adapter den mplayer nutzen?
                                Kann es nicht testen, hab kein HEOS-System.

                                Dann auf dem System

                                sudo apt install mplayer -y
                                

                                b505fe52-9049-4b95-bd93-c110b10049a8-image.png

                                1 Reply Last reply Reply Quote 0
                                • Thomas Braun
                                  Thomas Braun Most Active @JohnDenver0815 last edited by

                                  @johndenver0815

                                  sudo apt update
                                  apt policy mplayer
                                  

                                  sagt?

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    JohnDenver0815 last edited by

                                    Wenn ich sayit.0.tts.text direkt in den Objekten mit Text befülle, dann generiert SayIt die Datei (ich kann sie auch über den Browser aufrufen). Ist in dem Moment der Typ in SayIt auf Heos gestellt, dann geben auch "alle" Heos-Devices die mp3 wieder. Bis dahin also alles gut. Ich würde nur entweder gern direkt im Adapter unter Gerät (Dropdown ist leider leer) ein spezifisches Ausgabedevice angeben, oder alternativ dazu irgendwo einen Haken setzen, dass lediglich die Datei erzeugt wird, ohne eine akustische Ausgabe zu triggern (um sie danach per Heos-Command inkl. Playerzuweisung aufzurufen).

                                    Heos ist da in meinen Augen noch aussen vor, ebenso die Geschichte mit mplayer (der ja nur vom Sayit-Adapter versucht wird zu starten, weil der Typ auf System umgestellt wurde. Für welches Testszenario sollte ich jetzt den mplayer installieren, wenn ich ihn eh nicht nutzen möchte?

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

                                      @johndenver0815
                                      Durch welche Anpassung kam dieser Fehler? Was wurde wo eingetragen?
                                      Wie wird im Heos Objekte der Aufruf für die Datei eingetragen?
                                      Welche Datei wurde von sayIt erstellt?
                                      Bitte entsprechende Bilder von den Objekten und Dateien.

                                      Cannot play: Exit code: Error: Command failed: mplayer /opt/iobroker/cache/ba84793cac330a08436c98b1ba452175.mp3 -volume 30/bin/sh: 1: mplayer: not found
                                      
                                      J 1 Reply Last reply Reply Quote 1
                                      • J
                                        JohnDenver0815 @MCU last edited by

                                        @mcu sagte in BUG - sayit geht nicht mehr !:

                                        Durch welche Anpassung kam dieser Fehler? Was wurde wo eingetragen?

                                        Durch die versuchsweise Umstellung des "Typ" (nach deinem Tipp) auf den Parameter "System" in den Adaptereinstellungen von SayIt. Richtig wäre hier der Parameter "Heos", der aber ausnahmslos alle Heos-Devices mit der Ausgabe befeuert.

                                        @mcu sagte in BUG - sayit geht nicht mehr !:

                                        Wie wird im Heos Objekte der Aufruf für die Datei eingetragen?

                                        Unter heos.0.player.12345678.command wurde
                                        play_stream,http://10.xxx.xxx.xxx:8082/sayit.0/tts.mp3 eingetragen
                                        (IP und ID anonymisiert)

                                        Die Datei wurde wie gesagt erzeugt, ich kann sie auch per Linkaufruf im Browser abspielen. Die Heos-Devices geben sie auch wieder, und zwar sofort nach manueller Eingabe meines Textes im Objekt sayit.0.tts.text

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

                                          @johndenver0815 Nicht 8082 nutzen sondern 8081

                                          http://10.xxx.xxx.xxx:8081/sayit.0/tts.mp3
                                          
                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            JohnDenver0815 @MCU last edited by

                                            @mcu Warum das? 8081 wär der ioBroker, 8082 die Webinstanz.

                                            M 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            551
                                            Online

                                            32.4k
                                            Users

                                            81.2k
                                            Topics

                                            1.3m
                                            Posts

                                            error sayit
                                            15
                                            116
                                            8753
                                            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