Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. Fortführende Alexa Fragen zu Gruppierungen und Lautstärkenregelung mit Sonos/Harmony Adapter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Fortführende Alexa Fragen zu Gruppierungen und Lautstärkenregelung mit Sonos/Harmony Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      lubeda last edited by

      Das interessiert mich auch.

      Momentan nutze ich weder iobroker.Cloud noch den iobroker skill.

      Ich habe erste Tests mit habridge (https://github.com/bwssytems/ha-bridge/releases/) gemacht.

      Diese Bridge stellt in Richtung Alexa alles als Phillips Hue Lampen dar und kann daher auch ohne Skill "An"/"Aus"/"Dimmen".

      Also könnte man mit "Alexa dimme Fernseher auf 1%" den Fernseher über die Harmony auf ARD stellen. 🙂

      Auf der Seite der Steuerung kann man viel mit Harmony oder MQTT oder Sonstigem arbeiten. Eigentlich cool, aber eine integrierte Lösung in ioBroker wäre schöner.

      Ludger

      1 Reply Last reply Reply Quote 0
      • S
        Stormbringer last edited by

        Naja geht ja bei den meisten, denke wir machen nur was falsch. Nur was :oops:

        1 Reply Last reply Reply Quote 0
        • S
          Seehofweg last edited by

          Servus!

          Ich hänge gerade bei einem Teilproblem von dir. Sonos Grundbefehle, Radio etc. funktioniert. Nur die Erhöhung bzw. Verringerung der Lautstärke will nicht. 😕

          Das ist mein aktueller Stand:

          on({id: 'hm-rpc.1.000B5569A27DB7.3.PRESS_SHORT', val: true}, function () {
             log('Lautstärke erhöhen');
          
             	var volume_kueche = getState('sonos.0.root.192_168_178_70.volume');
          
          	// Lautstärke setzen
          	setState("sonos.0.root.192_168_178_70.volume", 'volume_kueche += 5');
          
          	return volume_kueche;
          });
          

          Was mache ich falsch?

          1 Reply Last reply Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            ich glaube deine logik stimm nicht ganz ?

            Due willst:

            • jetzige lautstarte in eine variabele schreiben

            • die variable um 5 erhoehen

            • die variable benutzen un de sonos state zu setzen

            das saehe dan eher so aus (aus dem kopf geschrieben:

            on({id: 'hm-rpc.1.000B5569A27DB7.3.PRESS_SHORT', val: true}, function () {
               log('Lautstärke erhöhen');
            
                  var volume_kueche = getState('sonos.0.root.192_168_178_70.volume');
               // Variable erhoehen
                  volume_kueche = volume_kueche + 5
               // Lautstärke setzen
            
            setState("sonos.0.root.192_168_178_70.volume", 'volume_kueche');
            
               return volume_kueche;
            });
            

            ergo, du setzt erst den richtigen wert der variable und dan den set anstatt set + variable erhoehen in einem mal

            btw: wofuer der return ?

            1 Reply Last reply Reply Quote 0
            • S
              Seehofweg last edited by

              Servus! 😄 Das Script wurde von einem Programmierer auf Anweisung geschrieben. Ich bin bei diesem Thema (JavaScript) gerade noch in Einarbeitung…

              Allerdings entsteht der gleiche Effekt, wie bei dem Ursprungsskript. Die Lautstärke wird auf 0 gesetzt (sehe es ja in der Sonos-App).

              Wir sind bei der Erstellung des Script davon ausgegangen, dass das Programm erst den Wert abrufen und in eine Variable schreiben muss. Ist das korrekt, oder könnte die Lautstärke auch direkt erhöht werden?

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                @Seehofweg:

                Wir sind bei der Erstellung des Script davon ausgegangen, dass das Programm erst den Wert abrufen und in eine Variable schreiben muss. Ist das korrekt, oder könnte die Lautstärke auch direkt erhöht werden? `

                habe selber kein SONOS, aber die lautstaerke wird da doch als wert eingefuegt ? Dan musst due halt erst den wert ermitteln und erhoehen ich sehe keine andere weg als per variable.

                Die frage ist warum der set nicht funtioniert, irgendwas im log ?

                was kommt im log wen du:

                log(volume_kueche);
                volume_kueche = volume_kueche + 5;
                log(volume_kueche);
                
                

                ich moechte wissen op die werte richting ermittelt werden eventueel sitzt da der fehler

                ~Dutch

                1 Reply Last reply Reply Quote 0
                • S
                  Seehofweg last edited by

                  Ich bekomme diesen Output:

                  > javascript.0 script.js.common.HTTP: ReferenceError: volume_kueche is not defined at script.js.common.HTTP:15:5 at ContextifyScript.Script.runInContext (vm.js:35:29)

                  Wie es mir erklärt wurde, definiere ich mit diesem Befehl aber doch die Variable?

                  var volume_kueche = getState('sonos.0.root.192_168_178_70.volume');
                  
                  1 Reply Last reply Reply Quote 0
                  • Dutchman
                    Dutchman Developer Most Active Administrators last edited by

                    Stimmt eigentlich dein Code aber Fehlermeldung ist deutlich und darum wird der Wert auch 0 ( Variable ist Lehr)

                    Setze Mal

                    var = volume_kueche über dein Script

                    Und dann nur den Wert in die Variable füllen mit

                    volume_kueche = get state…. {Hier was du bereits hattest}


                    Send from mobile device

                    1 Reply Last reply Reply Quote 0
                    • Dutchman
                      Dutchman Developer Most Active Administrators last edited by

                      nur zur verstaendlichkeit mal den kompletten code wie ich meinte:

                      // Variable declarieren
                      var volume_kueche
                      
                      //Trigger fuer volume up
                      on({id: 'hm-rpc.1.000B5569A27DB7.3.PRESS_SHORT', val: true}, function () {
                         //Log ausgabe 1
                         log('Lautstärke erhöhen');
                      
                          // Variable fuellen
                            volume_kueche = getState('sonos.0.root.192_168_178_70.volume');
                      
                          //wert der variable in log schreiben
                          log(volume_kueche);
                      
                         // Variable erhoehen
                            volume_kueche = volume_kueche + 5
                      
                         // Ueberpruefen das die variable richtig erhoet wurde
                         log(volume_kueche);
                      
                         // Lautstärke setzen
                         setState("sonos.0.root.192_168_178_70.volume", 'volume_kueche');
                      
                         return volume_kueche;
                      
                      });
                      
                      1 Reply Last reply Reply Quote 0
                      • S
                        Seehofweg last edited by

                        Danke dir. Habe das Script probiert, aber leider noch immer das gleiche Bild. Radio läuft, Lautstärke wird auf 0 gesetzt.

                        Log:
                        ` > javascript.0 2017-06-30 13:58:12.232 warn Wrong type of sonos.0.root.192_168_178_70.volume: "string". Please fix, while deprecated and will not work in next versions.

                        javascript.0 2017-06-30 13:58:12.232 info script.js.Schalter.EG_-Küche-6-fach(Mitte): [object Object]5

                        javascript.0 2017-06-30 13:58:12.231 info script.js.Schalter.EG_-Küche-6-fach(Mitte): [object Object]

                        sonos.0 2017-06-30 13:58:12.241 info try to control id sonos.0.root.192_168_178_70.volume with {"val":"volume_kueche","ack":false,"ts":1498831092235,"q":0,"from":"system.adapter.javascript.0","lc":1498831092235}

                        javascript.0 2017-06-30 13:58:12.229 info script.js.Schalter.EG_-Küche-6-fach(Mitte): Lautstärke erhöhen `

                        Ich habe aber keine andere Variable für "Volume".

                        1 Reply Last reply Reply Quote 0
                        • Dutchman
                          Dutchman Developer Most Active Administrators last edited by

                          Ah object object jetzt leuchtet es Mir!

                          Bitte

                          getState('sonos.0.root.192_168_178_70.volume');
                          

                          Ändern nach

                          getState('sonos.0.root.192_168_178_70.volume').val
                          

                          Wir vergessen den wert auszulesen zu dum das ich das nicht vorher gesehen habe logs helfen….

                          ~Dutch


                          Send from mobile device

                          1 Reply Last reply Reply Quote 0
                          • S
                            Seehofweg last edited by

                            Geht leider noch immer nicht… :shock:

                            Aber das Log gibt neue Infos.

                            ` > sonos.0 2017-06-30 17:55:35.687 info try to control id sonos.0.root.192_168_178_70.volume with {"val":"volume_kueche","ack":false,"ts":1498845335684,"q":0,"from":"system.adapter.javascript.0","lc":1498845335684}

                            javascript.0 2017-06-30 17:55:35.673 warn Wrong type of sonos.0.root.192_168_178_70.volume: "string". Please fix, while deprecated and will not work in next versions.

                            javascript.0 2017-06-30 17:55:35.672 info script.js.Schalter.EG_-Küche-6-fach(Mitte): 18

                            javascript.0 2017-06-30 17:55:35.672 info script.js.Schalter.EG_-Küche-6-fach(Mitte): 13

                            javascript.0 2017-06-30 17:55:35.671 info script.js.Schalter.EG_-Küche-6-fach(Mitte): Lautstärke erhöhen `

                            1 Reply Last reply Reply Quote 0
                            • S
                              Seehofweg last edited by

                              Jipie!!! Hab es! Habe mir gerade nochmal die anderen Skripte angesehen und die Variable abgeändert…

                              setState("sonos.0.root.192_168_178_70.volume", volume_kueche);
                              

                              Vielen Dank für deine Unterstützung!

                              1 Reply Last reply Reply Quote 0
                              • Dutchman
                                Dutchman Developer Most Active Administrators last edited by

                                Na super! Sorry hätte schneller gehen können aber hatte auch was übersehen.

                                Der goldene tip ist mit Log arbeiten Dan sieht man was passiert und wo es schief geht.

                                Btw: bitte topic noch auf gelöst setzen, danke und viel Spass damit !

                                –-----------------------

                                Send from mobile device

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Seehofweg last edited by

                                  Kann ich das topic auf "gelöst" setzen? Das Thema wurde damals von "Stormbringer" eröffnet.

                                  1 Reply Last reply Reply Quote 0
                                  • Dutchman
                                    Dutchman Developer Most Active Administrators last edited by

                                    @Seehofweg:

                                    Kann ich das topic auf "gelöst" setzen? Das Thema wurde damals von "Stormbringer" eröffnet. `

                                    ehm nope das muesste Stormbringer dan machen 😉

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Stormbringer last edited by

                                      Ähm ne das war eigentlich nicht mein Problem. Beim Skripten bin ich noch gar nicht. Ich hätte gerne die Datenpunkte von on/off und Lautstärke zusammengefügt in einem Alexa Befehl. Laut Anleitung soll gleicher Smartname das regeln. Tut es aber nicht… Kann man die Datenpunkte manuell zusammen fügen?

                                      PS: Freut mich aber, dass dein Problem gelöst wurde Seehofweg 😉

                                      1 Reply Last reply Reply Quote 0
                                      • BBTown
                                        BBTown last edited by

                                        Noch einmal nachgefragt: Du möchtest über Alexa einen SONOS Lautsprecher einschalten, ausschalten und die Lautstärke anpassen?

                                        Das ist eigentlich kein großer Akt.

                                        1.) im cloud-Adapter ein neues Smart Gerät anlegen (+ Taste)

                                        2.) vom entsprechenden SONOS Gerät das Objekt "volume" auswählen

                                        3.) einen aussagekräftigen Namen wählen - sagen wir zum Beispiel "Sonos Wohnzimmer"

                                        4.) als Grundlautstärke einen angenehmen Wert einstellen (z.B. 25%)

                                        5.) in der Alexa App "Smart Geräte suchen" lassen und prüfen ob "Sonos Wohnzimmer" angekommen ist

                                        • mit "Alexa, schalte Sonos Wohnzimmer ein" wird mit der "Lautstärke 25" die letzte Musikquelle abgespielt

                                        • mit "Alexa, stelle Sonos Wohnzimmer auf 30%" wird die Lautstärke entsprechend gesetzt

                                        • mit "Alexa, schalte Sonos Wohnzimmer aus" wird die Lautstärke auf "0" gesetzt

                                        Ich habe das ganze noch um Scripte ergänzt:

                                        Wenn Lautstärke von Sonos Wohnzimmer > 5 dann setze "play" auf "true", "stop" auf "false", "state" auf "play"

                                        Wenn Lautstärke von Sonos Wohnzimmer < 5 dann setze "play" auf "false", "stop" auf "true", "state" auf "stop"
                                        1917_sonos-smart_ger_t.jpg

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pix last edited by

                                          Hallo Heiko,

                                          tolle Anleitung.

                                          Statt eines Skriptes könnte man nun auch eine Szene verwenden, aber das ist ja nur Feintuning. Super Arbeit.

                                          Gruß

                                          Pix

                                          1 Reply Last reply Reply Quote 0
                                          • BBTown
                                            BBTown last edited by

                                            @pix:

                                            Statt eines Skriptes könnte man nun auch eine Szene verwenden, aber das ist ja nur Feintuning. Super Arbeit. `
                                            Ganz genau, ich nutze zum Beispiel eine Szene für den "Party-Modus"

                                            Ich bin noch nicht dazu gekommen das mal in Feinschrift als "How-To" oderTipp aufzusetzen, ich kann aber gerne schon vorab mal eine "Kladde" zur Verfügung stellen:


                                            1.) alle SONOS zusammen im Party-Modus betreiben

                                            • eine Szene mit dem Namen "SONOS Party" anlegen

                                            • dieser Szene folgende Elemente (aus <u>jedem</u> SONOS Gerät/Objekt) hinzufügen

                                            a.) "coordinator" (dieses Element gibt es erst seit der Adapter Version v.1.6.0)!!!

                                            b.) "state"

                                            c.) "volume"

                                            • in den Einstellungen der "coordinator" Elemente kommt bei

                                            "true" - überall die Adresse des "Gruppenleiters" rein (z.B. "192_168_178_55")

                                            "false" -überall die eigene Adresse reinschrieben

                                            • in den Einstellungen der "state" Elemente kommt bei

                                            "true" - überall "play" rein

                                            "false" - überall "stop" rein

                                            • in den Einstellungen der "volume_level" Elemente kommt bei

                                            "true" - überall die Lautsträrke rein die Du beim Start ideal findest

                                            • bsp. bei mir: Bad = 20; Diele = 25; Schalfzimmer = 18

                                            "false" - überall "0" rein

                                            Jetzt solltes Du bereits die Szene "starten" und "stoppen" können.

                                            Sofern Du beim "Gruppenleiter" zuletzt eine Radiosender oder anderen Favoriten laufen hattest, sollte dies nun als Vorgabe für die Gruppenmusik funktionieren.

                                            Was passiert beim setzen der Szene auf "ja"?!

                                            • alle Geräte bekommen den gleichen Gruppencoordinator

                                            • alle Geräte werden auf "play" gesetzt

                                            • alle Geräte erhalten die voreingestellte Lautstärke

                                            Was passiert also beim setzen der Szene auf "Nein"?!

                                            • alle Geräte erhalten als "coordinator" sich selbst (werden somit aus der Gruppe genommen)

                                            • alle Geräte werden auf "stop" gesetzt

                                            • alle Geräte werden auf Lautstärke "0" (aus) gesetzt

                                            Nun wird im cloud-Adapter vom ioBroker noch ein Smart-Gerät angelegt:

                                            • "+"-Taset zum hinzufügen eines neuen Smart-Gerätes

                                            • unter den Objekten die Szene "SONOS Party" auswählen

                                            • den Eintrag so ändern, dass nur "SONOS Party" als Eintrag dort stehen bleibt

                                            • in der Alexa-App Smart-Home Geräte aktualisieren, damit Alexa das neue Gerät findet

                                            • anhand "Alexa, schalte SONOS Party ein"

                                            • und/oder "Alexa, schalte SONOS Party aus"

                                            Testen


                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            820
                                            Online

                                            31.9k
                                            Users

                                            80.3k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            40
                                            6849
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo