Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Bose Soundtouch steuern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Bose Soundtouch steuern

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

      So, Discovery wäre in der Github Version vom Discovery Adapter mal drin. tests wären super. Bei mir tuts.

      Wenn wir das releasen wollen müsste aber dann der Adapter mindestens auf NPM und im Latest-Repo drin sein.

      Ansonsten: Hast Du schon geschaut mit meinem Debug warum die Track Infos nicht korrekt eingelesen werden?

      1 Reply Last reply Reply Quote 0
      • htrecksler
        htrecksler Forum Testing last edited by

        Ich hab mir den Adapter auch problemlos installieren können.

        Danke dafür. Bisher hatte ich ein Script um die Soundtouch zu steuern, aber so ist es deutlich schöner.

        Eine Anregung hätte ich aber dennoch.

        Könntest Du eventuell die StateChange Meldungen auf eine andere log Stufe setzen?

        Ansonsten wird das log unnötig vollgeschrieben.

        Bei mir lokal habe ich die entsprechende Zeile einfach auskommentiert, seitdem ist Ruhe im Log.

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

          Ich denke Logging ist noch viel weil der Adapter noch sehr aktiv in der Entwicklung ist

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

            Hallo Leute.

            Auf GitHub ist die neue version 0.1.0 mit folgenden kleinen fixes:
            @apollon77:

            Das "aktuell gespielte" wird bei mir nicht korrekt gefüllt. Es kommt laut Debug vom Gerät, wird aber alles leer geschrieben. ` Hat für 'BLUETOOTH' und 'INTERNET_RADIO' funktioniert, die Quelle 'STORED_MUSIC' fehlte aber.

            @htrecksler:

            Könntest Du eventuell die StateChange Meldungen auf eine andere log Stufe setzen?

            Ansonsten wird das log unnötig vollgeschrieben. ` Geändert zu 'debug'.

            Die Implementierung für Multi Room (Zones) gestaltet sich doch deutlich komplexer als zuerst gedacht, alleine schon deswegen, weil ich nur ein Gerät besitze und weitere Adapter-Instanzen zum Testen irgendwie faken muss.

            Dazu eine Frage: Wie kann eine Adapterinstanz (z.B. '.0') einfach erfragen, welche bzw. wie viele andere Instanzen vorhanden sind, um dann deren states auszulesen? Für eine Funktion wie 'play everywhere' muss ich irgendwie die MAC- und IP-Adressen der anderen Adapterinstanzen abfragen.

            Also für 'Zones' noch etwas Geduld… 😉

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

              @SwedishChef:

              Dazu eine Frage: Wie kann eine Adapterinstanz (z.B. '.0') einfach erfragen, welche bzw. wie viele andere Instanzen vorhanden sind, um dann deren states auszulesen? Für eine Funktion wie 'play everywhere' muss ich irgendwie die MAC- und IP-Adressen der anderen Adapterinstanzen abfragen. `

              Ohne es im Detail getestet zu haben versuch mal in diese Richtung:

              `adapter.objects.getObjectView('system', 'instance', 
                   {startkey: ''system.adapter.bosesoundtouch.', endkey: 'system.adapter.bosesoundtouch.\u9999'}, 
                   function (err, doc) {
              	if (doc && doc.rows) {	
              		for (var i = 0; i < doc.rows.length; i++) {
              			 var id  = doc.rows[i].id;
              			 var obj = doc.rows[i].value;
              			 console.log('Found ' + id + ': ' + JSON.stringify(obj));
              		}
                              if (!doc.rows.length) console.log('No objects found.');
              	} else {
              		console.log('No objects found: ' + err);
              	}
              });`[/i][/i]
              
              1 Reply Last reply Reply Quote 1
              • M
                Master77 last edited by

                Hallo zusammen.

                Habe eben den Adapter installiert und eingerichtet. Vielen Dank erst mal an alle die daran beteiligt sind. Habe nur eine Frage bezüglich der Radiosender. Presets 1-6 sind in Objekte vorhanden, lassen sich aber nicht wirklich durch irgendwelche Widgets in Vis ansteuern. Oder mache ich da irgendwas verkehrt? Danke im voraus für eure Hilfe.

                Gruß Markus

                Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk

                1 Reply Last reply Reply Quote 0
                • N
                  Nanouk last edited by

                  Hi Master77,

                  versuch über vis in das Objekt key des Adapters den Wert PRESET_1 zu schreiben.

                  Du könntest Dir in vis einen Schalter on/off machen und dann jeweils Preset Buttons.

                  Die Preset Buttons nutzt Du um in den objetcs bei key den jeweiligen Wert PRESET_1 bis PRESET_6 zu schreiben.

                  Gruß

                  Nanouk

                  PS: Ich kann gerne heute abend noch mal schauen, bin gerade auf dem Sprung zur Arbeit

                  1 Reply Last reply Reply Quote 0
                  • M
                    Master77 last edited by

                    @Nanouk:

                    Ich kann gerne heute abend noch mal schauen, bin gerade auf dem Sprung zur Arbeit `

                    Das wäre echt super wenn du dir das mal ansehen könntest. Habe gestern alles mögliche ausprobiert jedoch ohne Erfolg.

                    Gruß Markus

                    Gesendet von meinem HUAWEI NXT-L29 mit Tapatalk

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

                      Die Info von Nanouk ist korrekt. bei mir geht das genau so.

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

                        @SwedishChef:

                        Die Implementierung für Multi Room (Zones) gestaltet sich doch deutlich komplexer als zuerst gedacht, alleine schon deswegen, weil ich nur ein Gerät besitze und weitere Adapter-Instanzen zum Testen irgendwie faken muss.

                        Dazu eine Frage: Wie kann eine Adapterinstanz (z.B. '.0') einfach erfragen, welche bzw. wie viele andere Instanzen vorhanden sind, um dann deren states auszulesen? Für eine Funktion wie 'play everywhere' muss ich irgendwie die MAC- und IP-Adressen der anderen Adapterinstanzen abfragen.

                        Also für 'Zones' noch etwas Geduld… 😉 `

                        Alternative wäre das der eine Adapter einfach mit mehreren Bose-geräten kommuniziert. Also am Ende vergleichbar zum Sonos Adapter.

                        Man müsste also mehrere IPs angeben können … dann hast Du alle in einem Adapter und kennst alles.

                        1 Reply Last reply Reply Quote 0
                        • M
                          Master77 last edited by

                          Hallo zusammen. So, ich habe mich eben nochmal ran gesetzt und alles ausprobiert. Wie zuvor funktioniert das Umschalten der Radiosender nicht. Egal was ich dem Schalter zuordnen. (Unter Presets 1 iconUrl, name oder source). Was machen ich falsch? Im Anhang ein Bild meiner Objekte. Danke im voraus für eure Hilfe.

                          Gruß Markus

                          ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201711 ... ebff99.jpg">https://uploads.tapatalk-cdn.com/20171128/7f552f3e4c606cb464166b353debff99.jpg</link_text>" />

                          1 Reply Last reply Reply Quote 0
                          • N
                            Nanouk last edited by

                            Schau mal auf Deinem Screenshot unter den Preset Ordnern.

                            Da steht "key"

                            Den Datenpunkt musst Du auswählen.

                            Über vis nun mit einem widget den entsprechenden Preset Wert schreiben.

                            Probier mal das widget:

                            [{"tpl":"tplJquiRadioList","data":{"oid":"bosesoundtouch.0.key","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":true,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","values":"PRESET_1","texts":"Preset 1","signals-cond-0":"consist","signals-val-0":"","signals-icon-0":"","signals-icon-size-0":"76","signals-blink-0":true,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"not consist","signals-val-1":"radioffh","signals-icon-1":"/vis/img/radiobuttons/ffh.jpg","signals-icon-size-1":"75","signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"signals-oid-0":"","signals-oid-1":"javascript.0.RadioURL","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"629px","top":"245px","border-width":"","width":"76px","height":"76px","z-index":"4"},"widgetSet":"jqui"}]
                            

                            Der vis Button ist jetzt nur quick'n'dirty, aber funktionieren sollte er.

                            Gruß

                            Nanouk

                            PS:

                            Die Punkte in den Preset Ordnern helfen Dir evtl. beim optischen Gestalten in vis.

                            Für die Funktion "Preset 1" abspielen sind sie aber nicht nötig.

                            Das wird über den Wert in "key" gesteuert.

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

                              @SwedishChef. Schon das neue Bose-Developer Portalund das letzte API update gesten?

                              API kann jetzt bei Lifestyles auch die echten EIngänge Switchen. UND es gibt eine "Audio Notification API" wo man Notofy-Sounds (custom mp3-File/Stream oder so) angeben kann und "Texte" das wird dann abgespielt und danach der normale stream fortgesetzt …

                              Welcome "sayit" in besser als Sonos ;-))

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

                                @apollon77:

                                @SwedishChef. Schon das neue Bose-Developer Portalund das letzte API update gesten? `
                                Ja, hab mir das Portal und die neue Doku kurz angesehen. Leider komme ich aktuell nicht dazu, den Adapter zu erweitern. Meine ersten Versuche, ein Play-everywhere zu realisieren, scheiterten am Zusammensammeln der jeweiligen states - alles asynchron 😞

                                Wie kann ich mehrere states abfragen, die Ergebnisse sammeln und - wenn alles beisammen ist - eine Aktion starten? Die einzelnen Instanzen bekomme ich mit getObjectView(), aber der Rest ist mühsam… Und wie gesagt, es fehlt aktuell ein wenig die Zeit. In den Weihnachtsferien gehts hoffentlich weiter.

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

                                  Solche "schleifen" kann man asynchron grob (pseudocode) so machen:

                                  Am besten ein Array definieren mit dem was man abfragen will.

                                  function doIt(thingsToDoArray, callback) {

                                  -> Wenn thingsToDoArray.length === 0 dann callback() und return

                                  -> mit thingsToDoArray.shift das erste Array-Element holen, rest-Array wird automatisch verkürzt

                                  -> Array element verarbeiten, ggf asynchron und für nächsten Schritt wieder "doIt(thingsToDoArray, callback)" aufrufen

                                  und ausserhalb rufst Du einmal doIt(thingsToDoArray,callBackFunctionFürNachEnde) auf

                                  Damit wird die "doIt" so lange aufgerufen bis dann abzuarbeitende Array leer ist und danach wird die "callBackFunctionFürNachEnde" aufgerufen.

                                  Die Ergebnisse kann man in einer globalen Variable ablegen oder schiebst noch ein arameter durch der dann am Ende ans das callback übergeben wird.

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

                                    Danke, das werde ich demnächst probieren. Vielleicht gibt es ja eine erste Version für play-everywhere als Weihnachtsgeschenk 😉

                                    Gesendet von meinem A0001 mit Tapatalk

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

                                      Falls das oben zu abstrakt war kann ich gern mal ein echtes Code-beispiel raussuchen 🙂

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

                                        Hallo Leute.

                                        Es gibt zwei neue Versionen auf Github:

                                        • 0.0.10 - erster Versuch von multi-room (zone) playEverywhere
                                        [https://github.com/SwedishChef1/iobroke … ball/zones](https://github.com/SwedishChef1/iobroker.bosesoundtouch/tarball/zones)
                                        
                                        Einfach den Status 'playEverywhere' im Master-Adapter auf TRUE setzen
                                        
                                        • 0.1.1 - now playing: neuer Status 'art' (URL zum aktuellen Song/Album/Radiosender-Bild, falls vorhanden)

                                          https://github.com/SwedishChef1/iobroke … all/master

                                        Sobald playEverywhere grob funktioniert (bitte um euer Feedback, ich konnte das mit nur einer Box nicht wirklich testen), werde ich das auf 'master' mergen.

                                        1 Reply Last reply Reply Quote 0
                                        • N
                                          Nanouk last edited by

                                          Hallo und schönen 3 Advent euch allen.

                                          Wie kann ich die playEverywhere Version installieren?

                                          Ich bekomme immer 404 Fehler.

                                          Wie muss der Link aussehen um es im Admin zu installieren?

                                          Grüße,

                                          Nanouk

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

                                            Hallo Nanouk,

                                            Sorry, ich hab die links einfach aus dem Browser kopiert. Sind in meinem vorigen Post korrigiert.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            607
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            36
                                            286
                                            61858
                                            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