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.
    • 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
                                  • M
                                    MCU @JohnDenver0815 last edited by

                                    @johndenver0815 Nee, mein Fehler.
                                    Ich hatte noch files dazwischen
                                    https://192.168.178.150:8082/sayit.0/tts.mp3
                                    geht auch

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

                                      @johndenver0815 Wenn Du eine httpDatei abspielen willst auf einem dieser Heos-Geräte, was muss man da in dem command angeben? Schon mal eine x-beliebige mp3 getestet?
                                      Wie sehen die Heos-Objekte (DPs) in der Übersicht aus?

                                      Fasse nochmal zusammen
                                      sayIt Adapter wird umgestellt auf System
                                      d69e7d01-d0ef-4d90-9e76-5da0faef56e3-image.png

                                      Dann wird bei der Erstellung einer Datei der Fehler ausgelöst?
                                      Hast du da evtl mplayer ausgewählt?

                                      Datei wird erstellt

                                      Dann wird im heos -Objekt der Link eingetragen und es passiert was?

                                      Was hast du im Heos ausgewählt?
                                      d712c46a-4f71-4827-a4de-848a858b3662-image.png

                                      Da kann man doch anscheinend Spieler IDs festlegen im command_scope_pid

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

                                        Ihr werdets nicht glauben, ich habe es, wenn auch eher zufällig, hinbekommen. Und es war banaler als man es sich vorstellen kann (die Erkenntnisse sollten unbedingt mit ins Handbuch).

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

                                        Ich würde nur entweder gern direkt im Adapter unter Gerät (Dropdown ist leider leer) ein spezifisches Ausgabedevice angeben

                                        Das Dropdown ist aber auch nur solange ein Dropdown, wie der Adapter läuft. Stoppt man den Adapter, dann wird da ein Textfeld draus, welches man wunderbar mit heos.0.player.<playerID> bestücken kann. Adapter starten, Test drücken und siehe da, es wird nur ein einzelner Player mit Audio beschickt (leider mehrfach, aber das sollte ich hoffentlich per Script wegbekommen).

                                        Der Weg war hart und steinig, und die Hoffnung schwand zusehends, aber es ist vollbracht. Danke dennoch für die fixen Antworten 😉

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

                                          @johndenver0815 Hab es nicht verstanden, was genau Du jetzt gemacht hast.
                                          Adapter gestoppt und gestartet und plötzlich war ein Dropdown da?
                                          Beim Heos? und wo? In den Adaptereinstellungen? In den Objekten?

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

                                            @mcu Nix Heos...
                                            Im SayIt-Adapter unter "Abspielen" gibts das Feld "Gerät". Dieses ist bei gestopptem Adapter ein Textfeld und mutiert nach Adapterstart zu einem Dropdown.

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

                                            d69e7d01-d0ef-4d90-9e76-5da0faef56e3-image.png

                                            Quasi da wo in deinem Screenshot "Linux-Player" steht (weil du bei Typ "System" drin hast).

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            471
                                            Online

                                            32.4k
                                            Users

                                            81.3k
                                            Topics

                                            1.3m
                                            Posts

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