[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