[Neues Modul] BOSE SoundTouch

Begonnen von dominik, 05 Januar 2016, 22:28:40

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Kurze ZWischeninfo: Ich habe das Modul 98_SoundTouch inzwischen überarbeitet und einige Änderungen vorgenommen. Ist derzeit noch im Test, denn das Hin- und herschalten zwischen verschiedenen "source"-Parametern bei der ST300 ist noch etwas wackelig.

LG

pah

FlatTV

Ich bedanke mich jetzt schon einmal für deine Mühe!
Raspi4 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

Prof. Dr. Peter Henning

Insbesondere, dies vielleicht hier zur Diskussion:

Ich betreibe seit vielen Jahren eine gepatchte Version des Moduls. Die kennt einen Befehl "set ... origin <string>".

Warum?

In der Originalversion kann man mit "playTrack" suchen lassen nach Titel, Album, Künstler (siehe https://forum.fhem.de/index.php?topic=46838.msg594029#msg594029). Aber eben keine Playlists, und man kann auch nicht nach Ordnern suchen.

Typischerweise sind auch klassische Musikstücke selten mit z.B. "artist=Johann Sebastian Bach" gekennzeichnet, sondern enthalten den Namen des Orchesters, oder des tatsächlich spielenden Künstlers. Darum gibt es bei mir ein Zusatzprogramm, das solche Suchen ermöglicht (stelle ich gerne zur Verfügung).

Um dieses Zusatzprogramm aufzurufen, brauche ich natürlich ein Event und übergebe dann Daten, Wenn ich meiner Spracherkennung sage "Spiele im Wohnzimmer Musik von Bach", saugt die Spracherkennung zunächst einmal daraus das Zieldevice (meine ST300 steht im Wohnzimmer), und liefert dann einen Befehl an dieses Device ab, nämlich "set ... origin Bach".

"origin" heißt das, weil eben "source" im Bose-Universum schon für die Hardware-Schnittstelle verwendet wird.

Im Beispiel wird jedenfalls dann die Funktion originHandler(<device>,"Bach") gerufen. Die sucht im Verzeichnisbaum (eben nicht per DLNA!), ob ein Ordner mit dem Teil-Namen "Bach" existiert (und sogar, wenn mehrere Unterverzeichnisse vorhanden sind, ein zufällig ausgewähltes davon), erzeugt daraus eine temporäre Playlist und setzt dann Sekundärbefehle an das Device ab.

Das ist alles optional, die neue Version des Moduls wird eben nur den Mechanismus enthalten, mit "set ... origin <string>" eine externe Funktionm aufzurufen.

LG

pah

Teemo

Zitat von: fred_feuerstein am 26 Januar 2026, 15:58:26Habt ihr auch schon was gefunden um auf den soundtouch wireless link per root zu kommen?
der hat ja soweit auch keine Tasten und normale manurlle Firmware Updates gehen über PC Verbindung.
Er hat eine mikro USB Schnittstelle mit SETUP beschriftet.

Per Default bekomme ich nur den Zugang auf Port 17000. Das ist aber kein root Zugriff.


Haben Sie es geschafft, Root-Rechte für den Wireless Adapter zu erhalten?
Haben Sie versucht, mit der Version https://archive.org/download/bose-soundtouch-software-and-firmware/Firmware/2015-2020_Bluetooth/Bluetooth_ST20-30_or_Wireless_Link_Adapter/ eine niedrigere Version zu verwenden?

Prof. Dr. Peter Henning

So, die erste Beta-Version 3.0beta ist im github verfügbar. Das Teil habe ich jetzt den ganzen Tag über auf meinen 4 Devices getestet.

@FlatTV: Den angegebenen Fehler mit der Übermittlung des Laustärkewertes statt des Source-Parameters habe ich nicht nachstellen können. Der Wechsel der Quellen funktioniert bei mir vollkommen reibungslos.

Allerdings war in dem angegebenen Patch ein übler Fehler, es fehlte ein
$hash->{helper}{switchSource} = "";Dadurch gab es eine Endlosschleife des set-Befehls. Es kann sein, dass dies für an angegebenen "bug" verantwortlich war.

Die Änderungen von betateilchen habe ich drin gelassen - sind sehr nützlich für meine Unterbrechungen des laufenden Programms durch Sprachausgabe.

ZitatFEATURE: set ... saveState restoreState restoreVolAndOff (betateilchen)
    FEATURE: add PRODUCT TV and HDMI_1 to source for ST300 (FlatTV)
    FEATURE: set ... origin added (phenning)
    FEATURE: playinfo1 and playinfo2 readings added (phenning)

LG

pah

FlatTV

#785
Zitat von: Teemo am 06 Februar 2026, 15:53:07
Zitat von: fred_feuerstein am 26 Januar 2026, 15:58:26Habt ihr auch schon was gefunden um auf den soundtouch wireless link per root zu kommen?
der hat ja soweit auch keine Tasten und normale manurlle Firmware Updates gehen über PC Verbindung.
Er hat eine mikro USB Schnittstelle mit SETUP beschriftet.

Per Default bekomme ich nur den Zugang auf Port 17000. Das ist aber kein root Zugriff...

Haben Sie es geschafft, Root-Rechte für den Wireless Adapter zu erhalten?
Haben Sie versucht, mit der Version https://archive.org/download/bose-soundtouch-software-and-firmware/Firmware/2015-2020_Bluetooth/Bluetooth_ST20-30_or_Wireless_Link_Adapter/ eine niedrigere Version zu verwenden?
Also ich konnte da nichts testen, da mir das entsprechende Gerät fehlt - sorry

Zitat von: Prof. Dr. Peter Henning am 06 Februar 2026, 04:26:21Insbesondere, dies vielleicht hier zur Diskussion:

Ich betreibe seit vielen Jahren eine gepatchte Version des Moduls. Die kennt einen Befehl "set ... origin <string>".

Warum?

In der Originalversion kann man mit "playTrack" suchen lassen nach Titel, Album, Künstler (siehe https://forum.fhem.de/index.php?topic=46838.msg594029#msg594029). Aber eben keine Playlists, und man kann auch nicht nach Ordnern suchen...
Ich finde es absolut spannend (und dafür liebe ich FHEM), auf welche Lösung hier die Anwender oder Entwickler kommen.

Bei mir war es erst einmal die Frage, wo erstelle ich (oder besser meine Frau) die Playlist.
Eigentlich war es YouTube, wir haben uns dann aber auf Amazon Music geeinigt, da es mir sinnvoller erschien.
Meine Frau möchte allerdings nicht ,,Wohnzimmer" oder ,,Küche" sagen, sie will nur da wo sie ist Musik hören.
Also gibt es in den notwendigen Räumen einen Alexa Echo.
Leider ist ,,Musik" ein reserviertes Wort aber ich konnte nach Trennung der Bose App, den ,,Lautsprecher" verwenden.

Sie sagt also, da wo sie ist, ,,...schalte den Lautsprecher ein".
1. Ein Dummy vom Typ Alexa Media geht auf on
2. Ein Notyfy erkennt das und refresht alle Alexa Echos
3. Am nun getriggerten Alexa Device wird der Raum erkannt und das entsprechende Reading Voice abgefragt, ob es sich um ,,Lautsprecher" handelt
4. Da es über echodevice.pm nicht funktioniert, den Lautsprecher via Bluetooth zu koppeln, startet das Notify über das Modul den Aufruf einer Alexa Routine. Dort ist hinterlegt, ,,verbinde bluetooth" und ,,Spiel meine Playlist Lieblingssongs im Shuffle-Modus". So läuft erst einmal die Bose Box mit den Wünschen meiner Frau.
5. ,,..., spiele meine Playlist Retro Soul" langt dann um weitere Playlists abzurufen.

Auch ist es so möglich, einfach zu sagen ,,..., schalte den Lautsprecher lauter", ohne den Raum angeben zu müssen.
Raspi4 - im wesentlichen mit Phoscon, HomeMatic ( aktuell über debmatic), CUL, BOSE-ST und Alexa (Connector)

Prof. Dr. Peter Henning

#786
Ich habe feste Playlists - z.B. "Peters Favoriten". Die werden nur, solange das nicht in den vergangenen 24 Stunden schon einmal gemacht worden ist, zufällig neu sortiert bevor sie an SoundTouch-Devices gehen.

Dazu kommen temporäre Playlists, die ich mit dem FHEM-Modul 98_MediaList.pm erstelle.

Beispiel 1: Ich wähle - per Sprache und anschließender Suche einen Ordner, sagen wir "Spiele im Wohnzimmer Musik von Mozart aus dem Album Zauberflöte" => /home/music/_Klassik/Mozart/Die Zauberflöte
und nehme alle Files auf die temporäre Playlist.

Beispiel 2: In meinem FTUI3-Interface kann ich mit dem MediaList-Modul durch alle Ordner scrollen, und jeden einzelnen Titel per Klick auf die temporäre Playlist befördern.

Natürlich kann ich auch auf die Angabe eines Raums verzichten, dann wird aus dem Ort des Spracheingabegerätes geschlossen, wo das abgespielt werden soll (das mache ich mit Babble+RiveScript).

Ach ja, und für meine Chefin gibt es eine Funkfernbedienung (2 Buttons nur). Mit der kann sie mit einem Klick ihre Favoritenliste verändern, den gerade gespielten Track herausnehmen oder hinzufügen.

Zitat von: Teemo am 06 Februar 2026, 15:53:07Haben Sie es geschafft, Root-Rechte für den Wireless Adapter zu erhalten?
Nö, ich habe ja das Gerät nicht. Laut Infos im Netz geht das mit einem USB-OTG-Adapter, genau wie bei der ST10

LG

pah