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. Skripten / Logik
  4. Sonos für Anfänger

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Sonos für Anfänger

Scheduled Pinned Locked Moved Skripten / Logik
11 Posts 3 Posters 4.8k Views
  • 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.
  • R Offline
    R Offline
    RobS
    wrote on last edited by
    #1

    Hallo liebes Forum,

    mein Wunsch ist es meine Sonos-Player mit 6-fach Wandtastern zu steuern, d.h. "an", "aus", Lautstärke ändern und Radiosender wechseln.

    Meine Vorraussetzungen sind: eine CCU 2 mit CUxD, raspberry pi 2 mit iobroker, vier verschieden Sonosgeräte. Die besagten 6-fach Taster sind über 12/7-wired-Aktor von Homematic integriert.

    Dazu muss ich sagen, dass meine bisherigen Kenntnisse und Erfahrungen in der Homematic-Welt sehr rudimentär sind.

    Ich habe auf iobroker die Adapter hm-rega, hm-rpc mit drei Instanzen (jeweils wired, funk und cuxd) und den Sonos-Adpater mit vier Instanzen installiert.

    Mein großes Problem ist nun, dass ich absolut keinen Plan habe, wie es weiter geht….

    Wo (in der CCU?) genau muss ich was (für ein Script) eingeben? Tut mir Leid Leute, aber irgendwie wird in allen Foren der Schritt, den ich nicht schnalle übersprungen...

    Hoffe jemand hat Erbarmen und hilft mir aus der Patsche :?

    Vielen Dank im Voraus!

    Rob
    2093_2018-08-13-tablet_1280x800.txt

    1 Reply Last reply
    0
    • P Offline
      P Offline
      pix
      wrote on last edited by
      #2

      Hallo RobS, herzlich Willkommen!

      Für die Sonos Steuerung mit ioBroker brauchst du

      CCU (für Interaktion mit dem HM-Wandtaster)

      Sonos Adapter auf ioBroker

      Javascript-Adapter mit diesem Skript (hier ein Beispiel, das ich neulich schon mal gepostet habe: http://forum.iobroker.net/viewtopic.php … ter#p12313)

      CUxD ist nicht nötig.

      Ich habe nur eine Instanz vom Sonos-Adapter. Kann daran liegen, dass ich nur ein Play1 habe. Die Konfiguration mit mehreren Instanzen kenne ich daher nicht.

      Frag ruhig, wenn du nicht weiter kommst.

      Gruß,

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Reply Last reply
      0
      • R Offline
        R Offline
        RobS
        wrote on last edited by
        #3

        1.000 Dank pix!!!!

        Hab nicht mehr dran geglaubt, aber hab's Dank dir tatsächlich hinbekommen

        1 Reply Last reply
        0
        • R Offline
          R Offline
          RobS
          wrote on last edited by
          #4

          Hallo nochmal,

          das Belegen der Taster hat nach deiner Anleitung wunderbar funktioniert.

          Im Badezimmer und auch in einigen anderen Zimmern habe ich nur leider keinen 6-fach-Taster, sondern nur einen einfachen Taster an einem Dimmer (bzw. wired-Dimmaktor). Hab ihn frei nach der Anleitung mit dem Sonos im Badezimmer belegt, d.h. Taster betätigen = Sonos an. Leider ist es mir auch nach viel Probieren bisher nicht gelungen, das Sonos mit einem weiteren Tastendruck wieder auszustellen.

          Wie müsste das Script lauten "Wenn Taste gedrückt und Sonos läuft -> Sonos aus"?

          Kann man eventuell eine Dauer eingeben, wie lange das Sonos nach Drücken Tasters läuft?

          Vielen Dank,

          Rob

          1 Reply Last reply
          0
          • Jey CeeJ Online
            Jey CeeJ Online
            Jey Cee
            Developer
            wrote on last edited by
            #5

            Versuchs mal nach folgendem schema:

            If variable = true dann stop wiedergabe und setze variable false

            else

            start wiedergabe und setze variable true

            Gesendet von meinem Jolla mit Tapatalk

            Persönlicher Support
            Spenden -> paypal.me/J3YC33

            1 Reply Last reply
            0
            • Jey CeeJ Online
              Jey CeeJ Online
              Jey Cee
              Developer
              wrote on last edited by
              #6
              on({
                  id: Ausloeser,
                  val: true
              }, function(obj) {
              if (getState(Sonos_Box + ".state"/*state*/).val == "stop" || getState(Sonos_Box + ".state"/*state*/).val == "pause") {
              	setState(Sonos_Box + ".state"/*state*/,"play");
              	else 
              	setState(Sonos_Box + ".state"/*state*/,"stop");}}
              

              Ausloeser: Ist der Datenpunkt(Objekt) auf den das Script reagiert, z.B. hm-rpc.0.LEQ0123456.1.MOTION. In meinem Script ist das einfach eine Variable.

              Sonos_Box: Ist der Datenpunkt(Objekt) der Sonos Box, z. B. sonos.0.root.192_168_3_30. Ebenfalls eine Variable

              Persönlicher Support
              Spenden -> paypal.me/J3YC33

              1 Reply Last reply
              0
              • P Offline
                P Offline
                pix
                wrote on last edited by
                #7

                Hallo,

                @Jey Cee:

                on({
                    id: Ausloeser,
                    val: true
                }, function(obj) {
                if (getState(Sonos_Box + ".state"/*state*/).val == "stop" || getState(Sonos_Box + ".state"/*state*/).val == "pause") {
                	setState(Sonos_Box + ".state"/*state*/,"play");
                	else 
                	setState(Sonos_Box + ".state"/*state*/,"stop");}}
                

                Ausloeser: Ist der Datenpunkt(Objekt) auf den das Script reagiert, z.B. hm-rpc.0.LEQ0123456.1.MOTION. In meinem Script ist das einfach eine Variable.

                Sonos_Box: Ist der Datenpunkt(Objekt) der Sonos Box, z. B. sonos.0.root.192_168_3_30. Ebenfalls eine Variable `

                Da ist die Syntax falsch (ein paar Klammern fehlen):

                on({
                    id: Ausloeser,
                    val: true
                }, function(obj) {
                    if (getState(Sonos_Box + ".state"/*state*/).val == "stop" || getState(Sonos_Box + ".state"/*state*/).val == "pause") {
                	setState(Sonos_Box + ".state"/*state*/,"play");
                    } else {
                	setState(Sonos_Box + ".state"/*state*/,"stop");
                    }
                });
                
                

                Gruß,

                Pix

                ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                1 Reply Last reply
                0
                • P Offline
                  P Offline
                  pix
                  wrote on last edited by
                  #8

                  @RobS:

                  1.000 Dank pix!!!!

                  Hab nicht mehr dran geglaubt, aber hab's Dank dir tatsächlich hinbekommen `

                  Danke für das Feedback, freut mich!

                  Gruß,

                  Pix

                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                  1 Reply Last reply
                  0
                  • Jey CeeJ Online
                    Jey CeeJ Online
                    Jey Cee
                    Developer
                    wrote on last edited by
                    #9

                    Danke für den Hinweis pix.

                    Gesendet von meinem Jolla mit Tapatalk

                    Persönlicher Support
                    Spenden -> paypal.me/J3YC33

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      RobS
                      wrote on last edited by
                      #10

                      Super Leute, auch das klappt. Nochmal vielen Dank!

                      Sollte ich anfangen zu nerven, bitte Bescheid sagen: meine Anliegen werden komplizierter.

                      Im Wohnzimmer habe ich ein Sonos-Connect, welches an einem Denon AVR hängt. Dieser wiederum wird über eine Logitech harmony gesteuert.

                      Nun möchte ich natürlich beides über einen 6-fach Taster steuern. Den Harmony-Adapter habe ich installiert und eingerichtet, alle Datenpunkte sind übernommen. Wie muss nun das Script aussehen, um beide mittels Tastendruck Sonos einzuschalten und Denon auf die entsprechende Quelle (in meinem Fall CD) ein bzw. auch umzuschalten und mit einem Druck einer anderen Taste beide auszuschalten?

                      on({
                          id: "XXX.PRESS_SHORT"/*HMW-IO-12-Sw7-DR XXX.PRESS_SHORT*/,
                          val: true
                      }, function(obj) {
                          if (getState("sonos.3.root.192_168_178_60.muted"/*muted*/).val === true) {
                              setState("sonos.3.root.192_168_178_60.muted"/*muted*/,false); // falls MUTE eingeschaltet war, MUTE ausschalten
                          }
                          setState("sonos.3.root.192_168_178_60.state"/*state*/,"play");
                          setState("harmony.0.Wohnzimmer.Denon-AV-Receiver.InputCd"/*Denon-AV-Receiver:InputCd*/);
                      
                      

                      soweit bin ich bisher gekommen, der Denon bleibt jedoch stumm

                      als ich zwei parallele Scripte laufen hatte, funktionierte es komischerweise nur ein einziges mal:

                      on({
                          id: "XXX.PRESS_SHORT"/*HMW-IO-12-Sw7-DR XXX.PRESS_SHORT*/,
                          val: true
                      }, function(obj) {
                          if (getState("sonos.3.root.192_168_178_60.muted"/*muted*/).val === true) {
                              setState("sonos.3.root.192_168_178_60.muted"/*muted*/,false); // falls MUTE eingeschaltet war, MUTE ausschalten
                          }
                          setState("sonos.3.root.192_168_178_60.state"/*state*/,"play");
                      

                      und zusätzlich:

                      on({
                          id: "XXX.PRESS_SHORT"/*HMW-IO-12-Sw7-DR XXX.PRESS_SHORT*/,
                          val: true
                      }, function(obj) {
                          if (getState("harmony.0.Wohnzimmer.Denon-AV-Receiver.PowerOff"/*Denon-AV-Receiver:PowerOff*/).val === true) {
                              setState("harmony.0.Wohnzimmer.Denon-AV-Receiver.PowerOff"/*Denon-AV-Receiver:PowerOff*/,false); // falls MUTE eingeschaltet war, MUTE ausschalten
                          }
                          setState("harmony.0.Wohnzimmer.Denon-AV-Receiver.InputCd"/*Denon-AV-Receiver:InputCd*/);
                          log('6fach Wandtaster Wohnzimmer Mitte links kurz gedrückt - play Sonos');
                      });
                      

                      toll wäre, wenn während des Betriebes noch eine LED ("XXX.STATE"/HMW-IO-12-Sw7-DR XXX.STATE/) am 6-fach Taster leuchten würde :D

                      … wie gesagt: Es wird komplizierter!

                      Vielleicht hat jemand von Euch Erfahrung mit einer ähnlichen Konstellation, bisher habt ihr mir jedenfalls schon sehr geholfen!!

                      1 Reply Last reply
                      0
                      • Jey CeeJ Online
                        Jey CeeJ Online
                        Jey Cee
                        Developer
                        wrote on last edited by
                        #11

                        Wenn du es schwer magst 

                        Ich seh keinen Fehler in deinen Scripten, bin aber auch nur laie in java script.

                        Einfacher könnte es mit dem Scenes Adpater sein. Der ist sicher einen Blick wert.

                        Gesendet von meinem Jolla mit Tapatalk

                        Persönlicher Support
                        Spenden -> paypal.me/J3YC33

                        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

                        625

                        Online

                        32.6k

                        Users

                        82.3k

                        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