Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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
    16
    1
    1.9k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Sonos für Anfänger

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 3 Kommentatoren 4.8k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Offline
    P Offline
    pix
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      RobS
      schrieb am zuletzt editiert von
      #3

      1.000 Dank pix!!!!

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

      1 Antwort Letzte Antwort
      0
      • R Offline
        R Offline
        RobS
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • Jey CeeJ Online
            Jey CeeJ Online
            Jey Cee
            Developer
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • P Offline
              P Offline
              pix
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                pix
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • Jey CeeJ Online
                  Jey CeeJ Online
                  Jey Cee
                  Developer
                  schrieb am zuletzt editiert von
                  #9

                  Danke für den Hinweis pix.

                  Gesendet von meinem Jolla mit Tapatalk

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

                  1 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    RobS
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • Jey CeeJ Online
                      Jey CeeJ Online
                      Jey Cee
                      Developer
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      715

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe