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.
    • N
      Nanouk last edited by

      Hi,

      der Bose Soundtouch Wireless Link Adapter funktioniert auch.

      Habe 3 ST10 und den W-Link Adapter erfolgreich eingebunden.

      Daumenhoch

      Gruß

      Nanouk

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

        @apollon77:

        Wenn Du Code hast der "Discovery" einer Bose macht (ich dachte da ging was per UDP oder so?) Dann schick mir den und ich baue es im Discovery Adapter ein `
        Ich habe eventuell brauchbaren Code für den Discovery Adapter gefunden: https://github.com/CONNCTED/SoundTouch- … scovery.js

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

          Hi,

          wenn ich über eine Szene alle Lautsprecher mit Preset 1 einschalte, habe ich ein ziemliches Lag.

          Das liegt wohl daran dass jeder Lautsprecher für sich läuft und nicht als Multiroom Zone.

          @apollon77:

          Du sagst Du hast die 1.0 API Dokumentation? 1.0.1 Seite 7 Punkt 6.5 /setZone und 6.6/addZoneSlave.

          Ich hab nur leider absolut keine Ahnung was ich wo reinbauen muss :lol:

          @SwedishChef: Vielleicht könntest Du das implementieren?

          Ich teste dann gerne ob es funktioniert oder logge alles mit wenn es klemmt.

          Es wäre auch kein Problem für mich nen Pi mit iobroker zum testen aufzusetzen und da selbst dran rum zu basteln, aber wie gesagt, mir fehlt jeglicher Ansatz.

          Viele Grüße

          Nanouk

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

            Ich werde mir das Zusammenschalten zu einer Zone in den kommenden Tagen gerne ansehen.

            Ich hab als API-Doku von Bose übrigens die Version 1.1.0

            Gesendet von meinem A0001 mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            636
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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