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. Praktische Anwendungen (Showcase)
  4. Mein ersters Projekt Sonos Wecker

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    9
    1
    87

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Mein ersters Projekt Sonos Wecker

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
18 Beiträge 5 Kommentatoren 3.9k 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.
  • smileS Offline
    smileS Offline
    smile
    schrieb am zuletzt editiert von
    #7

    Ich hab gerade einen Wecker mit Homematic und / oder iobroker umgesetzt.

    Also in dem Script kannst du sowohl das eine als auch das andere System nutzen, bzw. auch beide parallel:

    http://forum.iobroker.net/viewtopic.php?f=21&t=10013

    Mit dem Sonos Adapter kannst du immer exakt einen Sonos ansprechen, mit entsprechender Lautstärke.

    Jegliche Tracks und Playlisten geht meines Wissens nicht, nur die Tracks / Playlisten die du unter "Favoriten" gespeichert hast.


    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

    1 Antwort Letzte Antwort
    0
    • cashC Offline
      cashC Offline
      cash
      Most Active
      schrieb am zuletzt editiert von
      #8

      Deinen Thread hatte ich beim suchen schon gefunden ist mir aber zu komplex :geek:

      Ich kann zwar theoretisch die Weckzeit über die ccu Variable änderm aber praktisch kommt das nie vor. Das heisst der Wecker läuft jeden Tag ohne das ich was tun muss. Wenn ich Deine Lösung verstehe änderst Du abends den Wecker und dadurch werden dann z. B. Alarmanlage scharf und sowas gestellt…

      Ich werde es mir aber nochmal genauer angucken.

      Playlist ist kein Problem, die habe ich sowieso als Favorit. Beim aufwecken soll auch nur der im Schlafzimmer spielen. Die Gruppe aus allen brauche ich erst später wenn ich dann mit dem Hund raus war und anschließend frühstücke.

      Die beiden Sonos Ones sind heute dann auch gekommen. Schon echt geiler Schei...

      Und soviel schlechter wie der Play5 (2gen) im Wohnzimmer find ich die garnicht.

      1 Antwort Letzte Antwort
      0
      • smileS Offline
        smileS Offline
        smile
        schrieb am zuletzt editiert von
        #9

        Das mit der Alarmanlage ist nur ein Nebeneffekt den ich jetzt erst nach und nach einbaue.

        Die Komplexität kommt auch hauptsächlich dadurch dass ich 2 Wecker benutzen kann - den Homematic über die Variablen und den über die VIS.

        Und dass ich noch einen Schlummermodus eingebaut habe, und dass es gleich 2 Wecker sind (für 2 Personen), die sich gegenseitig auch nicht in die Quere kommen.

        Wenn du das alles weglässt halbiert sich das Script ;-)

        Kannst es ja einfach mal reinladen in Blockly und dir die Blocks in Ruhe anschauen.

        Ja Sonos ist Mega. Ich liebe es seit ich es habe. Steure bei mir aber nur externe Boxen mit Connect:Amp und Connect.

        Schön wäre es wenn man irgendwann nochmal die Möglichkeit hat, jedweden Titel aus der Musikbibliothek abzuspielen durch Pfadeingabe oder so… Oder auch Random Tracks aus bestimmten Ordnern.


        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

        1 Antwort Letzte Antwort
        0
        • Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #10

          Pfadangabe geht doch, upnp adapter.

          http://forum.iobroker.net/viewtopic.php … =20#p70730

          Gesendet von Unterwegs

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

          1 Antwort Letzte Antwort
          0
          • cashC Offline
            cashC Offline
            cash
            Most Active
            schrieb am zuletzt editiert von
            #11

            So das erste habe ich schon mal geschafft. Zu einer festen Uhrzeit spielen alle Boxen.

            Erst klappe es nicht aber wenn man das Bild sieht weiß man auch warum. Ich musste natürlich noch bei zwei Boxen das Objekt Volume auswählen….
            1407_sonos.jpg

            1 Antwort Letzte Antwort
            0
            • smileS Offline
              smileS Offline
              smile
              schrieb am zuletzt editiert von
              #12

              Cool, kannst du das Blockly exportieren oder den Code anzeigen?

              Würde mich interessieren.

              Lieben Dank :-)


              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

              1 Antwort Letzte Antwort
              0
              • cashC Offline
                cashC Offline
                cash
                Most Active
                schrieb am zuletzt editiert von
                #13

                kann ich machen.

                Wie kann ich dort denn so eine Abfrage realisieren?

                SV Arbeitstag heute = ja

                und SV Anwesenheit = anwesend

                und SV Krank zu Hause = nein

                und (SV Wecker = 1

                oder SV Wecker = 2)

                1 Antwort Letzte Antwort
                0
                • cashC Offline
                  cashC Offline
                  cash
                  Most Active
                  schrieb am zuletzt editiert von
                  #14

                  Hier den Blockyteil als export

                  ! ````
                  <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="%1qlxJ]O7l9?fEF{},~M" x="63" y="-137"><field name="COMMENT">Setzt alle Sonos in eine Gruppe und startet Sonos Wohnzimmer</field>
                  <next><block type="schedule" id="dn^qh||xyA?ajVCG3_-"><field name="SCHEDULE">00 07 * * 1-5</field>
                  <statement name="STATEMENT"><block type="comment" id="(c|YY4s3=TM;i{m[]Ta."><field name="COMMENT">Master (Sonos Wohnzimmer</field>
                  <next><block type="control" id="Zs%m[UrUt,K#o2g/d}w9"><mutation delay_input="false"></mutation>
                  <field name="OID">sonos.0.root.192_168_178_35.coordinator</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="text" id=",O==H0AZX;;1ks1-9yjQ"><field name="TEXT">192_168_178_35</field></block></value>
                  <next><block type="control" id="Wi0PK}38PtaeC~9MPz{d"><mutation delay_input="false"></mutation>
                  <field name="OID">sonos.0.root.192_168_178_35.volume</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="math_number" id="KScb?k(kd=c#exr.WFZq"><field name="NUM">12</field></block></value>
                  <next><block type="comment" id="-Kyi
                  b;?-E{T:c^%8q4u"><field name="COMMENT">Sonos Schlafzimmer</field>
                  <next><block type="control" id="@%l{2VR;ofkDko)#oDM9"><mutation delay_input="false"></mutation>
                  <field name="OID">sonos.0.root.192_168_178_47.coordinator</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="text" id="{5!OeKd)b@gIS^AOrCv~"><field name="TEXT">192_168_178_35</field></block></value>
                  <next><block type="control" id="^-5s(+!b9c4e?j!r;,X"><mutation delay_input="false"></mutation>
                  <field name="OID">sonos.0.root.192_168_178_47.volume</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="math_number" id="pR.(-fXgx9tGmr/t1Av"><field name="NUM">20</field></block></value> <next><block type="comment" id=";G/W[=PQ?Cms]l2IFWVV"><field name="COMMENT">Sonos Küche</field> <next><block type="control" id="Z)t^vO.ziw1sZbC[S)E@"><mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_48.coordinator</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="G975i_T!Qnf}O3UT]wL"><field name="TEXT">192_168_178_35</field></block></value>
                  <next><block type="control" id="S:;=aL[;(##Bp3Balbsa"><mutation delay_input="false"></mutation>
                  <field name="OID">sonos.0.root.192_168_178_48.volume</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="math_number" id="~ky%3o)eJ5U/,zr;)BW1"><field name="NUM">6</field></block></value>
                  <next><block type="comment" id="(eE4V=QNx]mhhW|F52Y"><field name="COMMENT">Playlist auswählen und play</field>
                  <next><block type="control" id="xKZrn^%P%^v%ZW{c}v}O"><mutation delay_input="false"></mutation>
                  <field name="OID">sonos.0.root.192_168_178_35.favorites_set</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="text" id="5qV6F53^Xq0C)=.%ltiM"><field name="TEXT">HIT RADIO FFH</field></block></value>
                  <next><block type="control" id="`P
                  NL_mwOC#G:
                  !fPTYQ"><mutation delay_input="true"></mutation>
                  <field name="OID">sonos.0.root.192_168_178_35.state</field>
                  <field name="WITH_DELAY">TRUE</field>
                  <field name="DELAY_MS">1000</field>
                  <field name="UNIT">ms</field>
                  <field name="CLEAR_RUNNING">FALSE</field>
                  <value name="VALUE"><block type="text" id="F.2d./evwHGM?~;cuoi@"><field name="TEXT">play</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></xml>

                  
                  Weiter komme ich derzeit einfach nicht weil ich an den Prüfungen der Systemvariablen scheitere. Blockly ist da dann doch etwas zickig…
                  
                  Ansonsten macht der Sonos Adapter das schon für mich völlig ausreichend. Er gruppiert die drei Geräte die am Abend vorher noch getrennt waren und regelt die Lautstärke.
                  
                  Da muss man übrigens wirklich aufpassen :mrgreen: Hatte Küche und Schlafzimmer vertauscht. Im Schlafzimmer hatte ich bewusst etwas lauter gestellt damit man im Flur auch noch was davon hat. Jedenfalls war es leider die Küche. Meine Frau hatte fast einen Herzinfakt bekommen :mrgreen: :mrgreen:
                  1 Antwort Letzte Antwort
                  0
                  • cashC Offline
                    cashC Offline
                    cash
                    Most Active
                    schrieb am zuletzt editiert von
                    #15

                    Tja was soll ich sagen? Heute Morgen pünktlich um 7:00 Uhr spiele die Musik aber leider nicht aus allen Boxen sondern nur vom Wohnzimmer.

                    Nach etwas testen weiß ich jetzt auch warum. Jede zweite Ausführung funktionierte so. Das heißt wenn bei einem Gerät der Coordinator schon der Chef ist dann klappt es nicht.

                    Ich habe also jeztt umgestellt auf Javascript. Nach Durchsicht der guten Hilfe ist JavaScript nicht so viel anders wie HomematicScript :mrgreen:

                    Das kann ich zwar nicht perfekt aber es reicht um so leichte sachen umzustellen:

                    // Sonos-Geräte abfragen wer derzeit der Coordinator ist
                      var _Sonos_Wohnzimmer = getState("sonos.0.root.192_168_178_35.coordinator").val;
                      var _Sonos_Schlafzimmer = getState("sonos.0.root.192_168_178_47.coordinator").val;
                      var _Sonos_Kueche = getState("sonos.0.root.192_168_178_48.coordinator").val; 
                    
                    if(_Sonos_Wohnzimmer != "192_168_178_35"){setState("sonos.0.root.192_168_178_35.coordinator", '192_168_178_35');}
                    if(_Sonos_Schlafzimmer != "192_168_178_35"){setState("sonos.0.root.192_168_178_47.coordinator", '192_168_178_35');}
                    if(_Sonos_Kueche != "192_168_178_35"){setState("sonos.0.root.192_168_178_48.coordinator", '192_168_178_35');}
                    
                      setState("sonos.0.root.192_168_178_35.volume", 16);
                      setState("sonos.0.root.192_168_178_47.volume", 14); 
                      setState("sonos.0.root.192_168_178_48.volume", 8);
                      setState("sonos.0.root.192_168_178_35.favorites_set", 'HIT RADIO FFH'); 
                      setState("sonos.0.root.192_168_178_35.state", 'play');
                    
                    console.log(_Sonos_Wohnzimmer);
                    console.log(_Sonos_Schlafzimmer);
                    console.log(_Sonos_Kueche); 
                    

                    Mit diesem Code hat das ganze nun zuverlässig funktioniert. Das ganze muss ich halt jetzt noch erweitern das er dann Morgens startet.

                    Der Vorteil vom Javascript für mich ist natürlich das es so etwas schneller geht als per Blockly und ich so auch leicht auf divere Systemvariablen der ccu abfragen kann wie (Urlaubstag, Feiertag, Wecker usw)

                    Ich werde wieder berichten.

                    So langsam kriege ich etwas Spaß an iobroker :mrgreen:

                    1 Antwort Letzte Antwort
                    0
                    • smileS Offline
                      smileS Offline
                      smile
                      schrieb am zuletzt editiert von
                      #16

                      @cash:

                      So langsam kriege ich etwas Spaß an iobroker :mrgreen: `
                      Ohja den Moment hab ich schon hinter mir und es ist suuuper cool :-)


                      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

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        Don_Hasso
                        schrieb am zuletzt editiert von
                        #17

                        EDIT: Habe meinen Beitrag gelöscht, mein Fehler war die zu gering eingestellte Lautstärke… :roll:
                        4223_fehler.png

                        1 Antwort Letzte Antwort
                        0
                        • cashC Offline
                          cashC Offline
                          cash
                          Most Active
                          schrieb am zuletzt editiert von
                          #18

                          Habe meinen Wecker nun auch komplett fertig. Paul53 hat mir freundlicherweise etwas unter die Arme gegriffen :mrgreen:

                          /**************************
                          * Wecker
                          * Wecker stellen über ccu
                          * _Wecker = 0 (Wecker aus)
                          * _Wecker = 1 (Wecker Mo-Fr)
                          * _Wecker = 2 (Wecker Mo-So)
                          * Weckzeit auch über ccu
                          * steht der Musikwecker im auf ja wird die Sonos Gruppe aufgelöst und er spielt meine Playlist
                          * Version 1.00 vom 20.01.18 
                          * 
                          **************************/
                          
                          var _Wecker =  getState("hm-rega.0.21759").val;
                          // _Wecker = 0 (Wecker aus)
                          // _Wecker = 1 (Wecker Mo-Fr)
                          // _Wecker = 2 (Wecker Mo-So)
                          var _Weckzeit = getState("hm-rega.0.21758").val;
                          var _Arbeitstag = getState("Systemvariable.0.Arbeitstag").val;
                          var _Schranklicht = getState("hm-rpc.0.LEQ0928629.1.STATE"/*Schlafzimmer Schranklicht:1.STATE*/).val;
                          var _Sonos_Schlafzimmer = getState("sonos.0.root.192_168_178_47.coordinator").val;
                          var _Musikwecker = getState("Systemvariable.0.Musikwecker").val;
                          var _Sonos_Play = getState("sonos.0.root.192_168_178_47.state").val;
                          
                          function _Wecken() {
                              if(_Arbeitstag && _Wecker == 1){
                                 if(!_Schranklicht){setState("hm-rpc.0.LEQ0928629.1.STATE"/*Schlafzimmer Schranklicht:1.STATE*/, true);}
                                 if(_Musikwecker){
                                 // Falls bei einem Gerät nicht der Wonhzimmer Sonos der Coordinator ist setze Wohnzimmer Sonos
                                 if(_Sonos_Schlafzimmer != "192_168_178_47"){setState("sonos.0.root.192_168_178_47.coordinator", '192_168_178_47');}
                                  setState("sonos.0.root.192_168_178_47.volume", 6); // Lautstärke Schlafzimmer
                                  setState("sonos.0.root.192_168_178_47.favorites_set", 'Meine Lieder'); 
                                  setState("sonos.0.root.192_168_178_47.state", 'play');
                                  }
                                  setTimeout(function() {
                                  if(_Schranklicht){setState("hm-rpc.0.LEQ0928629.1.STATE"/*Schlafzimmer Schranklicht:1.STATE*/, false);}
                                  if((_Sonos_Play == 'play') && (_Sonos_Schlafzimmer = "192_168_178_47")){setState("sonos.0.root.192_168_178_47.state", 'stop');}
                                  }, 25 * 60000);  // 25 Minuten Verzögerung 
                              }
                              if(_Wecker == 2){
                                 if(!_Schranklicht){setState("hm-rpc.0.LEQ0928629.1.STATE"/*Schlafzimmer Schranklicht:1.STATE*/, true);}
                                 if(_Musikwecker){
                                 // Falls bei einem Gerät nicht der Wonhzimmer Sonos der Coordinator ist setze Wohnzimmer Sonos
                                 if(_Sonos_Schlafzimmer != "192_168_178_47"){setState("sonos.0.root.192_168_178_47.coordinator", '192_168_178_47');}
                                  setState("sonos.0.root.192_168_178_47.volume", 6); // Lautstärke Schlafzimmer
                                  setState("sonos.0.root.192_168_178_47.favorites_set", 'Meine Lieder'); 
                                  setState("sonos.0.root.192_168_178_47.state", 'play');
                                  }
                                  setTimeout(function() {
                                  if(_Schranklicht){setState("hm-rpc.0.LEQ0928629.1.STATE"/*Schlafzimmer Schranklicht:1.STATE*/, false);}
                                  if((_Sonos_Play == 'play') && (_Sonos_Schlafzimmer = "192_168_178_47")){setState("sonos.0.root.192_168_178_47.state", 'stop');}
                                  }, 25 * 60000);  // 25 Minuten Verzögerung 
                              }
                          }
                          
                          // Skriptstart
                          
                          var t = getState("hm-rega.0.21758").val.split(':');
                          var sched = schedule(t[1] + ' ' + t[0] + ' * * *', _Wecken);
                          
                          on("hm-rega.0.21758", function(dp) {  // Vorgabezeit ändert sich
                            clearSchedule(sched);  // bestehendes Schedule löschen
                            t = dp.state.val.split(':');
                            sched = schedule(t[1] + ' ' + t[0] + ' * * *', _Wecken);      
                          });
                          
                          //console.log(_Wecker);
                          

                          Der einzige Harken ist jetzt eigentlich nur noch der Sonos Adapter. Dieser kann leider keine Shuffle Funktion. Das heißt wenn man von seiner Playlist geweckt werden will und nicht per Radio hört man jeden Morgen die gleiche Musik…

                          Mit dieser Lösung fallen bei mir 3 ccu Programme weck.

                          • jede Nacht den Wecker stellen

                          • Wecker start

                          • Wecker Ende

                          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

                          795

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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