Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [unGelöst] Sonos Mp3 Sound abspielen

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    6
    1
    222

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    219

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    893

[unGelöst] Sonos Mp3 Sound abspielen

Scheduled Pinned Locked Moved ioBroker Allgemein
48 Posts 14 Posters 14.6k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    speedy
    wrote on last edited by
    #26

    So, konnte nun doch gleich mal testen.

    Habe es nun genauso versucht, aber das Problem ist, dass in der Wiedergabeliste (lt. Sonos App am Rechner) einige Lieder hinterlegt sind.

    Diese werden nun erstmals abgespielt und somit hat mein Eintrag unter tts keinen Sinn (wird nicht abgespielt).

    Wenn die Liste leer ist, funktioniert es. Aber ich konnte keine Möglichkeit finden, wie ich die Liste aus ioBroker leeren könnte.

    Die Liste wird aber bei Verwendung der Sonos mal mehr mal weniger Einträge aufweisen…

    Dann kommt noch dazu, dass die Lautstärke sich von alleine erhöht. Ich habe im ioBroker eine MaxLautstärke eingestellt :D .

    Diese hält mir die Lautstärke dann auf 20%.

    Meiner Meinung macht dieser Adapter nur wenig Sinn... er ist einfach unausgereift...

    Schade


    ioBroker - Neuling ;)

    1 Reply Last reply
    0
    • M Offline
      M Offline
      Marty56
      wrote on last edited by
      #27

      Ja der Adapter ist ziemlicher Schrott!

      Ich hatte mit meiner Lösung nach ca. 2 Wochen auch wieder so einen "PSI- Effekt", dass ich plötzlich kein Mp3 File mehr abspielen konnte.

      Statt dessen hat er das Mp3 File der letzten Ansage immer wieder abgespielt.

      Ich habe jetzt in meiner Sound Routine noch ein Dummy Abspielen eines Favoriten eingefügt.

      Damit ist zunächst mal das Symtom weg. Aber ob das eine langfristig, stabile Lösung ist, weiß ich auch nicht.

      function sonosmp3play(sound,vol) {
          var harmony = getState(Harmony_currentStatus).val;
          if ( ((harmony === 2) || (harmony === 0))) {
              setState("sonos.0.root.192_168_10_32.favorites_set","");
              if (vol === undefined) vol = sonosWZdefaultvol;
              setStateDelayed(sonosWZtts,vol+";"+soundserverurl + sound,1000);
          } else {
             log("Sonos speaker busy.");
          }
      }
      

      Update: Funktioniert auch nicht.

      I give up. Schrott bleibt Schrott, da hilft auch kein Lippenstift.

      HW:NUC (16 GB Ram)
      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

      1 Reply Last reply
      0
      • M Offline
        M Offline
        Marty56
        wrote on last edited by Marty56
        #28

        Ich habe jetzt die gesamte Soundausgabe auf Sonos auf den "node-sonos-http-api" Server umgestellt und den Sonos Adapter gelöscht.
        Außerdem habe ich mein "Sound API" vereinheitlich, so dass ich es auch für die 5 Alexa Lautsprecher verwenden kann. Dieses Script habe ich seit 14 Tage ohne Problem im Einsatz.

        
        /* ------------------------ node-sonos-http-api --------------------------------
          1. Master von https://github.com/jishi/node-sonos-http-api herunterladen
          
          2. Das Repro unter /opt/iobroker/node_sonos_http_api-master entpacken
          
          3. und dort mit npm install --production installieren.
          
          4. Der 'node-sonos-http' Server starten mit 
        
          cd /opt/iobroker/node_sonos_http_api-master
          nohup npm start &
        
          
          Kommandos:
          
          Queue löschen
          node_sonos_http_api("Wohnzimmer","clearqueue");
          
          Play/Stop
          node_sonos_http_api("Wohnzimmer","pause");
          
          Mp3-file abspielen
          Das mp3-file muss unter static/clip abgelegt sein.
          Nach Beendigung wird die vorige Lautstärke wiederhergestellt
          Beispiel mit Lautstärke 40%
          node_sonos_http_api("Wohnzimmer","clip/"+ "gong.mp3/40");
        
          
          Text to speech
          Es ist eine sayit instanz instanziert, die ein Mp3- file erzeugt und als 
          Ausgabe Browser verwendet. 
          Dazu wird das vom Adapter sayit erzeugte Mp3- file nach static/clip
          kopiert. Achtung: Das Cachen des sayit Adapters muss dafür ausgeschaltet sein.
          
          Beispiel: Sayit abspielen mit Lautstärke 50
          node_sonos_http_api("Wohnzimmer","clip/"+ "sayit.mp3/50");
          
          
        */
        
        function copyFile(source,destination) {
            exec("cp " + source + " " + destination, function (error, stdout, stderr) {
                if (!error) {
                    log("File kopiert");
                } else {log(stdout);log("Fehler beim Kopieren");}
            });
        }
        
        var http = require('http');
        function node_sonos_http_api(speaker,command) {
            log('node_sonos_http_api: ' + command + ' auf ' + speaker);
            var delay = 0;
            if (command.includes('sayit')) {
                copyFile('/opt/iobroker/node_modules/iobroker.sayit/sayit.1.say.mp3', '/opt/iobroker/node-sonos-http-api-master/static/clips/sayit.mp3');
                // Ausgabe 1 Sekunde verzögern, 
                // damit das Kopieren von sayit.1.say.mp3 abgeschlossen werden kann.
                delay = 1000;
            }
            setTimeout( function() {
                var reqOptions = {
                    hostname: '192.168.10.78',
                    port:     5005,
                    path:     '/' + speaker + '/' + command,
                    method:   'GET'
                };
                
                var req = http.request(reqOptions, function (res) {
                    var data = '';
                    res.on('data',function (chunk) {data += chunk;});
                    res.on('end', function () {
                        log('Sonos ' + command + ' ok');
                    });
                });
                req.on('error', function (e) {
                    log("Fehler:" + e.message);
                });
                req.end();
            }, delay);
        }
        /*
        ----- 5 Alexa Lautsprecher und 1 Sonos Playbar -------------------------------
        Die Funktion text_to_wlan speaker funktioniert sowohl für Alexa Lautsprecher
        als auch für eine Playbar (WZ).
        
        */
        var alexa = {
            "Bad":          'alexa2.0.Echo-Devices.G090LV037324007K',
            "Kinderzimmer": 'alexa2.0.Echo-Devices.90F00818720400KN',
            "Küche":        'alexa2.0.Echo-Devices.G090LV03717501KP',
            "Diele" :       'alexa2.0.Echo-Devices.G090LF09650418PG',
            "Obergeschoss": 'alexa2.0.Echo-Devices.G2A0P308844308UB',
            "WZ":           ''
        };
        var alarmvol = 100;
        var klingelvol = 80;
        
        function text_to_wlan_speacher(txt,vol,night,device) {
            var delay = 0;
            if ((new Date() >= getDateObject("6:59"))  && 
                (new Date() <= getDateObject("22:30")) ||
                (night === true)) {
                if(alexa[device] !== undefined)
                    if(alexa[device].substr(0,5) == "alexa") {
                        if (vol !== undefined) {
                            delay = 500;
                            setState(alexa[device] + ".Commands.speak-volume",parseInt(vol));
                        }
                        setTimeout(function(){setState(alexa[device] + ".Commands.speak",txt);},delay);
                    } else {
                         
                    // Aufruf der Routine 3 Sek verzögert, damit sayit Adapter Zeit hat
                    // das mp3 file zu erzeugen.
                        setTimeout(function () {
                            if (vol === undefined) vol = ''; else vol = "/" + vol;
                            node_sonos_http_api("Wohnzimmer","clip/sayit.mp3"+vol);
                        },3000);
                        //delay  = (txt.length/3)*1000 + 3000;
                        //setTimeout(function () { node_sonos_http_api("Wohnzimmer","clearqueue");},delay);
                    } 
                else log("unbekannter Lautsprecher");    
            } else {
                log("Die unterdrückte Sprachausgabe um " + formatDate(new Date(),'h') + 
                    " Uhr " + formatDate(new Date(),'m') + ' lautete ' + txt + '!');
            }
        }
        /*
        Aufruf von Text to Speech durch Schreiben auf Datenpunkt "speechout2". Z.B. 
        
        setState("speechout2",JSON.stringify(
            {   text:   "Hallo Martin",
                vol:21,
                device: "WZ",
                night:  false
            }));
            
        text: Der Ausgabetext
        vol:  Die Ausgabelautstärke (optional)
        device: Die Lautsprecherbezeichnung (optional), falls nicht angegeben dann nur
                Ausgabe auf Browser
                Bad: Ausgabe im Bad
                Obergeschoss: Ausgabe im Obergeschoss,
                Küche: Ausgabe in der Küche
                Kinderzimmer: Augabe im Kinderzimmer
                WZ: Ausgabe im Wohnzimmer
                ALL oder Haus: Ausgabe auf allen Lautsprecher
                HausohneKZ: Ausgabe auf allen Lautsprecher bis auf Kinderzimmer
                HausohneWZ: Ausgabe auf allen Lautsprechern bis auf Wohnzimmer
                
        night: optional. bei false(default) wird Sprachausgabe in der Nacht unterdrückt
        
        */
        
        on({id: "speechout2", change: "any"}, function (obj) {
            var parameter = JSON.parse(obj.state.val);
            console.log("speechout2: " + parameter.text + " auf " + ((parameter.device === undefined) ? "Tablet":parameter.device));
            setState('sayit.1.tts.text','<speak><break time="2s"/>' + parameter.text + '</speak>');
            if (parameter.night  === undefined) parameter.night = false;
            if (parameter.device !== undefined) {
                if ((parameter.device === "ALL") || (parameter.device === "Haus")){
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'WZ');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Bad');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Obergeschoss');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Küche');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Kinderzimmer');
                } else
                if (parameter.device === "HausohneKZ") {
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'WZ');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Bad');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Obergeschoss');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Küche');
                } 
                else
                if (parameter.device === "HausohneWZ") {
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Bad');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Obergeschoss');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Küche');
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Kinderzimmer');
                } else
                    text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,parameter.device);
            }
        });
        /* Soundausgabe
        Es gibt zwei Soundausgaben
        1. Alarmierung mit Hundegebell über die Playbar im Wohnzimmer
        2. Türklingel mit Sound "doorbell.mp3" im Wohnzimmer und einem freien Sound von
           der Amazon Musiklibrary namens: "spiele Turmuhr schlägt 12 - Geisterstunde".
        */
        
        //----------------- Hundebellen als zusätzliches Alarmsignal  ------------------
        createState("Hunde",false);
        on({id: "Hunde", change: "gt"}, function(obj) {
            node_sonos_http_api("Wohnzimmer","clip/"+ "hunde.mp3/" + alarmvol);
            });
        on({id: "Hunde", change: "lt"},function(obj) {
            node_sonos_http_api("Wohnzimmer","pause");
            setTimeout(function () {node_sonos_http_api("Wohnzimmer","clearqueue");},3000);
        });
        
        //-- Türklingeln über Lautsprecher "verstärken" -------------------------------
        var lock = false;
        on({id: getIdByName('Doorbell.PRESS_SHORT'), val: true}, function (obj) {
           if (lock === false) {
                lock = true;
                if(getState("Presence").val === true)
                    setStateDelayed(alexa.Obergeschoss + ".Music-Provider.Amazon-Music","spiele Turmuhr schlägt 12 - Geisterstunde",0);
                    setStateDelayed(alexa.Obergeschoss + ".Player.controlPause",true,10000);
                    node_sonos_http_api("Wohnzimmer","clip/"+ "doorbell.mp3/"+klingelvol);
                    setTimeout(function () {node_sonos_http_api("Wohnzimmer","clearqueue");},10000);
                //setState('Botschaft', "Am " + formatDate(new Date(), "W") + ' um ' + formatDate(new Date(), "hh:mm") + " hat es geklingelt");
                setTimeout(function () { lock = false},30000);
           } 
        });
        
        

        HW:NUC (16 GB Ram)
        OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

        K 1 Reply Last reply
        0
        • M Marty56

          Ich habe jetzt die gesamte Soundausgabe auf Sonos auf den "node-sonos-http-api" Server umgestellt und den Sonos Adapter gelöscht.
          Außerdem habe ich mein "Sound API" vereinheitlich, so dass ich es auch für die 5 Alexa Lautsprecher verwenden kann. Dieses Script habe ich seit 14 Tage ohne Problem im Einsatz.

          
          /* ------------------------ node-sonos-http-api --------------------------------
            1. Master von https://github.com/jishi/node-sonos-http-api herunterladen
            
            2. Das Repro unter /opt/iobroker/node_sonos_http_api-master entpacken
            
            3. und dort mit npm install --production installieren.
            
            4. Der 'node-sonos-http' Server starten mit 
          
            cd /opt/iobroker/node_sonos_http_api-master
            nohup npm start &
          
            
            Kommandos:
            
            Queue löschen
            node_sonos_http_api("Wohnzimmer","clearqueue");
            
            Play/Stop
            node_sonos_http_api("Wohnzimmer","pause");
            
            Mp3-file abspielen
            Das mp3-file muss unter static/clip abgelegt sein.
            Nach Beendigung wird die vorige Lautstärke wiederhergestellt
            Beispiel mit Lautstärke 40%
            node_sonos_http_api("Wohnzimmer","clip/"+ "gong.mp3/40");
          
            
            Text to speech
            Es ist eine sayit instanz instanziert, die ein Mp3- file erzeugt und als 
            Ausgabe Browser verwendet. 
            Dazu wird das vom Adapter sayit erzeugte Mp3- file nach static/clip
            kopiert. Achtung: Das Cachen des sayit Adapters muss dafür ausgeschaltet sein.
            
            Beispiel: Sayit abspielen mit Lautstärke 50
            node_sonos_http_api("Wohnzimmer","clip/"+ "sayit.mp3/50");
            
            
          */
          
          function copyFile(source,destination) {
              exec("cp " + source + " " + destination, function (error, stdout, stderr) {
                  if (!error) {
                      log("File kopiert");
                  } else {log(stdout);log("Fehler beim Kopieren");}
              });
          }
          
          var http = require('http');
          function node_sonos_http_api(speaker,command) {
              log('node_sonos_http_api: ' + command + ' auf ' + speaker);
              var delay = 0;
              if (command.includes('sayit')) {
                  copyFile('/opt/iobroker/node_modules/iobroker.sayit/sayit.1.say.mp3', '/opt/iobroker/node-sonos-http-api-master/static/clips/sayit.mp3');
                  // Ausgabe 1 Sekunde verzögern, 
                  // damit das Kopieren von sayit.1.say.mp3 abgeschlossen werden kann.
                  delay = 1000;
              }
              setTimeout( function() {
                  var reqOptions = {
                      hostname: '192.168.10.78',
                      port:     5005,
                      path:     '/' + speaker + '/' + command,
                      method:   'GET'
                  };
                  
                  var req = http.request(reqOptions, function (res) {
                      var data = '';
                      res.on('data',function (chunk) {data += chunk;});
                      res.on('end', function () {
                          log('Sonos ' + command + ' ok');
                      });
                  });
                  req.on('error', function (e) {
                      log("Fehler:" + e.message);
                  });
                  req.end();
              }, delay);
          }
          /*
          ----- 5 Alexa Lautsprecher und 1 Sonos Playbar -------------------------------
          Die Funktion text_to_wlan speaker funktioniert sowohl für Alexa Lautsprecher
          als auch für eine Playbar (WZ).
          
          */
          var alexa = {
              "Bad":          'alexa2.0.Echo-Devices.G090LV037324007K',
              "Kinderzimmer": 'alexa2.0.Echo-Devices.90F00818720400KN',
              "Küche":        'alexa2.0.Echo-Devices.G090LV03717501KP',
              "Diele" :       'alexa2.0.Echo-Devices.G090LF09650418PG',
              "Obergeschoss": 'alexa2.0.Echo-Devices.G2A0P308844308UB',
              "WZ":           ''
          };
          var alarmvol = 100;
          var klingelvol = 80;
          
          function text_to_wlan_speacher(txt,vol,night,device) {
              var delay = 0;
              if ((new Date() >= getDateObject("6:59"))  && 
                  (new Date() <= getDateObject("22:30")) ||
                  (night === true)) {
                  if(alexa[device] !== undefined)
                      if(alexa[device].substr(0,5) == "alexa") {
                          if (vol !== undefined) {
                              delay = 500;
                              setState(alexa[device] + ".Commands.speak-volume",parseInt(vol));
                          }
                          setTimeout(function(){setState(alexa[device] + ".Commands.speak",txt);},delay);
                      } else {
                           
                      // Aufruf der Routine 3 Sek verzögert, damit sayit Adapter Zeit hat
                      // das mp3 file zu erzeugen.
                          setTimeout(function () {
                              if (vol === undefined) vol = ''; else vol = "/" + vol;
                              node_sonos_http_api("Wohnzimmer","clip/sayit.mp3"+vol);
                          },3000);
                          //delay  = (txt.length/3)*1000 + 3000;
                          //setTimeout(function () { node_sonos_http_api("Wohnzimmer","clearqueue");},delay);
                      } 
                  else log("unbekannter Lautsprecher");    
              } else {
                  log("Die unterdrückte Sprachausgabe um " + formatDate(new Date(),'h') + 
                      " Uhr " + formatDate(new Date(),'m') + ' lautete ' + txt + '!');
              }
          }
          /*
          Aufruf von Text to Speech durch Schreiben auf Datenpunkt "speechout2". Z.B. 
          
          setState("speechout2",JSON.stringify(
              {   text:   "Hallo Martin",
                  vol:21,
                  device: "WZ",
                  night:  false
              }));
              
          text: Der Ausgabetext
          vol:  Die Ausgabelautstärke (optional)
          device: Die Lautsprecherbezeichnung (optional), falls nicht angegeben dann nur
                  Ausgabe auf Browser
                  Bad: Ausgabe im Bad
                  Obergeschoss: Ausgabe im Obergeschoss,
                  Küche: Ausgabe in der Küche
                  Kinderzimmer: Augabe im Kinderzimmer
                  WZ: Ausgabe im Wohnzimmer
                  ALL oder Haus: Ausgabe auf allen Lautsprecher
                  HausohneKZ: Ausgabe auf allen Lautsprecher bis auf Kinderzimmer
                  HausohneWZ: Ausgabe auf allen Lautsprechern bis auf Wohnzimmer
                  
          night: optional. bei false(default) wird Sprachausgabe in der Nacht unterdrückt
          
          */
          
          on({id: "speechout2", change: "any"}, function (obj) {
              var parameter = JSON.parse(obj.state.val);
              console.log("speechout2: " + parameter.text + " auf " + ((parameter.device === undefined) ? "Tablet":parameter.device));
              setState('sayit.1.tts.text','<speak><break time="2s"/>' + parameter.text + '</speak>');
              if (parameter.night  === undefined) parameter.night = false;
              if (parameter.device !== undefined) {
                  if ((parameter.device === "ALL") || (parameter.device === "Haus")){
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'WZ');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Bad');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Obergeschoss');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Küche');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Kinderzimmer');
                  } else
                  if (parameter.device === "HausohneKZ") {
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'WZ');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Bad');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Obergeschoss');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Küche');
                  } 
                  else
                  if (parameter.device === "HausohneWZ") {
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Bad');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Obergeschoss');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Küche');
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,'Kinderzimmer');
                  } else
                      text_to_wlan_speacher(parameter.text,parameter.vol,parameter.night,parameter.device);
              }
          });
          /* Soundausgabe
          Es gibt zwei Soundausgaben
          1. Alarmierung mit Hundegebell über die Playbar im Wohnzimmer
          2. Türklingel mit Sound "doorbell.mp3" im Wohnzimmer und einem freien Sound von
             der Amazon Musiklibrary namens: "spiele Turmuhr schlägt 12 - Geisterstunde".
          */
          
          //----------------- Hundebellen als zusätzliches Alarmsignal  ------------------
          createState("Hunde",false);
          on({id: "Hunde", change: "gt"}, function(obj) {
              node_sonos_http_api("Wohnzimmer","clip/"+ "hunde.mp3/" + alarmvol);
              });
          on({id: "Hunde", change: "lt"},function(obj) {
              node_sonos_http_api("Wohnzimmer","pause");
              setTimeout(function () {node_sonos_http_api("Wohnzimmer","clearqueue");},3000);
          });
          
          //-- Türklingeln über Lautsprecher "verstärken" -------------------------------
          var lock = false;
          on({id: getIdByName('Doorbell.PRESS_SHORT'), val: true}, function (obj) {
             if (lock === false) {
                  lock = true;
                  if(getState("Presence").val === true)
                      setStateDelayed(alexa.Obergeschoss + ".Music-Provider.Amazon-Music","spiele Turmuhr schlägt 12 - Geisterstunde",0);
                      setStateDelayed(alexa.Obergeschoss + ".Player.controlPause",true,10000);
                      node_sonos_http_api("Wohnzimmer","clip/"+ "doorbell.mp3/"+klingelvol);
                      setTimeout(function () {node_sonos_http_api("Wohnzimmer","clearqueue");},10000);
                  //setState('Botschaft', "Am " + formatDate(new Date(), "W") + ' um ' + formatDate(new Date(), "hh:mm") + " hat es geklingelt");
                  setTimeout(function () { lock = false},30000);
             } 
          });
          
          
          K Offline
          K Offline
          Karatekid
          wrote on last edited by
          #29

          @Marty56

          Nachdem ich die selben Probleme mit dem Adapter hatte, habe ich dein Script ausprobiert und mit ein wenig Anpassung funktioniert es echt super.

          Das einzige Problem was ich noch habe ist, dass es nicht mit Airplay funktioniert.
          Da hier die Gruppe aufgelöst wird und nicht wieder verbunden werden kann.
          Aber dies wird wohl ein Problem der Sonos API sein oder?

          M 1 Reply Last reply
          0
          • K Karatekid

            @Marty56

            Nachdem ich die selben Probleme mit dem Adapter hatte, habe ich dein Script ausprobiert und mit ein wenig Anpassung funktioniert es echt super.

            Das einzige Problem was ich noch habe ist, dass es nicht mit Airplay funktioniert.
            Da hier die Gruppe aufgelöst wird und nicht wieder verbunden werden kann.
            Aber dies wird wohl ein Problem der Sonos API sein oder?

            M Offline
            M Offline
            Marty56
            wrote on last edited by
            #30

            @Karatekid
            Keine Ahnung. Ich habe kein Airplay.

            HW:NUC (16 GB Ram)
            OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

            1 Reply Last reply
            0
            • Q Offline
              Q Offline
              Qlink
              wrote on last edited by
              #31

              @Marty56 said in [unGelöst] Sonos Mp3 Sound abspielen:

              node_sonos_http_api("Wohnzimmer","clearqueue");

              Hi Marty,
              ich hätte mich heute auch an deinem Vorschlag probiert.
              Leider läuft bei mir scheinbar der sonos server schon gar nicht weg.
              Hier ein Screenshot:
              sonos.PNG

              Oder ist das "listening an 0.0.0.0 .." normal ?

              Wird der api Server bei einem Restart des Hosts automatisch gestartet ?

              M 1 Reply Last reply
              0
              • Q Qlink

                @Marty56 said in [unGelöst] Sonos Mp3 Sound abspielen:

                node_sonos_http_api("Wohnzimmer","clearqueue");

                Hi Marty,
                ich hätte mich heute auch an deinem Vorschlag probiert.
                Leider läuft bei mir scheinbar der sonos server schon gar nicht weg.
                Hier ein Screenshot:
                sonos.PNG

                Oder ist das "listening an 0.0.0.0 .." normal ?

                Wird der api Server bei einem Restart des Hosts automatisch gestartet ?

                M Offline
                M Offline
                Marty56
                wrote on last edited by Marty56
                #32

                @Qlink Er scheint die settings.json nicht zu finden und listening on 0.0.0.0 ist nicht normal.
                Ich habe die settings.json nicht verändert. Die war in dem entpackten Verzeichnis vorhanden.
                Ich würde vermuten, dass Du einen Fehler beim Entpacken der Files gemacht hast.

                HW:NUC (16 GB Ram)
                OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                S 1 Reply Last reply
                0
                • B Offline
                  B Offline
                  Baerny
                  wrote on last edited by
                  #33

                  @Marty56 Da ich auch nur Probleme mit Sonos und Sayit hatte würde ich gerne mal den "node-sonos-http-api" Server probieren. Gibt es irgendwo eine Anleitung wie ich den in iobroker installieren kann.
                  Baerny

                  CCU 2 | Intel NUC mit Proxmox

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    Marty56
                    wrote on last edited by
                    #34

                    Der Server läuft unabhängig von iobroker.
                    Installation wird unter https://github.com/jishi/node-sonos-http-api beschrieben.

                    Ansonsten in dem Beispielscript reinschauen. Da steht alles drin.

                    HW:NUC (16 GB Ram)
                    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      skokarl
                      wrote on last edited by skokarl
                      #35

                      Moin,
                      bin jetzt mit im Boot, habe 4 Sonos One und kriege keinen Ton raus,
                      was ein Mist. 🙃

                      Und Marty, Du hast natürlich recht..... anstatt einem Ton kommt ein "mute".

                      Das ist zum ....

                      leider bin ich mir nicht sicher ob ich Deine Workaround - Lösung hinbekomme.

                      IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                      1 Reply Last reply
                      0
                      • smileS Offline
                        smileS Offline
                        smile
                        wrote on last edited by
                        #36

                        Hi zusammen,
                        ich schließe mich @skokarl an, würde auch sehr gerne sayit Ausgaben über Sonos zum Laufen bekommen. Hat es mit der Workaround Lösung nun nachhaltig geklappt? Gibt es ggf. eine genaue Beschreibung wie die Installation und Einrichtung gemacht werden kann?

                        Es wäre so klasse wenn das wieder läuft, ich denke das würde vielen entgegenkommen da Sonos ja recht verbreitet ist?


                        io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

                        Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

                        M 1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          skokarl
                          wrote on last edited by
                          #37

                          vielleicht nimmt sich eines Tages nochmal jemand den Adapter und
                          sieht sich die Fehler an

                          IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                          1 Reply Last reply
                          0
                          • smileS smile

                            Hi zusammen,
                            ich schließe mich @skokarl an, würde auch sehr gerne sayit Ausgaben über Sonos zum Laufen bekommen. Hat es mit der Workaround Lösung nun nachhaltig geklappt? Gibt es ggf. eine genaue Beschreibung wie die Installation und Einrichtung gemacht werden kann?

                            Es wäre so klasse wenn das wieder läuft, ich denke das würde vielen entgegenkommen da Sonos ja recht verbreitet ist?

                            M Offline
                            M Offline
                            Marty56
                            wrote on last edited by
                            #38

                            @smile Mein Workarround läuft seit Januar stabil und ohne Probleme. Ich habe eine Sonos Playbar, die am TV angeschlossen ist.
                            Auch das Umschalten zwischen Fernsehbetrieb und Durchsage funktioniert wie gewünscht. Die Mischung zwischen Soundausgabe und Text funktioniert auch fehlerfrei.

                            HW:NUC (16 GB Ram)
                            OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                            S 1 Reply Last reply
                            0
                            • M Marty56

                              @smile Mein Workarround läuft seit Januar stabil und ohne Probleme. Ich habe eine Sonos Playbar, die am TV angeschlossen ist.
                              Auch das Umschalten zwischen Fernsehbetrieb und Durchsage funktioniert wie gewünscht. Die Mischung zwischen Soundausgabe und Text funktioniert auch fehlerfrei.

                              S Offline
                              S Offline
                              skokarl
                              wrote on last edited by
                              #39

                              @Marty56
                              das freut uns ....

                              Kannst Du mal bei Gelegenheit ein Howto für Dummies machen ? Muss ja nicht gerade am Vatertag sein ☺

                              IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                              M 1 Reply Last reply
                              1
                              • S skokarl

                                @Marty56
                                das freut uns ....

                                Kannst Du mal bei Gelegenheit ein Howto für Dummies machen ? Muss ja nicht gerade am Vatertag sein ☺

                                M Offline
                                M Offline
                                Marty56
                                wrote on last edited by
                                #40

                                @skokarl Ich weiß wirklich nicht, was ich mehr machen kann, als oben im Beitrag schon beschrieben. Hast Du dieses Posting schon angeschaut.

                                HW:NUC (16 GB Ram)
                                OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                S 1 Reply Last reply
                                0
                                • M Marty56

                                  @skokarl Ich weiß wirklich nicht, was ich mehr machen kann, als oben im Beitrag schon beschrieben. Hast Du dieses Posting schon angeschaut.

                                  S Offline
                                  S Offline
                                  skokarl
                                  wrote on last edited by
                                  #41

                                  @Marty56 sagte in [unGelöst] Sonos Mp3 Sound abspielen:

                                  @skokarl Ich weiß wirklich nicht, was ich mehr machen kann, als oben im Beitrag schon beschrieben. Hast Du dieses Posting schon angeschaut.

                                  wenn ich es richtig verstanden habe startet der Server beim Neustart nicht automatisch, richtig ?
                                  Wie kriege ich das hin ?
                                  Und hättest Du ein ganz kleines Blockly für eine Beispiel Ausgabe ?
                                  mit Ausgabe auf unterschiedliche Sonos ?

                                  .... nur wenn es Dir nix ausmacht.

                                  IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                                  1 Reply Last reply
                                  1
                                  • M Offline
                                    M Offline
                                    Marty56
                                    wrote on last edited by
                                    #42

                                    Ich habe null Ahnung von Blocky. Habe ich noch nie benutzt.

                                    Zum automatischen Start habe ich ein Startscript, startsonosserver.sh, erstellt, das den Sonos Api Server automatisch beim booten startet.

                                    Das Script liegt unter /etc/init.d/.

                                    Es beinhaltet:

                                    #!/bin/bash
                                    cd /opt/iobroker/node-sonos-http-api-master
                                    nohup npm start &

                                    Danach executable Rechte setzen.

                                    chmod +x /etc/init.d/startsonosserver.sh

                                    Und beim Booten starten mit

                                    sudo update-rc.d /etc/init.d/startsonosserver.sh defaults

                                    HW:NUC (16 GB Ram)
                                    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                    1 Reply Last reply
                                    0
                                    • smileS Offline
                                      smileS Offline
                                      smile
                                      wrote on last edited by
                                      #43

                                      @skokarl geht mir ähnlich, das ist leider das Problem dass iobroker eine große Bandbreite von Menschen nutzen - angefangen von solchen, für die Script-Programmierung nichts neues ist, und die sich mit diversen IT-spezifischen Mechanismen und Kniffen auskennen bis hin zu solchen, die natürlich auch ein Interesse daran haben aber eben nicht denselben Weg gehen können wie andere ihn als selbstverständlich ansehen.

                                      @Marty56 Danke für deine Erläuterungen, ich bekomme es so jedoch leider auch nicht hin.

                                      Wenn iobroker noch mehr Erfolg in der breiteren Masse haben soll, dann ist es von entscheidender Bedeutung dass nicht nur Profis damit umgehen können.


                                      io.broker @ debian @ virtualbox @ Windows 10 Pro / Node 18.17.1, npm 9.6.7 / CCU3 / IR.Trans Server / Daslight 4 / Mobotix IP Cams / Qnap NAS / Sonos /

                                      Mein Rolladen - Blockly: https://forum.iobroker.net/topic/6442/das-ultimative-markisen-rolladen-blockly-script

                                      S 1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        Marty56
                                        wrote on last edited by
                                        #44

                                        Das kann ich verstehen. Das Beste wäre es natürlich den Sonsos Adapter zu reparieren, aber dazu reicht mein Know How leider auch nicht.

                                        HW:NUC (16 GB Ram)
                                        OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                        1 Reply Last reply
                                        1
                                        • smileS smile

                                          @skokarl geht mir ähnlich, das ist leider das Problem dass iobroker eine große Bandbreite von Menschen nutzen - angefangen von solchen, für die Script-Programmierung nichts neues ist, und die sich mit diversen IT-spezifischen Mechanismen und Kniffen auskennen bis hin zu solchen, die natürlich auch ein Interesse daran haben aber eben nicht denselben Weg gehen können wie andere ihn als selbstverständlich ansehen.

                                          @Marty56 Danke für deine Erläuterungen, ich bekomme es so jedoch leider auch nicht hin.

                                          Wenn iobroker noch mehr Erfolg in der breiteren Masse haben soll, dann ist es von entscheidender Bedeutung dass nicht nur Profis damit umgehen können.

                                          S Offline
                                          S Offline
                                          skokarl
                                          wrote on last edited by
                                          #45

                                          @smile

                                          Wir müssen tapfer bleiben.... 😀

                                          lesen

                                          IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                                          M 1 Reply Last reply
                                          1

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          422

                                          Online

                                          32.8k

                                          Users

                                          82.8k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe