Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Sonos-Datenpunkte Alexa & Sonos-App?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Sonos-Datenpunkte Alexa & Sonos-App?

Sonos-Datenpunkte Alexa & Sonos-App?

Scheduled Pinned Locked Moved ioBroker Allgemein
sonosalexa 2.0
3 Posts 3 Posters 692 Views 2 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.
  • C Offline
    C Offline
    chrbo80
    wrote on last edited by
    #1

    Hallo,

    ich verzweifele bei mir ein bisschen, wei wir unsere SONOS-Lautsprecher über verschiedene Wege ansteuern.

    • Teilweise über Sprachkommando über Echo-Dots, die die SONOS dann als bevorzugten Lautsprecher nutzen
    • Teilweise über die SONOS-App, die dann entsprechend direkt die SONOS ansteuert
    • Teilweise über Scripte, mit denen ich dann die Datenpunkte
      Coordinator (entweder der gleiche oder bei Gruppenschaltung der des Masters), favorite set (Radio-Sender), string state (mit text-Baustein auf "play"), binary string (auf "true"), stop und pause-button (auf falsch), player volume.

    Wenn ich dann die Eingabearten mixe (mit dem Script starten, dann bspw. "Alexa stopp", dann mal mit der Sonos-App starten etc.), läufts oft nicht.

    Gibts hier eine Übersicht, welche Eingabeart welche Datenpunkte setzt? Wo könnte der Fehler liegen?

    VG
    Christian

    1 Reply Last reply
    0
    • maeb3M Offline
      maeb3M Offline
      maeb3
      wrote on last edited by
      #2

      Hallo,
      ich hatte lange Zeit das gleiche Problem.
      Hatte mir dann zwischenzeitlich mit einem Script geholfen, welches alle Aktionen an Sonos, die nicht von ioBroker kommen (z.B. über Sonos-App, Spotify, TV eingeschaltet, oder direkt am Knopf der Speaker), erfasst und in ioBroker verarbeitet, so dass ioBroker + VIS stets den aktuellen Zustand kennt.

      Dazu reicht es meines Erachtens den DP "state_simple" abzufragen, denn selbst wenn man zum Beispiel nur den Radiosender wechselt, schaltet Sonos (leider) den state_simple einmal kurz auf false und gleich danach (mit dem neuen Sender) wieder auf true.

      ...
      // Bei Änderung eines relevanten Sonos-Parameters über die Sonos-App oder am Speaker wird das ExtChangeFlag gesetzt
      on({id:'sonos.0.root.10_251_10_120.state_simple',change:'ne'}, function (obj) {setState('javascript.0.Sonos.ExtChangeFlag',true);});
      
      // Wenn das ExtChangeFlag gesetzt wurde, dann werden die Parameter Audioquelle und ggf. Sender neu gesetzt
      on({id:'javascript.0.Sonos.ExtChangeFlag', change: 'gt'}, function (obj) {
          setTimeout(function(){                                  // kurze Verzögerung, um mehrfache Änderungen nur einmal zu verarbeiten
              if (getState('sonos.0.root.10_251_10_120.state_simple').val == false){ 
                  // bei STOP:
                  setState('javascript.0.Sonos.Audioquelle',0);            // Audioquelle auf 0 (off) setzen
                  setState('sonos.0.root.10_251_10_120.volume',8);         // Default Volume setzen
                  setState('sonos.0.root.10_251_10_120.group_muted',false);// Group Unmute
                  setState('javascript.0.Sonos.RadioSWR3',false);          // flag zurücksetzen
                  setState('javascript.0.Sonos.RadioHR3',false);           // flag zurücksetzen
                  setState('javascript.0.Sonos.RadioYouFM',false);         // flag zurücksetzen
                  setState('javascript.0.Sonos.Spotify',false);            // flag zurücksetzen
                  setState('javascript.0.Sonos.SurroundMode',false);       // SurroundMode zurücksetzen
                  newEvent('Sonos ausgeschaltet','Sonos wurde ausgeschaltet','MultimediaSonos');
                  log('Sonos ausgeschaltet (Audioquelle = off)');
              } else {
                  if (getState('sonos.0.root.10_251_10_120.current_type').val == 0){
                  // bei PLAY und TYPE = TRACK (Stream)
                      setState('javascript.0.Sonos.Audioquelle',3);       // Audioquelle auf 3 (Stream) setzen
                      newEvent('Sonos eingeschaltet','Sonos wurde eingeschaltet (Stream)','MultimediaSonos');
                      log('Sonos eingeschaltet (Audioquelle = Stream)');
                  } else if (getState('sonos.0.root.10_251_10_120.current_type').val == 1) {
                  // bei PLAY und TYPE = RADIO
                      setState('javascript.0.Sonos.Audioquelle',1);       // Audioquelle auf 1 (Radio) setzen
                      var sender = getState('sonos.0.root.10_251_10_120.current_station').val;// Radiosender ermitteln
                      if(sender == 'SWR3'){   // SWR3 flag setzen
                          setState('javascript.0.Sonos.RadioSWR3',true);
                          setState('javascript.0.Sonos.RadioHR3',false);
                          setState('javascript.0.Sonos.RadioYouFM',false);
                          }
                      if(sender == 'hr3'){    // HR3 flag setzen
                          setState('javascript.0.Sonos.RadioSWR3',false);
                          setState('javascript.0.Sonos.RadioHR3',true);
                          setState('javascript.0.Sonos.RadioYouFM',false);
                          }
                      if(sender == 'YOU FM'){  // YouFM flag setzen
                          setState('javascript.0.Sonos.RadioSWR3',false);
                          setState('javascript.0.Sonos.RadioHR3',false);
                          setState('javascript.0.Sonos.RadioYouFM',true);
                          }
                      newEvent('Sonos eingeschaltet','Sonos wurde eingeschaltet (Radio, ' + sender + ')','MultimediaSonos');
                      log('Sonos eingeschaltet (Audioquelle = Radio; Sender = ' + sender + ')');
                  } else {
                  // bei PLAY und TYPE = LINE_IN
                      setState('javascript.0.Sonos.Audioquelle',2);       // Audioquelle auf 2 (TV) setzen
                      log('Sonos eingeschaltet (Audioquelle = TV)');
                  }
              }
              setState('javascript.0.Sonos.ExtChangeFlag',false);         // ChangeFlag zurücksetzen
      //    },1000);
          },500);
      });
      
      // Radio über ioBroker.VIS einschalten
      on({id:'javascript.0.Sonos.RadioSWR3', change: 'gt'}, function (obj) {setState('sonos.0.root.10_251_10_120.favorites_set','SWR3');});    
      on({id:'javascript.0.Sonos.RadioHR3', change: 'gt'}, function (obj) {setState('sonos.0.root.10_251_10_120.favorites_set','HR3');});    
      on({id:'javascript.0.Sonos.RadioYouFM', change: 'gt'}, function (obj) {setState('sonos.0.root.10_251_10_120.favorites_set','YOU FM');});    
      
      // Spotify über ioBroker.VIS einschalten
      on({id:'javascript.0.Sonos.Spotify', change: 'gt'}, function (obj) {setState('sonos.0.root.10_251_10_120.favorites_set','Happy Hits!');});
      ...
      

      Das timeout habe ich deswegen eingebaut, weil state_simple bei einfachen Aktionen wie zum Beispiel beim Wechsel von Radio nach Spotify mehrmals innerhalb kurzer Zeit von true auf false und wieder zurück wechselt und damit die Status-Anzeige in meiner VIS immer so hässlich flackert.

      Grüße,
      maeb3

      1 Reply Last reply
      1
      • Karel PuhliK Offline
        Karel PuhliK Offline
        Karel Puhli
        wrote on last edited by Karel Puhli
        #3

        Tag zusammen!
        Ich habe eine grundsätzliche Frage zu meinem Bose Adapter. Das hier ist eigentlich die falsche Gruppe, aber in meiner Gruppe hat leider noch keiner geantwortet. Und zwar möchte ich meine Bose Soundtouch über Vis und Skripte steuern. Bis jetzt habe ich leider noch keine steuerbaren Datenpunkte außer "an", "aus" und Lautstärke gefunden.
        Auf der GitHub
        link text
        konnte ich nachlesen, dass ich ich einiges mehr steuern kann (Objekte können geschrieben werden). Allerdings als "Key". Ich stehe allerdings auf dem Schlauch, wie das funktioniert.
        Über Eure Hilfe wäre ich dankbar! 🙂
        Viele Grüße!
        PS: Hier ein Screenshot von den Objekten
        Unbenannt.png

        1 Reply Last reply
        0
        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

        348

        Online

        32.4k

        Users

        81.3k

        Topics

        1.3m

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

        • Don't have an account? Register

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