Squeezebox Modul - erste Version

Begonnen von bugster_de, 17 Dezember 2013, 22:12:10

Vorheriges Thema - Nächstes Thema

ChrisD

Hallo,

@RoBra81: SB_SERVER_Read wird automatisch von FHEM aufgerufen wenn der Server Daten schickt. Wenn Musik auf mehreren Playern läuft sind 176 Aufrufe nicht sehr viel. Zusätzlich wird regelmäßig der Status des Servers abgefragt, hierbei kommen viele Informationen zurück. Die Meldungen des Servers werden an die Player weitergegeben und führen zu Änderungen von Readings. Diese lösen u.a. Logging, notify und Aktualisierung von Userreadings aus. All dies wird von apptime in die Bearbeitungszeit von SB_SERVER_Read mit eingerechnet. Auf meinem alten RasPi 1 benötigt ein StatusRequest bei 9 Player 1.8 Sekunden. Ich könnte ein Option vorsehen, die die Auswertung der StatusRequests aufteilt und zeitverzögert abarbeitet.

@FHEMAN:
Zitatttsdone kommt doch nur bei Verwendung von talk, was eh schon ein save+recall eingebaut hat
Ja, das stimmt. Das Ereignis ermöglicht es dir aber auf das Ende der Sprachausgabe zu reagieren um weitere Aktionen zu starten.

ZitatWenn ich ein playlist play mache, wird dann auch eine Fertigmeldung getriggert, auf die ich reagieren kann?
In dem Fall kannst du ein notify auf playStatus machen.

ZitatIch fände es zwar, wie damals schon gesagt, auch cool, die Lautstärken inklusive Offset zu syncen
Ich kann dies integrieren, sehe dabei aber den Nachteil dass es nur in FHEM wirkt. Wenn du das Webinterface des LMS oder eine App zusätzlich benutzt, bekommen diese nichts vom Offset mit. Reicht ein Attribut für den Offset oder möchtest du zusätzlich auch noch Skalieren (Vol_LMS=Vol_FHEM+Offset oder Vol_LMS=Vol_FHEM*Faktor+Offset) ?

Ich bin dabei das doppelte Save/Recall bei 'syncgroup talk' zu ändern, im Moment funktioniert es aber noch nicht so ganz.

@Eberhard: Danke für die Ergänzung der Dokumentation.

ZitatWelchem Player einer Gruppe willst Du den Wert mitgeben? Wenn überhaupt, dann nur dem Master
Es wäre egal bei welchem Player die Änderung erfolgt. Es gibt bereits das Attribut syncVolume welches festlegt wie die Lautstärke bei gesyncten Playern funktioniert. Ich möchte den Befehl nicht beim Server einbauen da es viel Aufwand ist und nicht klar ist wie die 'Spezialfälle' zu handhaben wären (Gruppe überhaupt nicht aktiv, Gruppe mit anderem Master aktiv, Gruppe nur teilweise aktiv, Gruppe mit zusätzlichem Player aktiv, ...).

Zitatnicht immer der erste im Reading...
Dies ist in der kommenden Version geändert, allerdings ohne Gewähr dass der Server sich dran hält.

Grüße,

ChrisD

FHEMAN

Hi ChrisD,

Zitat von: ChrisD am 20 November 2016, 21:56:31
@FHEMAN: Ja, das stimmt. Das Ereignis ermöglicht es dir aber auf das Ende der Sprachausgabe zu reagieren um weitere Aktionen zu starten.
In dem Fall kannst du ein notify auf playStatus machen.
Das unschöne ist hier, dass zunächst vom laufenden Track schon ein playStatus stopped kommt, was das notify fälschlicherweise triggert. Da die gleichzeitige Abfrage des Readings currentMedia irgendwie nicht funktionierte, habe ich mir nun mit einem etwas unschönen Sleep 2 beholfen. Jetzt tut es :)

Hier mal der aktuelle Stand meiner Playfunktion, falls es jmd. interessiert:

#####################################################################################
# playex
#
sub playex($;$) {
my ($file, $player) = @_;
if (($file) && ($file =~ m/.mp3$/)) {
$player //= "SB\..*:FILTER=TYPE=SB_PLAYER:FILTER=room=Audio";
my $uniqueSaveState = "StateBeforePlayEx" . int(rand(1000) +1 );
fhem("set LMS_MUSIK save $uniqueSaveState");
my $dir = ($file !~ m/^\/opt\/sounds\//) ? "tmp:///opt/sounds/" : "file://";
if ($player =~ m/^SB.Group.*/) {
fhem("set LMS_MUSIK syncGroup load poweron $player");
$player = (split(",",ReadingsVal("LMS_MUSIK", "sg".$player, "0")))[0];
}
fhem("set $player volume 40");
fhem("set $player playlist play " . $dir . $file);
fhem("sleep 2;defmod notify.PlayDone notify $player.playStatus:.stopped set LMS_MUSIK recall $uniqueSaveState del;;delete notify.PlayDone");
    }
}

Meine Syncgruppen beginnen mit SB.Group.__ und meine Player mit SB.___, mein LMS heißt LMS_MUSIK
Den eindeutigen Savestate nutze ich, falls die Funktion zeitgleich bspw. durch 2x hintereinander Türklingeln aufgerufen werden sollte.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Elektrolurch

Hallo bugster,

jetzt habe ich endlich auch meine Sschon viele Jahre alte Squeezebox in fhem integriert. Hat alles mit Deinem Modul super geklapt! Ich hätte allerdings einige Verbesserungsvorschläge, die daher resultieren, dass meine weitere Audio-Landschaft aus Sonos-Komponenten bestehen.

1. talk oder sayText
Wenn ich eine Durchsage auf der SB bei laufendem Radioprogramm ausebe, geht die etwas unter, da die google-Stimme ziemlich leise ist. Bei dem fhem-Sonos-Modul kann man für den "Speak" - Befehl eine zusätzliche Lautstärke angeben, mit der die Textausgabe erfolgt. Danach kehrt der Player in seine ursprüngliche Lautstärke zurück.
Wenn der Text "|Dateiname|" enthält, wird er mit einer mp3-Datei emischt. So kann z.B. vor dem Text ein Gong abgespielt  werden, um die Aufmerksamkeit auf die Durchsage zu bekommen.
Das fände ich ziemlich nützlich.
Beispiel von Sonos:
set Sonos_Wohnzimmer Speak 50 de |Gong.mp3| Die Katze wartet im Garten.
50 ist die Lautsärke, DE die Sprache (bei SB ein Attribut)

2. Kann man die Favoritenliste alphabetisch sortiert in dem Dropdown ausgeben?
Ich habe da mal zwei Zeilen eingefügt, an der Stelle, wo der FAVSTR berechnet wird:
# Elektrolurch
my @radios = split(',',$hash->{FAVSTR});
$hash->{FAVSTR} = join(',',sort @radios);
            # CD 0016 start, provisorisch um alarmPlaylists zu aktualisieren, TODO: muss von 97_SB_SERVER kommen


3. Gibt es eine Funktion, mit der man direkt eine URI abspielen kann? (intern vermutlich schon)
sowas wie:
set SBPlayer playURI <url>
und mit Rückkehr zur laufenden Wiedergabe:
set SBplayer playURItemp <url>

4. Der sync - Befehl geht wohl nur für Squeezeboxen.  Wenn der Mechanismus auf UPnP basieren würde, könnte man ihn ev. mit anderen Playern (z.B. Sonos) verheiraten. Wäre eine weitere Öffnung, um Geräte verschiedener Hersteller zu verheiraten.


Frage: Gibt es Dein Modul nur über GITUP? Da es doch schon ziemlich fertig ist, könnte es doch auch in fhem distributiert werden.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

ChrisD

Hallo,

Ich die beiden Module aktualisiert, Änderungen:

97_SB_SERVER:
- Absturz wenn IODev keinen hash enthält korrigiert
- Master als ersten Player in den sync-Group-Readings anzeigen
- Serverstatus wenn nötig aufteilen und an Player verteilen
- bei syncGroup talk Zustand nicht beim Player abspeichern

98_SB_PLAYER:
- Event bei Ende Playlist (playlistStop)
- Übertragung Serverstatus angepasst
- Zustand bei talk über Server nicht zwischenspeichern
- Dokumentation ergänzt (Eberhard)

Installiert werden können sie mit
update force https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt

@FHEMAN: Ich habe ein Event 'playlistStop' hinzugefügt welches beim Ende einer Playlist getriggert wird. Weiterhin wird der Zustand bei 'syncGroup talk' nicht mehr doppelt gespeichert.

@RoBra81: Die Auswertung des StatusRequests wird jetzt wenn nötig aufgeteilt so dass FHEM nicht mehr für längere Zeit blockiert wird. Kannst du testen ob es damit bei dir besser funktioniert ?

@Elektrolurch: Auch wenn du dich an Bugster adressiert hast kann ich dir bei einzelnen Punkten weiterhelfen:
1. Die Lautstärke für den talk-Befehl kannst du mit dem Attribut ttsVolume festlegen. Du kannst zusätzlich die maximale Lautstärkebegrenzung des Attributes volumeLimit außer Kraft setzen wenn ttsOptions ignorevolumelimit enthält.
Du kannst (wie bei SONOS) mit |Dateiname| eine beliebige Datei oder URL angeben.

Aus
set Sonos_Wohnzimmer Speak 50 de |Gong.mp3| Die Katze wartet im Garten.
wird
attr sbp_Test ttsVolume 50
attr sbp_Test ttslanguage de
set sbp_Test talk |Gong.mp3| Die Katze wartet im Garten.


3. Der Befehl zum Abspielen ist 'playlist play'. Es spielt keine Rolle ob eine Datei, eine URL oder eine ID eines Plugins dahinter verwendet wird, z.B.
set sbp_Test playlist play http://www.abc.net.au/res/streaming/audio/mp3/local_melbourne.pls

Als Ersatz für 'playURItemp' kannst du 'talk' verwenden.

4. Der sync-Befehl ist nicht auf Squeezeboxen begrenzt, er funktioniert mit allen Geräten die mit dem Server verbunden sind. Wenn du das UPNP-Plugin auf dem Server aktivierst kannst du z.B. auch Sonos-Player darüber steuern.

ZitatFrage: Gibt es Dein Modul nur über GITUP? Da es doch schon ziemlich fertig ist, könnte es doch auch in fhem distributiert werden.
Das Modul ist im Moment auf GitHub da es mir mehr Flexibilität gibt. So kann ich gefahrlos Änderungen vornehmen ohne dass dadurch bei einem FHEM-Update neue, noch nicht ausgereifte Features automatisch mit ausgeliefert werden. Dies würde zu erhöhtem Supportaufwand führen wie man (leider) immer wieder im Forum beobachten kann. Jeder kann selbst entscheiden ob er die neue Version austesten möchte oder nicht.

Wenn du aber immer auf dem letzten Stand sein willst kannst du durch die einmalige Eingabe von
update add https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt
die Module zum normalen FHEM-Update hinzufügen.

Im FHEM-SVN befindet sich im contrib eine stabile Version.

Grüße,

ChrisD

Elektrolurch

Hallo ChrisD,
danke für Deine wirklich umfassende und weiterhelfende Antwort. Super.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

Elektrolurch

Hallo CrisD,

leider noch eine Frage:

Jetzt habe ich versucht zu der sayText - Ausgabe noch eine Sound-Datei mit auszugeben. Der Sound wurde aber nicht abgespielt, obwohl der resultierende Pfad  auf die Datei auf der fhem läuft aus
attr Ku_Player ttsMP3FileDir /media/Sonos/speak
existiert.
Ich hatte mir für das Modul verbose auf 6 gesetzt... konnte da aber keinen Fehler entdecken, da die resultierende Playlist irgendwo anders dann letztendlich an die Squeezebox geschickt wird.
Mir kommt da allerdings ein Verdacht:
Kann es sein, dass dieser Pfad ttsMP3FileDir /media/Sonos/speak
sich auf den Squeezebox-Server bezieht und nicht auf den Server, auf dem fhem läuft?
Dann wäre es eigentlich ja auch sinnvoll, dass das Attribut nicht am Player, sondern am SB_Server hängt.
Bevor ich also da Links übers Netzwerk für das Verzeichnis in Samba und fstab einrichte, sicherheitshalber mal der Auszug aus dem log:

Es fällt auf, dass die mp3 - Datei und der google-Aufruf in der gleichen Sekunde abgearbeitet wird....
2016.12.04 14:54:44 3: set Ku_Player sayText |sounds/Gong| Die Katze wartet heute nicht im Garten!
2016.12.04 14:54:44 3: main::AM_AV: p Ku_Player restore old volume 28
2016.12.04 14:54:44 3: main::AM_AV: p Ku_Player audio to screen -> set Ku_Player show line1:Die Katze wartet heute line2:nicht im Garten! duration:10
2016.12.04 14:54:44 5: SB_PLAYER_Set: called with sayText
2016.12.04 14:54:44 1: filename 1: /hdd/sda4/Sonos/speak/sounds/Gong.mp3
2016.12.04 14:54:44 6: SB_PLAYER_SetTTSState: Ku_Player: ttsstate: wait for power on
2016.12.04 14:54:44 6: SB_PLAYER_Set: Ku_Player: add to ttsqueue: /hdd/sda4/Sonos/speak/sounds/Gong.mp3
2016.12.04 14:54:44 6: SB_PLAYER_Set: Ku_Player: add to ttsqueue: http://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Die%2BKatze%2Bwartet%2Bheute%2Bnicht%2Bim%2BGarten%21&client=tw-ob
2016.12.04 14:54:44 5: SB_PLAYER_Parse: Ku_Player CMD:power ARGS:1...
2016.12.04 14:54:44 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:44 5: SB_PLAYER_Parse: Ku_Player CMD:prefset ARGS:server power 1...
2016.12.04 14:54:44 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:44 5: SB_PLAYER_Parse: Ku_Player CMD:menustatus ARGS:ARRAY(0x63a6358) add 00:04:20:1f:1e:c6...
2016.12.04 14:54:44 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 6: SB_PLAYER_SetTTSState: Ku_Player: ttsstate: save state
2016.12.04 14:54:45 6: SB_PLAYER_SetTTSState: Ku_Player: ttsstate: set volume
2016.12.04 14:54:45 6: SB_PLAYER_SetTTSState: Ku_Player: ttsstate: load playlist
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playlist ARGS:repeat 0...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playlist ARGS:clear...
2016.12.04 14:54:45 5: SB_PLAYER_GetStatus: called
2016.12.04 14:54:45 5: SB_PLAYER_GetStatus: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:prefset ARGS:server currentSong...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:mixer ARGS:volume 65...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:prefset ARGS:server volume 65...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playlist ARGS:clear...
2016.12.04 14:54:45 5: SB_PLAYER_GetStatus: called
2016.12.04 14:54:45 5: SB_PLAYER_GetStatus: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playlist ARGS:add /hdd/sda4/Sonos/speak/sounds/Gong.mp3...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:prefset ARGS:server currentSong...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playlist ARGS:add http://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Die+Katze+wartet+heute+nicht+im+Garten!&client=tw-ob...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:mode ARGS:stop...
2016.12.04 14:54:45 5: SB_PLAYER_Parse(Ku_Player): mode:mode args:stop
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:artist ARGS:...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:album ARGS:...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:title ARGS:...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playlist ARGS:url...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:remote ARGS:0...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:status ARGS:0 500 tags:Kcu player_name:Squeezebox player_connected:1 player_ip:192.168.1.52:45402 power:1 signalstrength:30 mode:stop mixer volume:65 mixer bass:0 mixer treble:0 playlist repeat:0 playlist shuffle:0 playlist mode:off seq_no:0 playlist_cur_index:0 playlist_timestamp:1480859685.33738 playlist_tracks:2 digital_volume_control:1 playlist index:0 id:6026 title: url:file:///hdd/sda4/Sonos/speak/sounds/Gong.mp3 playlist index:1 id:-91786488 title: artwork_url:html/images/radio.png coverid:-91786488 url:http://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Die+Katze+wartet+heute+nicht+im+Garten!&client=tw-ob...
2016.12.04 14:54:45 5: SB_PLAYER_ParsePlayerStatus(Ku_Player): data to parse: tags:Kcu player_name:Squeezebox player_connected:1 player_ip:192.168.1.52:45402 power:1 signalstrength:30 mode:stop mixervolume:65 mixerbass:0 mixertreble:0 playlistrepeat:0 playlistshuffle:0 playlistmode:off seq_no:0 playlist_cur_index:0 playlist_timestamp:1480859685.33738 playlist_tracks:2 digital_volume_control:1 playlistindex:0 id:6026 title: url:file:///hdd/sda4/Sonos/speak/sounds/Gong.mp3 playlistindex:1 id:-91786488 title: artwork_url:html/images/radio.png coverid:-91786488 url:http://translate.google.com/translate_tts?ie=UTF-8&tl=de&q=Die+Katze+wartet+heute+nicht+im+Garten!&client=tw-ob
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:alarms ARGS:0 200 tags:all filter:all fade:1 count:0...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playerpref ARGS:alarmsEnabled 1...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playerpref ARGS:alarmDefaultVolume 50...
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player: leaving
2016.12.04 14:54:45 5: SB_PLAYER_Parse: Ku_Player CMD:playerpref ARGS:alarmTimeoutSeconds 3600...




Gruß

Elektrolurch
configDB und Windows befreite Zone!

ChrisD

Hallo,

Kann es sein, dass dieser Pfad ttsMP3FileDir /media/Sonos/speak
sich auf den Squeezebox-Server bezieht und nicht auf den Server, auf dem fhem läuft?


Ja, der Pfad bezieht sich auf den Server. FHEM ist nur zum Steuern da. Der Pfad ist beim Player damit man auch unterschiedliche Pfade für jeden Player setzen kann. Eventuell könnte man beim Server ebenfalls das Attribut vorsehen. Dieses würde dann genommen wenn das Attribut beim Player nicht definiert ist.

Grüße,

ChrisD

Luigi

Hallo,

wie kann man einen bestimmten Track der aktuellen Playlist abspielen (z.B Track 5)?

Gruß
Luigi

ChrisD

Hallo,

Du kannst mit
set player cliraw playlist index 4zum 5. Track springen. Dire Tracks werden ab 0 gezählt.

Grüße,

ChrisD

Morrino

Hi zusammen,

ich benutze seit knapp einem Jahr zwei RaspberryPis(inkl USB Soundkarte und Boxen) mit aufgespielten piCorepLayer und dem Squeezebox Modul für meine Multoroom Anlage.
Das funktioniert auch soweit sehr gut, auch das synchronisieren unter den beiden funktioniert perfekt.

Nun möchte ich mein Multiroom erweitern und bin gerade am überlegen ob es noch andere Möglichkeiten gibt. Wobei ich hier eigentlich nur den Raspberry "austauschen" möchte. Grund ist das mittlerweile alle Modelle von 1-3 fast gleich viel kosten und ich finde das ein RP3 dafür einfach zu viel bietet und ich mich frage ob es nicht auch günstiger geht.

Beim Zero hätte ich das Problem mit nur einem USB Anschluss, an welchen ich ja ein WLAN Stick und die USB Soundkarte anschließen muss. Desweiteren bin ich mir nicht sicher ob piCorePlayer auf dem Zero auch läuft.

Übersehe ich vielleicht noch eine Alternative? Ich möchte definitiv beim Squeezebox Modul bleiben!

Gruß

Luke2000

#1270
Hallo zusammen,

kurze Zwischenfrage:
Kann man mit dem Squeezebox Modul auch Boxen steuern, die nicht mit einem lokalen LMS verbunden sind, sondern mit mysqueezebox.com?

Ich habe versucht, das herauszubekommen und fürchte, dass es nicht geht. Ich konnte aber auch nicht alle 85 Seiten lesen...

Danke und Grüße
Luke

C0mmanda

Moin,

gibt es mit dem Modul irgendeine Möglichkeit die aktuelle Playlist abzurufen?
Also der aktuell gespielte Titel + die nächsten 10 oder 20 in der Liste?

Ich suche schon seit Stunden werde aber nicht fündig.
Entweder suche ich falsch oder ich habe ein mächtiges Brett vorm Kopf... :(

Danke für jeden Hinweis.

grtz
CmdA

Paul.baumann

Zitat von: C0mmanda am 12 Dezember 2016, 18:57:20
Moin,

gibt es mit dem Modul irgendeine Möglichkeit die aktuelle Playlist abzurufen?
Also der aktuell gespielte Titel + die nächsten 10 oder 20 in der Liste?

Ich suche schon seit Stunden werde aber nicht fündig.
Entweder suche ich falsch oder ich habe ein mächtiges Brett vorm Kopf... :(

Danke für jeden Hinweis.


grtz
CmdA

Hier ein möglicher Ansatz über cliraw_Commands. Schau dir mal das lastunknowncmd-Reading nach folgendem Befehl an:

set PlayerName cliraw playlists id

Dort findest du für die Playlisten eindeutige IDs. Mit solch einer ID dann den nächsten Befehl ausführen und wiederum lastunknowncmd beobachten.

set PlayerName cliraw playlists tracks 0 20 playlist_id:id_der_Playliste

Das Ganze müsste dann über z.B. notify, UserReading entsprechend automatisch geparst werden


Paul
FHEM auf Raspberry 3
MaxCube (V1.20.04 a-culfw) für HM, MaxCube (V1.20.04 a-culfw) für diverse Max!, NanoCul 433/868, TinyTX-Nachbauten
Multiroom: mehrere Squeezelite-Clients auf Raspberry B+ und LMS auf QNap
Huger WM918 Wetterstation integriert
Tiao-Sprinkler (Open-Sprinkler) integriert

FHEm2005

Hallo Liuke,
Zitat von: Luke2000 am 12 Dezember 2016, 14:04:23
kurze Zwischenfrage:
Kann man mit dem Squeezebox Modul auch Boxen steuern, die nicht mit einem lokalen LMS verbunden sind, sondern mit mysqueezebox.com?

Ich habe versucht, das herauszubekommen und fürchte, dass es nicht geht. Ich konnte aber auch nicht alle 85 Seiten lesen...

.. da hilft normalerweise die Suche oben rechts.  ;)

Zitat von: FHEm2005 am 16 Mai 2016, 22:58:06
Das Playermodul arbeitet mit dem Servermodul zusammen, und der lässt mometan nur die Angaben zu, die in der CommandRef aufgeführt sind. Unten in meinem Link sind die Faetures des Servers mit den möglichen Angaben beschrieben. Eine Verbindung mit mySqueezebox ist da (noch) nicht vorgesehen.

Daran hat sich auch (noch) nichts geändert.

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

FHEm2005

Hallo,

Chris schreibt:
Zitat von: ChrisD am 03 Dezember 2016, 22:37:49
4. Der sync-Befehl ist nicht auf Squeezeboxen begrenzt, er funktioniert mit allen Geräten die mit dem Server verbunden sind. Wenn du das UPNP-Plugin auf dem Server aktivierst kannst du z.B. auch Sonos-Player darüber steuern.

Dazu eine konkrete Frage:
Im UPnP-Plug-In muss für das eingebundene Gerät eine Art cfg-Datei geschrieben werden. Hat jemand hier im Forum SONOS-Boxen funktionierend eingebunden und kann die Konfiguration der UPnP/DLNA-Bridge auf einem Raspi 2+ hier als JPG-Datei  .o.ä posten?

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM