Hi,
ich habe jetzt mal in einer ruhigen minute meine 99_Utils sammlung bzgl der Erstellung meiner Medialist auf ein Modul umgestellt.
Das Modul kann auf Grundlage einer lokalen Mediathek (zb. von einem NAS per Samba auf dem FHEM Server eingebunden) durch die Menüstruktur navigieren und für das aktuelle Verzeichnis automatisch eine Playlist erstellen.
Dazu wird noch entweder ein lokal vorhandenes Cover oder ein Cover im Internet gesucht.
Die Ausgabe der Medialist ist an das TableUI Widget "MediaList" angepasst.
So wird das Modul definiert:
define <MyMediaList> MediaList <StartPfad>
define MyMediaList MediaList /media/music/
Folgende Attribute sollten gesetzt sein
- MediaList_PathReplaceFrom: Der lokal eingemountete Pfad
- MediaList_PathReplaceTo: die UNC Samba Freigabe im lokalen LAN (ohne Passwort(!)) für die mp3 Dateien
- MediaList_PathReplaceToPic: Ein öffentlicher im lokalen LAN zugänglicher pfad, per Apache oder FHEM freigegeben
- MediaList_PlayerDevice: Das Zieldevice was die Playlist abspielen kann, aktuell nur Sonos
- MediaList_PlayerStartCommand: Das Startkommando für das Zieldevice. Der PLatzhalter <file> wird beim Start durch den Pfad der generierten m3u Datei ersetzt
Mit "set <MediaList> Play" wird die aktuelle Playliste dem Zieldevice übergeben und angestartet
Hier eine Beispielconfig:
MediaList_PathReplaceFrom /media/music/
MediaList_PathReplaceTo \\NAS/music/
MediaList_PathReplaceToPic https://192.168.10.30/music/
MediaList_PlayerDevice sonos_Wohnzimmer
MediaList_PlayerStartCommand StartPlaylist file:<file>
Die Bilder zeigen den RealLife Einsatz. Übrigens: Ein sehr hoher WAF Faktor! Ich setze diese Funktionalität auf meinem FHEM Tablet schon ca 6 Monate ein.
EDIT: Wikieintrag gibts auch: https://wiki.fhem.de/wiki/MediaList
MediaList Modul aktualisiert am 15.02.17
Hallo Tobias,
ich möchte mein Tablet UI auch zur Stuerung meines Sonos Systems nutzen und dabei auf meine MP3-Sammlung von meinem NAS zugreifen.
Dein Modul 98_MediaList.pm habe ich runtergeladen, brauche aber noch etwas Starthile....
Was ich bisher gemacht habe...
erforderliche Module nach installiert:
sudo apt-get install libmp3-tag-perl
sudo apt-get install libjson-xs-perl
sudo apt-get install libmp3-info-perl
sudo apt-get install libmath-round-perl
sudo mkdir /media/music
define MyMediaList MediaList /media/music/
attr MyMediaList MediaList_PathReplaceFrom /media/music/
attr MyMediaList MediaList_PlayerDevice Sonos_Wohnzimmer
attr MyMediaList MediaList_PlayerStartCommand StartPlaylist file:<file>
Nun dachte ich über den Pfas /media/music soll auf meinem NAS zugegriffen werden also habe ich mein Media-Verzeichnis gemounted.
sudo mount -t cifs -o user=xxxx,password=yyyy,rw,file_mode=0777,dir_mode=0777 //192.168.178.4/Mulitmedia/Musik /media/music/
Eigentlich sollte ja eine UNC Samba Freigabe ohne Paswd erstellt werden.
Muss man dazu einen neuen Abschnitt in die smb.conf des Raspberry eintragen oder muss hier am NAS "geschraubt" werden?
sudo nano /etc/samba/smb.conf
Die folgenden attr habe ich noch nicht gesetzt, da mir nicht ganz klar ist was ich jetzt tun soll..
MediaList_PathReplaceTo \\NAS/music/
MediaList_PathReplaceToPic https://192.168.10.30/music/
Ich hoffe du kannst mich noch etwas unterstützen..
Interessant wäre auch dein Tablet-UI Konfiguration?
Gruß Manuel
Hi,
du must am NAS dein Music Verzeichnis ohne Passwort freigeben. Am besten nur lesend ;) und auch nur im internen LAN ;)
Das gilt aber nur im Falle eines Sonos da das ein eigenes Device ist und dort keine Möglichkeit der Eingabe einer Zugangsbeschränkung gibt, ich gab sie jedenfalls noch nicht gefunden. Beim Sonos wird nur die Playliste in das sonosdevice geladen, danach greibt das Sonos selbst suf das NAS zu, FHEM ist hier raus ;)
Nutzt du einen (oder mehrere) MPD auf dem FHEM Server musst du die attribute anders setzen, schau mal ins Wiki da ist ein Beispiel.
Da Attribut ReplaceFrom macht nur sinn in Verbindung mit einem/bedien ReplaceTo.
Zb., bei Sonos, dein Sonos kennt nicht den Pfad /media/music/bla/blub/song.mp3. Sondern es kennt nur: \\192.168.178.4/Multimedia/Musik/bla/blub/song.mp3
Also lautet dein ReplaceTo: \\192.168.178.4/Multimedia/Musik/
Das ReplaceToPic ist deshalb da, weil man keine Bild-URL als UNC-Freigabe übergeben kann ;)
Hier geht nur eine URL, absolut als vollwertiger Pfad.
Das brauchst du aber nur, wenn du Cover zu deinen Alben auch im NAS hast.
Ich hoffe das Hilft
Hallo Tobias,
danke für deine Rückmeldung.
Ich habe nun auf meinem QNAP das Multimedia Verzeichnis für jedermann lesbar gemacht.
Automatisch wird das Multimediaverzeichnis dem Raspberry verfügbar gemacht, hierzu habe ich das File fstab mit folgender Zeile ergäntz.
sudo nano /etc/fstab
//192.168.178.4/Multimedia/Musik/ /media/music/ cifs username=xxx,password=yyy,iocharset=utf8,sec=ntlm 0 0
ein ls -l ergbit dann folgendes
drwxr-xr-x 2 root root 0 Jan 15 2012 ABBA
drwxr-xr-x 2 root root 0 Jan 11 2012 ACDC
drwxr-xr-x 2 root root 0 Jul 31 2016 Adele
drwxr-xr-x 2 root root 0 Oct 3 2013 Adriano Celentano
drwxr-xr-x 2 root root 0 Dec 10 2011 Aerosmith
drwxr-xr-x 2 root root 0 Dec 11 2011 Alanis Morissette
drwxr-xr-x 2 root root 0 Dec 10 2011 Alannah Myles
drwxr-xr-x 2 root root 0 Aug 23 2014 Alle Farben feat Graham Candy
drwxr-xr-x 2 root root 0 Sep 17 20:54 Amy MacDonald
ein list ergibt folgendes
Internals:
DEF /media/music/
NAME MyMediaList
NR 2487
ROOT /media/music/
STATE ???
TYPE MediaList
Attributes:
MediaList_PathReplaceFrom /media/music/
MediaList_PathReplaceTo \\192.168.178.4/Multimedia/Musik/
MediaList_PlayerDevice Sonos_Wohnzimmer
MediaList_PlayerStartCommand StartPlaylist file:<file>
room Sonos
ein
set MyMediaList Play
führt nach einigen Sekunden zum Absturz von FHEM...
Fehlt hier nun die TabletUI Konfiguration?
Gruß Manuel
Ich habe den WikiArtikel nochmal gründlich erweitert.
Bzgl Absturz hilft immer das Log, bzw der Fehler auf der Konsole.
Bitte starte fhem von der Konsole aus "service fhem stop; service fhem start" und provoziere den Fehler/Absturz. Spätestens jetzt solltest du etwas im Log bzw auf der Konsole sehen.
Hallo Tobias,
ich habe nun die 98_MediaList.pm die du gestern in einem anderen Thread veröffentlicht hast in Verwendung.
Zusätzlich habe ich noch
MediaList_mkTempCopy none
verwendet wie im aktualisierten Wiki Eintrag zu entnehmen war.
nun tut sich was:
Internals:
DEF /media/music/
NAME MyMediaList
NR 2487
ROOT /media/music/
STATE ???
TYPE MediaList
Readings:
2017-02-07 11:39:10 CurrentDir /media/music/
2017-02-07 11:39:10 FolderContent *AA_Kinder:*AA_LISA:*ABBA:*ACDC:*Adele:*Adriano Celentano:*Aerosmith:*Alanis Morissette: ....
2017-02-07 11:39:10 SelectedItem /
2017-02-07 11:39:10 currentdir_playlist []
2017-02-07 11:39:10 currentdir_playlistduration 0
Helper:
Attributes:
MediaList_PathReplaceFrom /media/music/
MediaList_PathReplaceTo \\192.168.178.4/Multimedia/Musik/
MediaList_PlayerDevice Sonos_Wohnzimmer
MediaList_PlayerStartCommand StartPlaylist file:<file>
MediaList_mkTempCopy none
room Sonos
Ich habe angenommen mit einem
set MyMediaList RequestedDirectory /
landet man im Hauptverzeichnis und kann sich einen Ordner wählen. Das funktioniert aber nicht.
Der State steht noch immer auf ???
Mache ich hier noch etwas falsch?
Wirst du noch eine Tablet UI-Konfiguration für Sonos veröffentlichen ?
Gruß Manuel
DAs Root ist dein Pfad aus der Definition. Also wenn du nach / wechselst bist du im Root des Moduls, hier /media/music ;)
Der State des ML Devices ist uninteressant und undefiniert... (noch)
Was passiert wenn du ein "Play current" machst wenn dein currentdir_playlist" gefüllt ist?
Heißt dein Sonos Dev auch sonos_wohnzimmer?
Für sonos muss das so heißen:
attr <ML> MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
Hallo Tobias,
attr <ML> MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
habe ich eingestellt.
ich habe jetzt nacheinander ..
set MyMediaList RequestedDirectory /
set MyMediaList RequestedDirectory /ACDC
set MyMediaList RequestedDirectory ACDC
eingegeben. Der Inhalt dieses Unterordners wird auch angezeigt
Internals:
DEF /media/music/
NAME MyMediaList
NR 2487
ROOT /media/music/
STATE ???
TYPE MediaList
Readings:
2017-02-07 12:14:32 CurrentDir /media/music//ACDC
2017-02-07 12:14:32 FolderContent Back:ACDC - Back In Black.mp3:ACDC - For Those About To Rock.mp3:ACDC - Hells Bells.mp3:ACDC - Highway to hell.mp3:ACDC - Who made who.mp3:ACDC - Whole Lotta Rosie.mp3
2017-02-07 12:14:32 SelectedItem /media/music//ACDC/ACDC
2017-02-07 12:14:34 currentdir_playlist [{"Artist":"ACDC","Album":"","Title":"Back in Black","Time":254,"File":"/media/music//ACDC/ACDC - Back In Black.mp3"},{"Artist":"ACDC","Title":"For Those About To Rock","Album":"","Time":345,"File":"/media/music//ACDC/ACDC - For Those About To Rock.mp3"},{"Artist":"ACDC","Album":"Who Made Who","Title":"Hells Bells","File":"/media/music//ACDC/ACDC - Hells Bells.mp3","Time":314},.....}]
2017-02-07 12:14:34 currentdir_playlistduration 1654
Helper:
Attributes:
MediaList_PathReplaceFrom /media/music/
MediaList_PathReplaceTo \\192.168.178.4/Multimedia/Musik/
MediaList_PlayerDevice Sonos_Wohnzimmer
MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
MediaList_mkTempCopy none
room Sonos
Die Readings sehen allerdings etwas seltsam aus..
SelectedItem /media/music//ACDC/ACDC
CurrentDir /media/music//ACDC
sieht so aus als wenn bei jeder Abfrage ein zusätzlicher Inhalt angehängt wird. Ich nehme an das ist der Grund warum bei
set MyMediaList Play currentdir
nichts passiert.
Gruß Manuel
das war falsch:
set MyMediaList RequestedDirectory /ACDC
Bitte nur die Werte aus dem FolderContent Reading benutzen...
Also wäre das richtig gewesen:
set MyMediaList RequestedDirectory ACDC
Bitte überprüfe, ob die Datei Sonos_Wohnzimmer.m3u im Ordner cache/ unterhalb deines FHEM Verzeichnisses existiert.
Wenn ja, ob der Inhalt korrekt ist. Wenn auch ja, bitte f+hre das Startcommand über dein Sonos Device selbst mal aus
set Sonos_Wohnzimmer StartPlaylist cache/Sonos_Wohnzimmer.m3u
Hallo Tobias,
das File Sonos_Wohnzimmer.m3u ist wie beschrieben vorhanden und funktioniert, wenn ich es mit einem Media Player probiere.
Das Startkommando zeigt aber keine Reaktion.
LG Manuel
Check mal mit verbose=4 was im LOg steht wenn du im ML Dev auf "Play current" drückst.
Kannst auch mal verbose=5 probieren. Das komplette Command sollte im Log auftauchen, bitte mal manuell absetzen. Ev. Gross/Kleinschreibung??
Da bin ich gerade ratlos da es bei mir funktioniert.
Hallo Tobias,
im Logfile steht ...
2017.02.07 22:20:29 5: MediaList: Starte Player mit: set Sonos_Wohnzimmer StartPlaylist file:cache/Sonos_Wohnzimmer.m3u
das schaut für mich korrekt aus.
merkwürdig finde ich nur diese Readings mit dem doppelten "/":
Readings
CurrentDir /media/music//ABBA
FolderContent Back:*Gold:*Thank You for the Music (4 of 4)
SelectedItem /media/music//ABBA
currentdir_playlist []
currentdir_playlistduration 0
Gruß Manuel
Ich habe in meinem Logfile aber verschiedene Fehlermeldungen im Zusammenhang mit Sonos gefunden. Ich werde erstmal versuchen diese zu lösen bevor ich mich wieder melde. Die tauchen vor und nach dem abgesetzten Kommando auf...
Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 13.
2017.02.07 22:24:52 1: SONOS13: Rendering-Service-subscribing NOT successful
2017.02.07 22:25:23 1: SONOS13: Service-subscribing not possible due to missing TransportService
Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 13.
2017.02.07 22:25:23 1: SONOS13: Rendering-Service-subscribing NOT successful
2017.02.07 22:25:23 1: SONOS13: Service-subscribing not possible due to missing TransportService
Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 13.
2017.02.07 22:25:23 1: SONOS13: Rendering-Service-subscribing NOT successful
2017.02.07 22:25:24 1: SONOS13: Service-subscribing not possible due to missing TransportService
Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 13.
2017.02.07 22:25:24 1: SONOS13: Rendering-Service-subscribing NOT successful
2017.02.07 22:25:24 1: SONOS13: Service-subscribing not possible due to missing TransportService
Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 13.
2017.02.07 22:25:24 1: SONOS13: Rendering-Service-subscribing NOT successful
Hallo Tobias,
versuche mich gerade an deiner FTUI version aus dem Wiki und hätte noch eine Frage dazu.
Welche devices sind die beiden Parameter die du hier übergibst?
<body>
<div class="page" id="musik-dg-settings">
<div data-template="template_musik_mpd_settings.html"
data-parameter='{"MPD_par_device":"MPD_DG",
"ML_par_device":"ML_MPD_DG"}'>
</div>
</div>
</body>
Ist das so korrekt?
data-parameter='{"MPD_par_device":"MPD1",
"ML_par_device":"MyMediaList"}'>
Sieht übrigends gut aus!
Versuche gerade eine Bose Soundtouch als Player zu nutzen.
Gruß
Eisix
Das ist korrekt, ML = Medialist
Der obige parameter ist das Zieldevice, der untere Parameter die zugehörige Medialist
hallo,
und danke für das tolle Modul.
jedoch funktioniert bei mir die Übergabe an MPD nicht.
Ich kann auch, die im WIKI aufgeführten, Attribute(mit +++ gekennzeichnet) nicht setzen.
EDIT: Dieser Punkt hat sich erledigt. (neues Modul installiert)
+++ MediaList_CacheFileDir /var/lib/mpd/playlists/ +++
MediaList_PathReplaceFrom /media/music/
MediaList_PathReplaceToPic https://192.168.10.30/music/
MediaList_PlayerDevice MPD_KiZi
+++ MediaList_mkTempCopy symlink +++
habe mein MPD so definiert
define myMPD MPD
attr myMPD devStateIcon play:rc_PLAY:stop stop:rc_STOP:play pause:rc_PAUSE:pause
attr myMPD icon it_radio
attr myMPD loadPlaylists 1
attr myMPD room Server
attr myMPD titleSplit 1
und MediaList so:
define MyMediaList MediaList /media/pi/SSD
attr MyMediaList MediaList_PathReplaceFrom /cache
attr MyMediaList MediaList_PathReplaceTo /media/pi/SSD
attr MyMediaList MediaList_PathReplaceToPic /cache
attr MyMediaList MediaList_PlayerDevice myMPD
attr MyMediaList MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
attr MyMediaList verbose 4
wenn ich jetzt in Tabletui oder im Webif bei MediaList auf play drücke, passiert nichts.
des Weiteren ist mir aufgefallen, dass ich nicht in Verzeichnisse wechseln kann die Leerzeichen enthalten.(EDIT: erledigt)
vielleicht hat ja jemand einen Tip für mich was ich falsch mache.
mfg
So, habe es hinbekommen.
Hatte ein anderes Modul MediaList heruntergeladen, aus folgendem Fred https://forum.fhem.de/index.php/topic,53863.msg578201.html#msg578201
.
Mit dem klappte die Übergabe der Playlist an MPD nicht.
Habe jetzt das Modul aus diesem Fred installiert und die Übergabe der Playlist klappt.
Nun besteht nur wieder das Problem, dass in keine Ordner gewechselt werden kann, die Leerzeichen erhalten.
Mfg
Hi,
ich habe im ersten Post das Modul nochmal aktualisiert. Bitte nimm mal das.
Ich habe gerade getestet, übergabe MPD klappt, Leerzeichen in Verzeichnispfaden klappt auch.
Wenn die Übergabe an den MPD nicht klappt, musst du genau sagen wo was nicht funktioniert.
Was ist als CacheFileDir definiert?
Was steht in diesem Folder drin nachdem du auf "Play currentdir" gedrückt hast?
Was steht in m3u Datei drin?
Wie ist der MPD konfiguriert?
Was gibt der MPD bei einem "get playlists" aus?
Hast du dich an den Wikiartikel gehalten?
Huhu,
hab das sehr interessantes Modul eingebaut und soweit funktioniert es jetzt über ein gemountetes Verzeichnis vom NAS.
Jedoch macht das FTUI 2.6.2 Probleme, kannst du mal schauen?
Mahlzeit,
ich versuche seit Stunden das Plugin zum funktionieren zu bewegen doch leider will es nicht klappen... :(
Ich versuche MediaList mit einem MPD-Player zu verwenden.
Das einlesen usw scheint auch gut zu funktionieren.
Ich bekomme die Ordnerstruktur, die Playlist-Readings, eben alles wie es sein soll.
Der MPD-Player für sich genommen funktioniert auch.
Wenn ich jedoch die Playlist übergeben will (set <MediaList> Play playlist) stürzt FHEM sofort ab.
Im Log, auch mit verbose 4, steht nur:
Can't use an undefined value as a symbol reference at ./FHEM/98_MediaList.pm line 313.
Eine Idee wo ich hier ansetzen kann?
Danke!
gruß
CmdA
Konnte das Problem nun lösen, der Fehler lag in falschen Zugriffsrechten.
Leider bin ich nur einen kleinen Schritt weiter denn funktionieren tut es noch immer nicht.
Die Playlist wird nicht (korrekt) an MPD weitergegeben.
Die Musik ist auf dem MPD-Device unter /storage/music erreichbar.
Medialist ist wie folgt eingerichtet:
define MyMediaList /media/music
Attribute:
attr MyMediaList MediaList_CacheFileDir /opt/fhem/cache/
attr MyMediaList MediaList_PathReplaceFrom /media/music/
attr MyMediaList MediaList_PathReplaceTo /storage/music/
attr MyMediaList MediaList_PathReplaceToPic /storage/music/
attr MyMediaList MediaList_PlayerDevice MPD_Kueche
attr MyMediaList MediaList_mkTempCopy symlink
Die Readings werden alle korrekt befüllt, bis hin zum playlist_json im MPD-Device.
Leider kann der MPD aber nichts abspielen, ich bekomme die Fehlermeldung "Bad Song Index".
Aufgefallen ist mir das im playlist_json Reading der Pfad nicht geändert ist. Dort steht weiterhin /media/music/.
Ich vermute es müsste hier bereits /storage/music sein.
Im Cache-Verzeichnis von FHEM wird die Playlist befüllt, allerdings mit dem Inhalt:
MyMediaList_Volbeat 13 Thanks.mp3
MyMediaList_Volbeat 04 Fallen.mp3
MyMediaList_Volbeat 10 Magic Zone.mp3
MyMediaList_Volbeat 08 16 Dollars.mp3
MyMediaList_Volbeat 02 Heaven Nor Hell.mp3
MyMediaList_Volbeat 05 A Better Believer.mp3
MyMediaList_Volbeat 03 Who They Are.mp3
MyMediaList_Volbeat 06 7 Shots.mp3
MyMediaList_Volbeat 09 A Warrior's Call.mp3
MyMediaList_Volbeat 12 Being 1.mp3
MyMediaList_Volbeat 11 Evelyn.mp3
MyMediaList_Volbeat 07 A New Day.mp3
MyMediaList_Volbeat 01 The Mirror And The Ripper.mp3
Weiterhin befinden sich dann im cache-Verzeichnis symlinks wie folgt:
MyMediaList_Volbeat 02 Heaven Nor Hell.mp3 -> /media/music/Volbeat/Beyond Hell - Above Heaven - 2010/Volbeat 02 Heaven Nor Hell.mp3
Auf dem MPD-Device selbst wird keine Playlist erstellt/gefüllt.
MPD ist gemäß Wiki konfiguriert:
auto_update "yes"
save_absolute_paths_in_playlists "no"
follow_outside_symlinks "yes"
filesystem_charset "UTF-8"
In der mpd.conf muss das Musik-Verzeichnis und das PlaylistVerzeichnis identisch sein.
Bin mit meinem Latein im Moment am Ende... :(
Bin für jede Hilfe dankbar!
gruß
CmdA
Hi,
ich hab die files wie im wiki angegeben angelegt, krieg aber keine Anzeige.
wenn ich im template direkt den mpd/medialist angebe, seh ich zumindest die frames und knöpfchen...
kann einer mal eine junktionierende file-struktur der 2/3-Dateien reinhängen.
Greets!
Zitat von: Petrosilius Zwackelmann am 06 Februar 2017, 21:12:38
ein
set MyMediaList Play
führt nach einigen Sekunden zum Absturz von FHEM...
hab ich auch bei mir
foldendes def bei mir:
define MyMediaList MediaList /media/data_server/music/
attr MyMediaList MediaList_CacheFileDir /media/data_server/music/____fhemTmp/
attr MyMediaList MediaList_PathReplaceFrom /media/data_server/music/
attr MyMediaList MediaList_PlayerDevice KnopfMPD
attr MyMediaList MediaList_mkTempCopy symlink
die tablet_ui hab ich irgendwie jetzt,
so ganz klappt die Anzeige bei mir noch nicht, die listen werden rechts/links hinsichtlich des aktuellen verzeichnisses nicht befüllt
ich hab die mal angehängt
Zitat von: Tobias am 15 Februar 2017, 12:10:47
Hi,
ich habe im ersten Post das Modul nochmal aktualisiert. Bitte nimm mal das.
Ich habe gerade getestet, übergabe MPD klappt, Leerzeichen in Verzeichnispfaden klappt auch.
Wenn die Übergabe an den MPD nicht klappt, musst du genau sagen wo was nicht funktioniert.
Was ist als CacheFileDir definiert?
Was steht in diesem Folder drin nachdem du auf "Play currentdir" gedrückt hast?
Was steht in m3u Datei drin?
Wie ist der MPD konfiguriert?
Was gibt der MPD bei einem "get playlists" aus?
Hast du dich an den Wikiartikel gehalten?
Hallo,
Es klappt jetzt alles wie gewünscht.
Danke für die Hilfe.
Mfg
Hi,
Also bei einem mpd muss das replaceto Attribut auf das in mpd definierte music Verzeichnis zeigen. Wie im Wiki beschrieben muss das das music und playlist Verzeichnis dasselbe sein.
Gesendet von meinem Leap mit Tapatalk
Also ich versuche seit 2 Tagen das Modul ans laufen zu bekommen aber es will einfach nicht klappen.... (siehe 5 Postings weiter oben).
Irgendwo liegt noch ein Fehler, es kommt einfach keine Playlist bei MPD an.
Müssen noch irgendwelche speziellen Dateirechte beachtet werden?
Wie wird die Playlist überhaupt an MPD übertragen?
Zitat von: C0mmanda am 19 Februar 2017, 20:32:41
Also ich versuche seit 2 Tagen das Modul ans laufen zu bekommen aber es will einfach nicht klappen.... (siehe 5 Postings weiter oben).
Irgendwo liegt noch ein Fehler, es kommt einfach keine Playlist bei MPD an.
Müssen noch irgendwelche speziellen Dateirechte beachtet werden?
Wie wird die Playlist überhaupt an MPD übertragen?
Also, nun mal zu dir: Das cachefiledir muss dementsprechend auch auf /storage/music zeigen.
Das replaceTo benötigst du nicht
technisch fuktioniert es beim MPD so:
1. Die abzuspielenden mp3s werden in das CachefileDir = MPD MusicDir per symlink gelegt. Damit sind sie für den MPD zugreifbar
2. Die Dateien werden ohne Pfad in die Playlist Datei m3u aufgenommen. Die Playlist liegt ebenfalls im CachefileDir = MPD PlaylistDir
3. Der MPD kann nun auf die Playliste und auf die Dateien zugreifen und spielt sie ab
Zitat von: Tobias am 21 Februar 2017, 13:35:34
Also, nun mal zu dir: Das cachefiledir muss dementsprechend auch auf /storage/music zeigen.
Das replaceTo benötigst du nicht
technisch fuktioniert es beim MPD so:
1. Die abzuspielenden mp3s werden in das CachefileDir = MPD MusicDir per symlink gelegt. Damit sind sie für den MPD zugreifbar
2. Die Dateien werden ohne Pfad in die Playlist Datei m3u aufgenommen. Die Playlist liegt ebenfalls im CachefileDir = MPD PlaylistDir
3. Der MPD kann nun auf die Playliste und auf die Dateien zugreifen und spielt sie ab
Danke für die Erläuterung.
Ich denke dann weiß ich auch wo das Problem liegt.
Der MPD-Player läuft auf einem anderen Client als FHEM. Da kann dein Plugin natürlich nicht einfach in das MPD-music-dir schreiben.
Ich dachte die Playlist wird per JSON oder sowas übertragen...
Denke das kann ich nur lösen wenn ich das MPD-music-dir auf dem FHEM-Client mounte.
Melde mich wenn ich das ausprobieren konnte :)
Danke!
grtz
Zitat von: knopf_piano am 18 Februar 2017, 20:48:24
hab ich auch bei mir
so ganz klappt die Anzeige bei mir noch nicht, die listen werden rechts/links hinsichtlich des aktuellen verzeichnisses nicht befüllt
Wenn fhem abstürzt, passen meinstens die Berechtigungen des cacheFileDirs nicht. Das habe ich leider noch nicht mit einem eval abgefangen.
Wenn das TabletUI leer bleibt, müssen auch die Readings "playlist_current" und "playlist" im MediaList-Device leer bleiben. "playlist_current" bleibt nur dann leer wenn im aktuell gewählten Verzeichnis keine *.mp3" Dateien gefunden werden
Ich habs nun ENDLICH hinbekommen.
Musik liegt auf einem NAS:
MPD-Device (RasPi): Musiklaufwerk gemountet auf "storage/music".
FHEM-Device (Intel NUC): Musiklaufwerk ebenfalls gemountet auf "storage/music".
(Die richtigen Schreibrechte haben mir etwas zu schaffen gemacht :( )
Es funktioniert auch nur wenn ich auf beiden Devices die gleiche Ordnerstruktur beim mounten verwende.
MyMedialist attr cacheFileDir /storage/music/
MyMediaList attr PlayerCommand playlist KUE_MPD
MyMedialist attr mkTmpCopy none
Damit funktioniert es nun endlich.
Schick wäre jetzt noch wenn auch *.m4a Dateien unterstützt würden, da habe ich nämlich einige von.
Wäre das möglich?
gruß
CmdA
Hi,
ZitatEs funktioniert auch nur wenn ich auf beiden Devices die gleiche Ordnerstruktur beim mounten verwende.
Eigentlich nicht, du musst natürlich die MediaList Definition und das Cachefiledir anpassen.
Bei Sonos Geräten ist das einfacher... die können echte UNC Pfade....
m4a Dateien gehen auch mit anpassung, ungetestet:
Suche mal nach
return undef if ($file !~ m/\.mp3$/i); # keine mp3 Endung
ersetze durch
return undef if ($file !~ m/(\.mp3|\.m4a)$/i); # keine mp3/m4a Endung
Allerdings weiß ich dann nicht, wie sich die genutzten mp3 Bilbliotheken verhalten
use MP3::Tag;
use MP3::Info;
Zitat von: Tobias am 22 Februar 2017, 08:58:15
Hi,Eigentlich nicht, du musst natürlich die MediaList Definition und das Cachefiledir anpassen.
Bei Sonos Geräten ist das einfacher... die können echte UNC Pfade....
Klingt natürlich einleuchtend.
Da es so aber jetzt läuft mag ich es ehrlich gesagt auch nicht mehr testen ;)
Zitat
m4a Dateien gehen auch mit anpassung, ungetestet:
Suche mal nach
return undef if ($file !~ m/\.mp3$/i); # keine mp3 Endung
ersetze durch
return undef if ($file !~ m/(\.mp3|\.m4a)$/i); # keine mp3/m4a Endung
Allerdings weiß ich dann nicht, wie sich die genutzten mp3 Bilbliotheken verhalten
use MP3::Tag;
use MP3::Info;
Habs eingebaut und es läuft aktuell problemlos.
Sollte es doch noch zu zicken kommen melde ich mich.
Bis hierher: VIELEN DANK!
Nu mal alles in die FTUI schrauben :)
grtz
cmdA
Guten Abend alle zusammen.
und zwar habe ich eine Problem/Frage.
Meine Musik liegt nach folgendem Schema da:
- /Artist/Albmum/Tittelnummer. Liedname
- /Artist/Albmum/Tittelnummer - Liedname
- /Artist/Albmum/Tittelnummer Liedname
Leider stimmt die die Playlist nicht mit der Tittelnummer überein.
[{"Title":"Why Oh Why","Artist":"ATC","Time":238,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/7 - Why Oh Why.mp3","Album":"Planet Pop"},{"Artist":"ATC","Title":"Notte D'Amore Con Te","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":249,"File":"/music/ATC/Planet Pop/10 - Notte D'Amore Con Te.mp3","Album":"Planet Pop"},{"File":"/music/ATC/Planet Pop/5 - Until.mp3","Album":"Planet Pop","Title":"Until","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":233},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/16 - With You.mp3","Time":233,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Title":"With You","Artist":"ATC"},{"Title":"Lonesome Suite","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":72,"File":"/music/ATC/Planet Pop/14 - Lonesome Suite.mp3","Album":"Planet Pop"},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/4 - Thinking Of You.mp3","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":228,"Artist":"ATC","Title":"Thinking Of You"},{"File":"/music/ATC/Planet Pop/3 - My Heart Beats Like A Drum (Dam Dam Dam).mp3","Album":"Planet Pop","Title":"My Heart Beats Like A Drum (Dam Dam Dam)","Artist":"ATC","Time":225,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg"},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/6 - Mistake No. 2.mp3","Time":251,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Title":"Mistake No. 2","Artist":"ATC"},{"File":"/music/ATC/Planet Pop/1 - Introducing ATC.mp3","Album":"Planet Pop","Artist":"ATC","Title":"Introducing ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":41},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/9 - So Magical.mp3","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":221,"Artist":"ATC","Title":"So Magical"},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/13 - Lonely.mp3","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":231,"Artist":"ATC","Title":"Lonely"},{"Title":"Without Your Love","Artist":"ATC","Time":205,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/8 - Without Your Love.mp3","Album":"Planet Pop"},{"Album":"Planet Pop","File":"/music/ATC/Planet Pop/19 - Around The World (Stian K Remix) .mp3","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":258,"Artist":"ATC","Title":"Around The World (Stian K Remix)"},{"Title":"Love Is Blind","Artist":"ATC","Time":186,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/15 - Love Is Blind.mp3","Album":"Planet Pop"},{"File":"/music/ATC/Planet Pop/18 - My Heart Beats Like A Drum (Dam Dam Dam) (international radio edit).mp3","Album":"Planet Pop","Title":"My Heart Beats Like A Drum (Dam Dam Dam) (international radio edit)","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":237},{"Title":"Heartbeat Outro","Artist":"ATC","Time":73,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/17 - Heartbeat Outro.mp3","Album":"Planet Pop"},{"File":"/music/ATC/Planet Pop/11 - Mind Machine.mp3","Album":"Planet Pop","Title":"Mind Machine","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":221},{"File":"/music/ATC/Planet Pop/2 - Around The World (La La La La La).mp3","Album":"Planet Pop","Title":"Around The World (La La La La La)","Artist":"ATC","Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","Time":218},{"Artist":"ATC","Title":"Let Me Come & Let Me Go","Time":199,"Cover":"/music/ATC/Planet Pop/ATC - Planet Pop (2001) front.jpg","File":"/music/ATC/Planet Pop/12 - Let Me Come & Let Me Go.mp3","Album":"Planet Pop"}]
Was kann ich dagegen unternehmen?
Danke für eure Hilfe
dann sind deine mp3 Tags krumm und schief... Die Playlist wird aus den mp3 Tags aufgebaut und nicht nach dem Namen des files ;)
achso die Reihenfolge ist die sortierte Liste der Dateinamen im Dateisystem
Edit, änder mal bitte folgende Zeile (ca. Zeile Nr. 753) in 98_Medialist.pm
alt: while(my $filename = readdir($dh)) {
neu: while(my $filename = sort { $a <=> $b } readdir($dh)) {
Ok,
habe jetzt den Ordner mal über MP3TAG gelesen. die Tracknummerierung passt. Bild angehängt.
Was jetzt?
mach mal die Codeänderung, siehe vorherigen beitrag
Geht leider nicht
Logfile:
2017.02.25 14:10:17.769 1: PERL WARNING: Useless use of sort in scalar context at ./FHEM/98_MediaList.pm line 752.
Kann keine Ordner mehr auswählen
dann muss ich nochmal eine bessere Lösung suchen... dauert aber, bin das WE ausgelastet ;) und die nächste Woche auf Seminar....
Vieleich hat ja jemand einen schnellen Vorschlag zur Lösung..
ok, danke aber schonmal für deine Hilfe. Werde ja erstmal nicht daran sterben ;).
Angenehmes Restwochenende Euch/Dir
@Tobias
Nochmal ein kleines Feedback bezgl. .m4a Dateien:
Grundsätzlich funktioniert alles mit der kleinen Code-Änderung problemlos, lediglich die Dauer der Tracks wird falsch angezeigt. (z.B. im FTUI-medialist widget).
Evtl. kannst du da noch was machen.
Die gleichen Tracks werden mit der korrekten Spieldauer im FTUI-medialist-widget angezeigt wenn die Playlist vom MPD-Device ausgelesen wird. Grundsätzlich ist also der korrekte Umgang mit .m4a möglich.
Wie man das jetzt aber in dein Modul bekommt übersteigt leider meine Fähigkeiten :(
grtz
Hallo Tobias,
bin gerade dabei mir eine kleine Testoberfläche mit Tablet UI zu bauen, und ich würde gerne deine Sonosplayer Steuerung übernehmen. Zunächst mal nur den linken Bereich aus deinem Screenshot, ohne die MediaList-Option, darum kümmere ich mich später :)
Besteht die Möglichkeit, dass du kurz deinen HTML-Schnipsel für diese Steuerung hier posten könntest?
Danke schon mal im Vorraus...
Grüße
Reiner
Natürlich, ich hoffe ich komme morgen zum Posten des codeschnipsels. Bzw werde ich das Wiki ergänzen
Gesendet von meinem Leap mit Tapatalk
Hallo,
Ich versuche das ganze an die Bose Soundtouch anzupassen. Hat schon jemand Versuche in die Richtung gemacht?
Gruß
Eisix
Ist noch nicht ganz umgestellt. In die settings kommt man über das Wettersymbol rechts neben der Lautstärke
Hi Tobias,
danke für die Vorlage. Ich habe mir daraus jetzt ein eigenes abgeleitet...
Grüße
Reiner
ab sofort über Fhem Update verteilt
Hallo,
Ist es möglich, die Cover von Internet-Radio-Streams anzuzeigen?
Im Wiki steht ja wie lokale Cover behandelt werden, jedoch klappt es irgendwie nicht bei Radiostreams.
Habe meine Radiostreams in einem extra Ordner abgelegt(***.m3u) und passende Cover gespeichert.
Jedoch werde diese anscheinend ignoriert.
Mit freundlichen Grüßen
es geht hier ja auch nur um *.mp3 Dateien ;)
da ich hier keine Rückmeldung bekomme gehe ich mal davon aus das alles tut wie es soll?
Hallo,
komme irgendwie nicht weiter, es wird eine Playlist erstellt im mpd-player auch angezeigt "WebRadio.m3u" aber nach der Auswahl kommt:
MPD_Msg ACK ERROR [2@3] {play} Bad song index
meine Einstellungen sind:
Internals:
DEF /media/music/
NAME MyMediaList
NR 208
ROOT /media/music/
STATE ???
TYPE MediaList
Readings:
2017-03-14 18:19:38 CurrentDir /media/music//Barfuss
2017-03-14 18:19:38 FolderContent Back:Absolutely Entertaining .mp3:And I Feel Piano.mp3:And I Feel.mp3:Barefoot.mp3:Barfuss.txt:Don't Leave Home.mp3:Drei Tage.mp3:Electric.mp3:End Of The Road.mp3:Free Floating.mp3:Get Ready.mp3:Good Times.mp3:Got Me Swinging.mp3:Hallelujah.mp3:Hope.mp3:Ich Habe Sein Herz Gehört.mp3:It's Alright (2).mp3:It's Alright.mp3:Leilas Theme Part 1.mp3:Leilas Theme Part 2.mp3:Shaking That Boogie.mp3:Smile.mp3:Still Falling.mp3:The Day Has Come.mp3:This Is The Day.mp3:Walk With Me.mp3:White Sands.mp3
2017-03-14 18:19:38 SelectedItem /media/music//Barfuss
2017-03-14 18:19:44 currentdir_playlist [{"Album":"Barfuss","Artist":"Music","Cover":"http://is1.mzstatic.com/image/thumb/Video/v4/20/6f/96/206f968b-2caa-2179-df7c-755423975f77/source/100x100bb.jpg","Title":"Still Falling","Time":213,"File":"/media/music//Barfuss/Still Falling.mp3"},{"Time":126,"Title":"The Day Has Com..........................
..................{"File":"/media/music//Barfuss/Smile.mp3","Title":"Smile","Time":195,"Cover":"http://is1.mzstatic.com/image/thumb/Video/v4/20/6f/96/206f968b-2caa-2179-df7c-755423975f77/source/100x100bb.jpg","Album":"Barfuss","Artist":"Music"}]
2017-03-14 18:19:44 currentdir_playlistduration 3625
Helper:
Attributes:
MediaList_CacheFileDir /var/lib/mpd/playlists/
MediaList_PathReplaceFrom /media/music/
MediaList_PlayerDevice WebRadio
room WZ
WebRadio:
Internals:
DeviceName 127.0.0.1:6600
HOST 127.0.0.1
IPID 722
NAME WebRadio
NR 206
PORT 6600
PRESENCE present
STATE stop
SUBVERSION 19
TIMEOUT 2
TYPE MPD
VERSION 0.19.0
Readings:
2017-03-14 18:34:16 Album
2017-03-14 18:34:13 Artist
2017-03-14 18:34:16 Cover http://is1.mzstatic.com/image/thumb/Video/v4/20/6f/96/206f968b-2caa-2179-df7c-755423975f77/source/100x100bb.jpg
2017-03-14 18:34:13 Date
2017-03-14 18:34:13 Genre
2017-03-14 18:34:09 Id 13
2017-03-14 18:34:13 Last-Modified
2017-03-14 18:34:13 Name
2017-03-14 18:34:09 ...........
-------755423975f77/source/100x100bb.jpg","Artist":"Music","Album":"Barfuss"},{"File":"/media/music//Barfuss/Smile.mp3","Title":"Smile","Time":195,"Cover":"http://is1.mzstatic.com/image/thumb/Video/v4/20/6f/96/206f968b-2caa-2179-df7c-755423975f77/source/100x100bb.jpg","Album":"Barfuss","Artist":"Music"}]
2017-03-14 18:34:13 playlist_num 0
2017-03-14 18:15:33 playlistcollection WebRadio:playlist
2017-03-14 18:19:50 playlistduration 3625
2017-03-14 18:34:09 playlistinfo [{"Artist":"SWR3 Verkehrszentrum","Title":"Alle Stau-Infos auch auf swr3.de","Album":"","Time":"","File":"http://swr-mp3-m-swr3.akacast.akamaistream.net/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3","Track":"","Cover":"/fhem/icons/1px-spacer"}]
2017-03-14 18:34:16 playlistlength 0
2017-03-14 18:34:13 playlistname WebRadio
2017-03-14 18:34:16 playtime 35
2017-03-14 18:34:16 presence present
2017-03-14 18:34:16 random 0
2017-03-14 18:34:16 rawTitle
2017-03-14 18:34:16 repeat 0
2017-03-14 18:34:16 single 0
2017-03-14 18:34:09 song 0
2017-03-14 18:34:09 songid 13
2017-03-14 18:34:16 songs 0
2017-03-14 18:34:16 state stop
2017-03-14 18:34:09 time 1:0
2017-03-14 18:34:16 uptime 1506
2017-03-14 18:34:16 volume 85
Helper:
Running_pid:
abortArg
abortFn
arg WebRadio
bc_pid 4
finishFn MPD_IdleDone
fn MPD_IdleStart
pid 722
Timeout:
Playlistcollection:
0 WebRadio
1 playlist
val 1
Attributes:
devStateIcon play:rc_PLAY:stop stop:rc_STOP:play pause:rc_PAUSE:pause error:icoBlitz
icon it_radio
image_size 0
loadPlaylists 1
player mpd
room WZ
statePlaylists 1
titleSplit 1
unknown_artist_image /fhem/icons/1px-spacer
meine mp3 liegen auf einer externen Festplatte.
ach so die "WebRadio.m3u" sieht so aus /media/music//Barfuss/song.mp3
und manchmal stürzt fhem ab bei der Übergabe.
ich meine, ich hab mich an alles gehalten, es wird ja auch eine Liste erstellt nur kann man sie nicht abspielen.
Hoffentlich war das jetzt nicht zuviel.
Gruß
ganz klar, du hast das Attribut "MediaList_mkTempCopy" nicht auf "symlink" gestellt wie es im Wiki für MPD Benutzung steht :(
Der MPD kennt kein / kommt nicht ran an "/media/music//Barfuss/Smile.mp3"
Abgesehen davon, mach mal den letzten Backslash in der Medialist Definition weg. Im "/media/music//Barfuss/Smile.mp3" hast du ein doppeltes "//"
BTW: das attribut "MediaList_PathReplaceFrom" macht ohne ein "MediaList_PathReplaceToPic" keinen Sinn. Dann kannst du es auch weglassen. Die Cover werden dann aber nicht dargestellt
@Tobias
Danke für die Hinweisse aber nur ein kleiner Erfolg. Es werden jetzt im Ordner
/var/lib/mpd/playlists/ die Verknüpfung zu den Titeln und auch die WebRadio.m3u angezeigt, siehe Screenshot.
Aber bei Auswahl im MPD WebRadio kommt immer noch:
MPD_Msg ACK ERROR [2@3] {play} Bad song index
aber in der MPD playlist_json wird
playlist_json
[{"Album":"Das Märchen Vom Gezogenen Stecker (Live)","Time":347,"Cover":"https://lastfm-img2.akamaized.net/i/u/300x300/109892a00e484c78cc6ad245a86d2396.png","Title":"Noh all dänne Johre","File":"/media/music/BAP/01. Noh all dänne Johre.mp3","Artist":"Niedeckens BAP"},{"Album":"Das Märchen Vom Gezogenen Stecker (Live)","Cover":"https://lastfm-img2.akamaized.net/i/u/300x300/109892a00e484c78cc6ad245a86d2396.png","Time":303,"Title":"Für`ne Moment","File":"/media/music/BAP/02. Für`ne Moment.mp3","Ar
angezeigt.
die readings der MyMedialist sieht so aus:
CurrentDir /media/music/BAP 2017-03-15 11:48:48
FolderContent
Back:01. Noh all dänne Johre.mp3:02. Für`ne Moment.mp3:03. Zosamme alt.mp3:04. Rääts un links vum Bahndamm.mp3: 2017-03-15 11:48:48
SelectedItem /media/music/BAP 2017-03-15 11:48:48
currentdir_playlist
[{"Album":"Das Märchen Vom Gezogenen Stecker (Live)","Time":347,"Cover":"https://lastfm-img2.akamaized.net/i/u/300x300/109892a00e484c78cc6ad245a86d2396.png","Title":"Noh all dänne Johre","File":"/media/music/BAP/01. Noh all dänne Johre.mp3","Artist":"Niedeckens BAP"},{"Album":"Das Märchen Vom....."}]
2017-03-15 11:48:56
currentdir_playlistduration 9379 2017-03-15 11:48:56
in der WebRadio.m3u sieht es so aus:
MyMediaList_01. Noh all dänne Johre.mp3
MyMediaList_02. Für`ne Moment.mp3
MyMediaList_03. Zosamme alt.mp3
alle Lieder des Albums
Noch was anders ist mir aufgefallen, wenn ich die verschiedene set Befehle aus führe passiert nichts nur bei set MyM... Playlist Name stürzt Fhem ab.
Kann man mehre Listen anlegen, für jedes Album eins mit eigenem Namen z.B. BAP.m3u ? da bin ich noch nicht hinter gekommen.
Hoffe mit diesen infos kommen wir weiter, bis hie hin schon mal Danke.
zeigt das MPD music verzeichnis und das MPD Playlist verzeichnis auf dasselbe Verzeichnis?? siehe MPD.conf
Wenn ja, du hast folgendes gemacht?
set MyMedialist Play currentdir
-> die Tracks im aktuellen Verzeichnis werden als Playlist definiert, in die m3u Datei geschrieben und die playlist_json dem MPD Device übergeben. Letzteres bedeutet NICHT, das mpd diese playlist nun kennt
set WebRadio Playlist WebRadio
-> erst hiermit liest der MPD die playlist ein. Wenn ein anschließendes "set WebRadio Play" nichts bringt außer der Fehlermeldung, hast du den MPD falsch konfiguriert, siehe Wiki Eintrag
@Tobias vielen Dank ein Playlist wird erstellt und :) auch abgespielt,
es war mir nicht bewusst das
set WebRadio Playlist WebRadio
noch auszuführen ist, da im Dropdown WebRadio schon erschien.
Nun geht es weiter, seh ich das richtig das für jedes Album eine Playlist erstellt werden muß. Wenn ja wie wird sie umbenannt oder erstellt.
Wenn ich,
set Myme... Playlist_Name "Albumname" ausführe stürzt Fhem ab.
Noch mal Danke für deine Geduld, hab von Programmierung Nullahnung.
Gruß Dieter
Ich kann nur für das Modul "Medialist" sprechen.
Das Modul erstellt immer EINE Playlist. Diese heißt immer exakt so, wie das Tagetdevice. Das ist wichtig damit in TabletUI alles automatisch funktioniert.
Die Playlist wird immer durch deine Aktion innerhalb "MediaList" befüllt. (RequestDirectory + Play)
Ein Abspeichern von erstellten Playlisten mit eigenem Namen ist vorgesehen, aber noch nicht implementiert
@ Tobias
Danke
Hallo Tobias,
ich bräuchte Deine Hilfe bei der Integration in Tablet UI. Du hast ja ein Beispiel für Tablet Ui zur Verfügung gestellt. Jedoch benötige ich es für den Sonos Player. Du hast geschrieben, man müsste dafür ein paar kleine Änderungen vornehmen. Wie würden die denn aussehen???
Vielen Dank.
Grüße
Matthias
Die Readings sind leicht unterschiedlich. Mehr ist das nicht ;)
Ich habe mal meine versionen angehängt. Der startpunkt ist musik.html.
Die settings für sonos haben noch kein eigenes template, die hängen noch als popup in musik-wz.html drin. Ist aber veraltet. Die aktuellste version zusammen mit dem medialist device ist template_musik_mpd_settings.html
Guten Abend.
Ich habe das selbe Problem wie mein Vorredner´.
Die jason playlist wird angezeigt/befüllt aber mit " set Radio playlist Radio"
bekomme ich trd den Fehler mit bad song index.
defmod MyMediaList MediaList /media
attr MyMediaList MediaList_CacheFileDir /var/lib/mpd/playlists/
attr MyMediaList MediaList_PathReplaceFrom /media
attr MyMediaList MediaList_PlayerDevice Radio
attr MyMediaList MediaList_mkTempCopy symlink
setstate MyMediaList 2017-04-14 18:32:22 CurrentDir /media
setstate MyMediaList 2017-04-14 18:32:22 FolderContent *usb1:*usb2:*usb3:usb
setstate MyMediaList 2017-04-14 18:32:22 SelectedItem /
setstate MyMediaList 2017-04-14 18:32:22 currentdir_playlist []
setstate MyMediaList 2017-04-14 18:32:22 currentdir_playlistduration 0
setstate MyMediaList 2017-04-14 18:32:44 playlist []
setstate MyMediaList 2017-04-14 18:32:44 playlistduration
defmod Radio MPD
attr Radio devStateIcon play:rc_PLAY:stop stop:rc_STOP:play pause:rc_PAUSE:pause error:icoBlitz
attr Radio icon it_radio
attr Radio loadPlaylists 1
attr Radio player mpd
attr Radio titleSplit 1
attr Radio unknown_artist_image /fhem/icons/1px-spacer
Ich habe mich an die https://wiki.fhem.de/wiki/MediaList gehalten.
Die playlist wird erstellt und die symlinks erstellt.
Ich habe auch folgende Fehler im Log gefunden weis aber nicht ob die damit zutun haben.
2017.04.14 17:50:27 1: PERL WARNING: Prototype mismatch: sub main::to_json ($@) vs ($) at /usr/share/perl/5.20/Exporter.pm line 66, <$fh> line 87.
2017.04.14 17:50:27 1: PERL WARNING: Prototype mismatch: sub main::from_json ($@) vs ($) at /usr/share/perl/5.20/Exporter.pm line 66, <$fh> line 87.
2017.04.14 17:50:27 1: PERL WARNING: Prototype mismatch: sub main::round ($$) vs none at /usr/share/perl/5.20/Exporter.pm line 66, <$fh> line 87.
Wenn die Playlist erstellt wird und die darin gelisteten Dateien auch wirklich im Verzeichnis existiweren und du trotzdem einen "Bad SOng index" bekommst, liegt es zu 99% an der Konfiguration des MPD
Ich hab den Fehler gefunden.
Ich habe per usbmount einen Usb-Stick mit Musik auf den Ordner /media/usb1 gemountet.
Medialist ist unter dem Benutzer Fhem in der Gruppe users eingetragen und kann somit auf den Usb-Stick zugreifen.(ging irgendwie nicht anders)
MPD ist allerdings eine eigenständige Instanz und muss daher auch der Gruppe users beigefügt werden da er sonst den Symlinks nicht auf den Usb-Stick folgen kann, da er keine Berechtigung hat.
Was für ein naja "Sicherheitsrisiko" birgt es, dass fhem jetzt der Gruppe users angehört??
Vielen Dank für den Gedankenanstoß bei MPD doch nochmal genauer hinzuschauen.
Edit: Habe bei usb mount gid audio hinzugefügt.
FS_MOUNTOPTIONS="-fstype=vfat,gid=audio,users,dmask=0007,fmask=0117"
Und mpd gehört der Gruppe audio an und habe fhem und mpd aus der Gruppe users entfernt.
Funktioniert.
Hallo,
ich habe das Modul medialist eingebunden (vorerst ohne Tablet-UI) und soweit funktioniert es. Im Cache-Verzeichnis wird aus dem aktuellen Verzeichnis eine Playlist erstellt, die kann ich auch manuell im Sonos-Player aufrufen und abspielen. Wenn ich allerdings "set MyMediaList play currentdir" benutze, wird die Playlist nicht abgespielt. Es wird zwar das Reading playlist_json im Sonos-Player befüllt, dort stehen allerdings die lokalen Pfade und nicht die UNC-Pfade wie in der PlayerDevice.m3u und ich kann nichts abspielen. Wo könnte der Fehler liegen?
Meine Definition:
define define MyMediaList MediaList /media/music/
attr MyMediaList MediaList_PathReplaceFrom /media/music//giantdisc/
attr MyMediaList MediaList_PathReplaceTo //DISKSTATION/audio/giantdisc/
attr MyMediaList MediaList_PlayerDevice Sonos_Wohnzimmer
attr MyMediaList MediaList_mkTempCopy none
Vielen Dank!
Das playlist _json hat nichts mit der eigentlichen playlist zu tun. Dieses ist nur für die Darstellung in Tabelle ui notwendig.
Für die Player ist es wichtig was in der playlist Datei steht ;)
Die Datei heißt exakt so, wie dein Sonos device. Also sonos_wohnzimmer.m3u
Gesendet von meinem Leap mit Tapatalk
Hallo Tobias,
erstmal vielen Dank für Deine schnelle Antwort :)
Das mit playlist_json ist mir jetzt klar. Die sonos_wohnzimmer.m3u wird ja korrekt erstellt, läßt sich auch manuell an den Player übergeben und läuft. Nur bei "set MyMediaList play currentdir" passiert nichts, bzw. es wird nur das Reading übergeben. Aber vielleicht ist das auch so gedacht und die Übergabe der sonos_wohnzimmer.m3u erfolgt dann erst über die Einbindung in Tablet UI? (Soweit bin ich ja noch nicht)
Gruß Axel
ganz einfach, dir fehlt das Atrtribut zum StartCommand ;)
attr <ML_dev> MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
steht aber so im Wiki, glaub ich....
... ja klar, das hatte ich zwar im Wiki gelesen und (vermeintlich) auch eingegeben. Das Problem sitzt halt meistens vor dem Bildschirm ;) Jetzt funzt alles :)
Vielen Dank für die Hilfe!
Gruß Axel
Hallo,
ich habe auch das Problem mit der Fehlermeldung.
MPD_Msg ACK ERROR [2@3] {play} Bad song index
Denke es liegt nicht an der Medialist Konfiguration sondern an MPD aber hir ist auch alle wie im WIKI beschrieben.
kurze Info meines Systems:
Musik liegt auf einen NTFS Festplatte diese ist auf dem Server mittels fstab unter /media/Musik eingebunden. Und per SAMBA im Netzwerk verteilt
[Musik]
comment = Musik
browseable = yes
path = /media/speicher_1/Musik/
guest ok = no
read only = yes
writeable = no
create mask = 0700
Ein Raspberry dient als Radio, auf diesen läuft der MPD auch hier mittels fstab in /media/Musik eingebunden.
//192.168.178.30/Musik /media/speicher_1/Musik/ cifs username=daniel,password=********* rw,suid,dev,exec,auto,nouser,async gid=audio,users 0 0
Die Atribute meiner Medialist:
MediaList_CacheFileDir /media/speicher_1/Musik/
MediaList_PlayerDevice kuechenradio
MediaList_mkTempCopy symlink
Die Readings sind auch alle befüllt und die Playlist Datei kuechenradio.m3u wird erzeugt sowie covers.txt und der symlink zur Datei.
Im Anhang ein Bild meiner Konfiguration.
Bis da hin funktioniert alles nur der Befehl zum Abspielen set kuechenradio playlist kuechenradio
erzeugt den Fehler
MPD_Msg ACK ERROR [2@3] {play} Bad song index
Hab den Thread schon mehrmals durch und komm einfach nicht drauf.
Hoff es kann jemand helfen.
Danke schon mal und Grüße
Bin mir ziemlich sicher das deine mpd.conf nicht passt zu diesen Pfaden.
Gesendet von meinem Leap mit Tapatalk
Danke für die schnelle Antwort.
Hab für Das Musik und Playlist Verzeichniss einen gemeinsammen Ordner, wie im Wiki beschrieben.
Kann es evtl. sein das man noch zugrifsrechte setzen muss? Wurde auch schon mal im Thread geschrieben (hab davon Leider keine Ahnung)
Hier die wichtigsten Daten meiner MPD.conf müsste alles passen.
music_directory "/media/speicher_1/Musik/"
playlist_directory "/media/speicher_1/Musik/"
auto_update "yes"
save_absolute_paths_in_playlists "no"
filesystem_charset "UTF-8"
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
also in /media/speicher_1/Musik/ muss die Playlist liegen. Im selben Verzeichnis müssen Symlinks erstellt worden sein. zb. file.mp3 -> /media/nas/album/file.mp3
Dieses "file.mp3" muss in der Playlist auftauchen.
Versuch dann mal im mpd diese Playlist manuell zu laden und abzuspielen.
Hi,
es ist bei mir genau wie du geschrieben hast:
Im Verzeichniss /media/speicher_1/Musik/ liegen:
die Playlist mit Namen kuechenradio.m3u
die Playlist beinhaltet diesen Inhal:
MyMediaList_1.mp3
die erstellten symlinks mit Namen MyMediaList_1.mp3 und zeigen auf das Verzeichniss /media/speicher_1/Musik/Musik-neu/1.mp3
Die Playlist lässt sich problemlos von jedem Pc in meinen Netzwerk abspielen (Totem Player oder KODI).
Was meinst du mit manuell laden?
hab volgendes versucht:
cd /media/speicher_1/Musik/
mpc load kuechenradio.m3u
mpc play
er spielt nichts ab, wenn ich dagegen meine sender.m3u Playlist lade mit Internetradio Sendern zb:
http://mp3channels.webradio.antenne.de/rockantenne
spielt er dise ab.
liegen beide im gleichen verzeichniss
Anbei noch ein Bild meiner Ordner mit den erstellten symlinks
Dann hat der mpd keinen Zugriff auf die Dateien hinter den symlinks.
Dein manuellen einladen in den mpd mittels mpc über load und play muss erstmal funktionieren.
Gesendet von meinem Leap mit Tapatalk
Hi,
wollte nur bescheid sagen, das du Recht hattest. Bei folgender Fehlermeldung
MPD_Msg ACK ERROR [2@3] {play} Bad song index
kann der MPD nicht auf meine Festplatte mit der Musik zugreifen.
Hab testweise die Musik nach /var/lib/mpd/music gelegt und es geht.
Warum das so ist weis ich nicht (ev. liegts am Dateisystem NTFS) hab die Rechte mit sudo chmod 777 /media/speicher_1/Musik/Musik-neu/
gesetzt.
Danke für deine Hilfe und das klasse Modul
Hallo,
Ich habe seit langem auch wieder ein kleines Problem.
Ich habe neue Ordner hinzugefügt und sie werden mir auch in der Auswahl vom TabletUi angezeigt. Wenn ich jedoch den Ordner anwähle passiert nichts.
Die Rechte wurden vergeben wie bei den anderen Musikordnern die funktionieren.
Hat jemand einen Tipp oder werden weitere Infos benötigt?
Mfg
EDIT:
Habe den Fehler gefunden.
Die Titel waren wohl nicht richtig formatiert.
Hätte es mal gleich mit Linux machen sollen und nicht mit Windooofs.
Hallo,
habe das heute in meiner LOG Datei vorgefunden. Kann man das beheben?
ZitatPERL WARNING: Prototype mismatch: sub main::round ($$) vs none at /usr/share/perl/5.22/Exporter.pm line 66, <$fh> line 2675.
2017.09.22 14:57:59 1: stacktrace:
2017.09.22 14:57:59 1: main::__ANON__ called by /usr/share/perl/5.22/Exporter.pm (66)
2017.09.22 14:57:59 1: Exporter::import called by ./FHEM/98_MediaList.pm (46)
2017.09.22 14:57:59 1: main::BEGIN called by ./FHEM/98_MediaList.pm (46)
2017.09.22 14:57:59 1: (eval) called by ./FHEM/98_MediaList.pm (46)
2017.09.22 14:57:59 1: (eval) called by fhem.pl (2430)
2017.09.22 14:57:59 1: (eval) called by fhem.pl (2429)
2017.09.22 14:57:59 1: main::CommandReload called by fhem.pl (1845)
2017.09.22 14:57:59 1: main::LoadModule called by fhem.pl (1902)
2017.09.22 14:57:59 1: main::CommandDefine called by fhem.pl (1174)
2017.09.22 14:57:59 1: main::AnalyzeCommand called by fhem.pl (1027)
2017.09.22 14:57:59 1: main::AnalyzeCommandChain called by fhem.pl (1309)
2017.09.22 14:57:59 1: main::CommandInclude called by fhem.pl (537)
und
ZitatPERL WARNING: Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611, <$fh> line 2675.
2017.09.22 14:57:59 1: stacktrace:
2017.09.22 14:57:59 1: main::__ANON__ called by FHEM/lib/MP3/Tag.pm (2611)
2017.09.22 14:57:59 1: (eval) called by ./FHEM/98_MediaList.pm (38)
2017.09.22 14:57:59 1: main::BEGIN called by FHEM/lib/MP3/Tag.pm (2611)
2017.09.22 14:57:59 1: (eval) called by FHEM/lib/MP3/Tag.pm (2611)
2017.09.22 14:57:59 1: (eval) called by fhem.pl (2430)
2017.09.22 14:57:59 1: (eval) called by fhem.pl (2429)
2017.09.22 14:57:59 1: main::CommandReload called by fhem.pl (1845)
2017.09.22 14:57:59 1: main::LoadModule called by fhem.pl (1902)
2017.09.22 14:57:59 1: main::CommandDefine called by fhem.pl (1174)
2017.09.22 14:57:59 1: main::AnalyzeCommand called by fhem.pl (1027)
2017.09.22 14:57:59 1: main::AnalyzeCommandChain called by fhem.pl (1309)
2017.09.22 14:57:59 1: main::CommandInclude called by fhem.pl (537)
Danke
Grüße
Matthias
@Tobias:
Hallo,
bei Behebung eines anderen Problems https://forum.fhem.de/index.php/topic,78359.msg726658.html#msg726658 (https://forum.fhem.de/index.php/topic,78359.msg726658.html#msg726658) habe ich bemerkt, dass Dein Modul Math::Round benutzt.
Das überschreibt round aus 99_Utils.pm. Kannst Du das rausnehmen ?
Das erste Problem in dem Post oben schein auch damit zusammenzuhängen.
- holger
Hallo,
ich habe das Problem, dass ich in der FTUI die Ordner mit Leerzeichen nicht korrekt angezeigt bekomme.
Das Modul aus dem ersten Post habe ich benutzt.
Woran kann das liegen?
Der letzte Stand kommt per fhem update, ich habe auch Leerzeichen, die werden aber in ftui korrekt dargestellt.
Gesendet von meinem Leap mit Tapatalk
Hallo,
habe immer noch das Problem mit Leerzeichen in der Ordnerliste (siehe Anhang) und somit Ordner nicht auswählbar sind. Angeblich ist das ja gefixt. Hat jemand einen Tip wie der Zeilenumbruch vermieden werden kann? Update wurde durchgeführt.
Poste mal bitte den Inhalt vom Reading Foldercontent. Ich habe auch jede Menge Leerzeichen und alles wird korrekt dargestellt
Gesendet von iPhone mit Tapatalk
Bitte schön...
CurrentDir
/media/Musik/Musik
2018-09-22 22:45:09
FolderContent
Back:*3OH!3:*4 Non Blondes:*AC_DC:*ANNO_1701:*Abba:*Absolute Sixties:*Aerosmith:*Afroman:*Akon David Guetta:*Akustikrausch:*Al Jarreau:*Alan Parsons Project:*Alanis Morissette:*Alice Cooper:*Ally McBeal:*America:*Amy Winehouse:*Anastacia:*Andreas Bourani_Staub Und Fantasie:*Anne Clark:*Asia:*Atze Schröder:*Axel Hacke:*Ballard Russ:*Bayern 3 - Matuschkes Lieblinge:*Bayern 3 - Matuschkes Lieblinge Vol.2:*Beastie Boys:*Bell Book and Candle:*Beth Ditto:*Betty Boo:*Billy Talent:*Birthday Hits:*Black Box:*Blondie:*Blowfly:*Blues Brothers:*Bob Dylan:*Bob Marley & The Wailers:*Bobby Womack:*Bodycount:*Bomb The Bass:*Bon Jovi:*Bonnie Tyler:*Bravo Hits Vol.71(2010):*Bronski Beat:*BuenaVistaSocialClub:*Burdon, Eric:*Cappella:*Caron Wheeler:*Charles & Eddie:*Chopin:*Chris Boettcher:*Christina Stürmer:*Christopher Cross:*Climax Blues Band:*Cock Robin:*Coolio:*Corrs, The:*Crazy Town:*Crowded House:*CyndiLauper_Detour:*DJ KASH.DJ:*DaCaV5:*Daniel Powter:*David Guetta:*De La Soul:*Dean Martin:*Deep Purple:*Def Leppard:*Del Tha Funkee Homosapien:*Depeche Mode:*Die Fantastischen Vier:*Die Hit-Giganten_Deutsche Hits:*Die Toten Hosen:*Die Ärtzte:*Die Ärzte:*Dire Straits:*Discoparty Brothers:*Disturbed:*Donald Fagen:*Dope:*Double Vision:*Dr. Alban:*Duran Duran:*Eagles:*Earl Klugh:*Earth, Wind & Fire:*Enigma:*Eternal Featuring BeBe Winans:*Eurythmics:*Evanescence:*FM4:*Falco:*Felix:*Fettes_Brot:*Fips Asmussen:*Fischer - Z:*Flo Rida:*Fool's Garden:*Foreigner:*Frank Sinatra:*Franka Potente & Thomas D:*Frankie Goes To Hollywood:*Freak Power:*Fredl Fesl:*Freshly Ground:*Frida Gold_Juwel:*Funkanomics:*Future Trance:*Galliano:*Garland Jeffreys:*Gary Moore:*Genesis:*Gerhard Polt:*Glasperlenspiel_Beweg Dich Mit Mir:*Grease (OST) 192 kb.s:*Grover Washington, Jr:*Guano Apes:*Guns N' Roses:*HOOTERS:*Hans Söllner:*Heaven 17:*Helge Schneider:*Herbert Grönemeyer:*Hits 1930-2000:*Hodgson, Roger:*Holy Noise -:*Hooters, The:*Hot Chocolate:*Ike & Tina Turner:*Iron Maiden - The Book Of Souls:*Italobrothers:*JOHANN STRAUSS:*Jackson, Michael:*James Brown:*James Brown & The Soul G's:*Jamiroquai:*Jan Hegenberg:*Janis Joplin:*Joe Jackson:*John Lee Hooker:*John Lennon:*Johnny Guitar Watson:*Joplin Janis:*Jose Carreras:*Joshua Kadison:*Joyce Sims:*Judas Priest:*Juli - Es ist Juli:*Jupiter Jones (2011) 6895785674:*Jupiter Jones - Raum um Raum:*Justin Timberlake:*Jürgen v. d. Lippe:*Kashmir 9_41:*Ke$ha:*Kevin Rudolf_Lil Wayne:*Klaus Buntrock:*Kohl & The Gang:*Kool & The Gang:*K´naan:*L.L. Cool J:*LAING:*LL Cool J:*La Brass Banda:*Labi Siffre:*Lady Sovereign:*Led Zeppelin:*Leila K:*Lil Louis:*Liquido:*Lisa Stansfield:*Lita Ford:*Lizenzsicherung:*Los Del Rio:*Luniz:*Macy Gray:*Manowar:*Manu Chao:*Manu Chao (La Radiolina):*Marc-Uwe-King:*Mariah Carey:*Marius Müller-Westernhagen:*Marla Glen:*Meredith Brooks:*Metallica:*Michael Jackson:*Michael Mittermeier:*Midnight Oil:*Miles Davis:*Milow:*Mixxx:*Moby:*Molotov:*Montana Sextet Feat. Nadiyah:*Montana Sextett:*Monty Python:*Mother's Finest:*Musiksammlung II:*Naturally 7:*Neneh Cherry:*Nightwish:*Nirvana:*Nokia Night of the Proms:*OMC:*OST - Tony Hawk's Pro Skater 1:*OST - Tony Hawk's Pro Skater 2:*OST - Tony Hawk's Pro Skater 3:*OST - Tony Hawk's Pro Skater 4:*Ocean's Eleven:*Oh Well:*Ostbahn Kurti & Die Chefpartie:*Paradis, Vanessa:*Pat Metheny:*Paul Simon & Art Garfunkel:*Phill Collins:*Phineas und Ferb:*Piet Klocke:*Pink Floyd:*Pink_Greatest Hits-So Far:*Pitbull:*Planet P Project:*Prince Ital Joe feat. Marky Mark:*Queen:*Quincy Jones:*R.E.M:*R.E.M. (Out Of Time):*Raffi:*Rainhard Fendrich:*Rainhard Fendrich - Stefanie Werger:*Rare Earth:*Red_Hot_Chilli_Peppers:*Robbie Williams:*Rolling Stones:*Rose_-_Wir_Sind_Am_Leben-DE-2011-MOD:*Rüdiger Hoffmann:*S. Rachmaninoff:*STS:*Sade:*Sam & Dave:*Santana:*Saturday Night Fever (OST) 192 kb.s:*Seeed:*Shakatak:*Shakespears Sister:*Silbermond:*Simon And Garfunkel:*Simon, Paul:*Simply Red:*Sinatra, Frank:*Skero:*Skunk Anansie:*Smash Mouth:*Snap!:*Soul II Soul:*Spliff:*Staying Alive (OST) 192 kb.s:*Stevie Wonder:*Sting:*Sting with Eric Clapton -:*Stranglers, The:*Strauss:*Supermax:*Söhne Mannheims - Barrikaden Von Eden:*T'Pau:*Take That:*Talking Heads:*Temptations:*Tenacious D:*Tenacious D -live-:*The Art Of Noise:*The Bloodhound Gang:*The Blues Brothers:*The Chimes:*The Corrs:*The KLF:*The Kelly Family:*The Offspring:*The Real Thing -:*The Rose:*The Sisters Of Mercy:*The Stranglers:*Third World:*Thomas D:*Tina Turner:*Tony Di Bart:*Tori Amos:*Toten Hosen:*VA--Deutschstunde-2CD-DE-2011-OMA:*VA-Die_Hit-Giganten_Deutsche_Balladen_-2CD-DE-2011-VOiCE:*VA-Die_Ultimative_Chartshow_(Die_Erfolgreichsten_Neuen_Deutschen_Pop_und_Rockhits)-2CD-DE-2011-VOiCE:*VA-Just_The_Best_Der_Grosse_Musiktest_(Deutsche_Hits)-2CD-DE-2010-VOiCE:*Various:*Various Artists:*Vonda Shepard:*Was (Not Was):*Wayne's World 1 OST [1992] - Various Artists:*Wayne's World 2 OST [1993] - Various Artists:*Westernhagen:*Willy Astor:*Wir Sind Helden:*Withers, Bill:*Witt - Heppner:*Womack, Bobby & The Valentinos:*Woodstock:*Xavier Naidoo - Alles Kann Besser Werden 3 CD DE 2009:*Xavier.Naidoo-Greatest.Hits.1996-2004.192KB-Oxy:*Yello:*ZZ Top:*benson, george:*blowfly- analthology:*dabertlundi:25Jahre-Gong963-Bully-Rick2_neu.mp3:25Jahre-Gong963-Bully-Rick_neu.mp3:AlbumArtSmall.jpg:Asaf Avidan & the Mojos - One Day Reckoning Song (Wankelmut Remix) (Club Mix).mp3:DJ SPINBAD - HIP HOP MEGAMIX (2003).mp3:DJ SPINBAD 90S MEGAMIX (2009).mp3:Folder.jpg:HMBC---Vo-Mello-bis-ge-Schoppornou.mp3:Johnny Cash - One.mp3:Klangkarussell - Sonnentanz (Original Mix) (www.MusicDjsMp3.com).mp3:Metallica-Seek And Destroy.mp3:Ohrwurm__Caecilia_ist_das_schoenste_Weib_von_Spanien_flei__B3ES525_173311055.MP3:Thumbs.db:cover.jpg:yamp.db
2018-09-22 22:45:09
SelectedItem
/media/Musik/Musik/4
2018-09-22 22:45:09
currentdir_playlist
Sieht alles normal aus. Bei mir und anderen klappt es ja auch.
Kann es mir nur erklären das deine Perl Version herumspinnt. ist es eine Linux Umgebung?
Gesendet von iPhone mit Tapatalk
Ja, fhem und mpd laufen auf einen Raspberry Zero Raspbian Stretch. Habe testweise auf meinem Laptop (unter Ubuntu) ebenfalls fhem und mpd installiert und hab dort das selbe Problem. Perl-Versionen sind folgende installiert:
This is perl 5, version 18, subversion 2 (v5.18.2)--Ubuntu
This is perl 5, version 24, subversion 1 (v5.24.1)--Rapbian Stretch
medialist findet auch keine Cover, obwohl die in jedem Ordner vorhanden sind und alle andere Clients (Gmpc, Chimney, ..) die passenden Cover anzeigen.
Also die Cover müssen ,,Cover" oder ,,Front" im Namen haben um erkannt zu werden
Gesendet von iPhone mit Tapatalk
Habe für das Leerzeichen-Problem jetzt eine Lösung gefunden. Das Attribut <data-limiter=":"> im select-widget brachte das gewünschte Ergebnis.
Hallo Leute.
Ich weiß einfach nicht was ich falsch mache. Habe 2 Probleme.
Und zwar. Ich habe unter /var/lib/mpd/music meine Musik eingebunden. Die Übergabe klappt auch an meinen MPD Player.
Aber wie befülle ich diese nun eine Playlist. Oder habe ich noch etwas in MyMedialist vergessen einzutragen?
So sieht meine MyMediaList aus.
nternals:
DEF /media/music/
NAME MyMediaList
NR 73
ROOT /media/music/
STATE ???
TYPE MediaList
Attributes:
MediaList_CacheFileDir /var/lib/mpd/music
MediaList_PathReplaceFrom /media/music/
MediaList_PlayerDevice MPD1
room Radio
Desweitern habe ich eine Playlist mit Radiosendern. Dort zeigt er mir aber nur den sender an den er gerade abspielt nicht die anderen.
so sieht diese aus. Habe ich unter google so gefunden und noch ein paar sender hinzugefügt.
#EXTM3U
#EXTINF:-1,EINS Live
http://wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3
#EXTINF:-1,N-Joy
http://ndrstream.ic.llnwd.net/stream/ndrstream_n-joy_hi_mp3
#EXTINF:-1,Technobase.fm
http://listen.technobase.fm/tunein-mp3-pls
#EXTINF:-1,Antenne Münster
http://stream.antennemuenster.de:8000/am128k
#EXTINF:-1,Radio Paloma
http://pool.radiopaloma.de/RADIOPALOMA.mp3
#EXTINF:-1,Top 100 Station
http://91.250.76.18/top100station.mp3
könntet ihr mir vielleicht helfen??
Man hat mich nach hierhin weitergeleitet da es hier um die Medialist geht.
Danke schon mal
so bin nun weiter. Habe nur leider trotzdem noch ein Problem.
Und zwar klappt die übergabe an meinen MDP player nicht.
habe schon nach freigabe geschaut. so wie der beitrag ein paar reihen vorher.
MPD_Msg ACK ERROR [2@3] {play} Bad song index
komme nur nicht weiter. Hat wer noch eine Idee für mich?
Vielleicht finde ich auch einfach nicht meinen fehler. :(
Meine list vom meiner Musikbank sieht so aus.
Internals:
DEF /var/lib/mpd/music
NAME MyMediaList
NR 68
ROOT /var/lib/mpd/music
STATE ???
TYPE MediaList
READINGS:
2018-10-17 22:33:46 CurrentDir /var/lib/mpd/music
2018-10-17 22:33:46 FolderContent *Abenteuerland:*Die Ärzte:*Seiltänzertraum
2018-10-17 22:33:46 SelectedItem /var/lib/mpd
2018-10-17 22:33:46 currentdir_playlist []
2018-10-17 22:33:46 currentdir_playlistduration 0
2018-10-17 22:33:48 playlist []
2018-10-17 22:33:48 playlistduration
2018-10-17 21:24:08 playlistname PUR
helper:
Attributes:
MediaList_CacheFileDir /var/lib/mpd/playlists/
MediaList_PathReplaceFrom /var/lib/mpd/music
MediaList_PlayerDevice MPD1
MediaList_mkTempCopy symlink
room Radio
Was steht in der erstellten m3u Liste? Hat der mpd Zugriff auf diese und die dort referenzierten Songs?
Der Fehler zeigt auf zugriffsprobleme
Gesendet von iPhone mit Tapatalk
Hallo Tobias
Also in meiner m3U sieht so aus
sie heist bei mir "MPD1.m3u"
MyMediaList_Pur - Abenteuerland.mp3
MyMediaList_Pur - Dass es Dir leid tut.mp3
MyMediaList_Pur - Es tut weh.mp3
MyMediaList_Pur - Ganz egal.mp3
MyMediaList_Pur - In Gedanken.mp3
MyMediaList_Pur - Leben.mp3
MyMediaList_Pur - Merlins Reise.mp3
MyMediaList_Pur - Nur zu Dir.mp3
MyMediaList_Pur - Ruhe.mp3
MyMediaList_Pur - Ungeheuer.mp3
MyMediaList_Pur - Wut im Bauch.mp3
Denke das ich irgendetwas noch nicht ganz richtig eingestellt habe.
Aber kann auch ein irrtum meiner seits sein. Und zwar wenn ich meine Playlist lösche steht sie immer noch unter meinem Dateipfad. Also wenn ich sie mit emty lösche.
Hoffe das Hilft.
Es könnte aber auch an meiner config. liegen, den ich komme über FileZilla nicht an meine MPD config keine freigabe. Und ich habe schon versucht diese zu erweitern klappt aber nicht.
sorry, hab den Fred verschwitzt...
empty heißt emtpy weil es die playlist leer macht, nicht löscht ;)
Du musst jetzt versuchen die MPD1.m3u über das MPD Modul abzuspielen.
Bei "get playlists" muss Sie auftauchen. Die mp3 Dateien müssen im definierten music Pfad liegen (playlist und music pfad sollte identisch sein)
Wenn MPD die playlist "sieht", es aber einen Fehler beim abspielen gibt liegt ein Berechtigungs/Zugriffsproblem vor
Hallo Tobias,
vielen Dank für Deine Mühe und das Modul.
Ich habe es bei mir auch ausprobieren wollen, habe aber keine Playliste im Device angezeigt bekommen. Ich habe mir den Logfile mal mit Verbose 5 angeschaut und hatte folgende Meldung gefunden:
4: DownloadCover: Hole URL: https://itunes.apple.com/search?term=Dune%20 Datei nicht gefunden at ./FHEM/98_MediaList.pm line 610
Nach vielem probieren bin ich dann in Deine 98_MediaList.pm und habe mir den apple Link rausgesucht und das .com durch .de ersetzt (wohl wissend/ahnend, dass es dort nichts findet). Das Modul neu geladen und noch einmal versucht bei RequestDirectory einen Ordner auszuwählen. Folgende Fehlermeldung habe ich nun im Logfile bekommen:
4: DownloadCover: Hole URL: https://itunes.apple.de/search?term=Dune%20
3: GetCover: Fehler beim abrufen der Daten
3: GetCover: https://itunes.apple.de/search?term=Dune%20: Can't connect(1) to https://itunes.apple.de:443:IO::Socket::INET: Bad hostname 'iTunes.apple.de:443'
Ok, die Anpassung macht Modultechnisch keinen Sinn, aber jetzt bekomme ich wenigstens Informationen in dem Reading "currentdir_playlist" angezeigt. Ist das ein "Problem" welches Du noch im Modul beheben kannst? Gibt es eine Möglichkeit die Suche nach Covern im Internet auszustellen und Defaultmäßig ein Bild zu setzen, wenn kein lokales Cover vorliegt oder keines im Internet gefunden werden kann?
Viele Grüße
Carsten
ist mir unbegreiflich, da es bei mir fehlerfrei funktioniert.....
er meckert bei Zeile 610:
open($fh, ">>", $file) or die "Datei nicht gefunden";
sieht stark nach einem Rechteproblem bei dir aus....
Hallo zusammen,
ich bin vom MediaList-Modul schwer begeistert.
Nur ... bei mir laufen FHEM und MPD auf unterschiedlichen Geräten. Und nur am MPD kann ich einen USB-Stick verwenden.
Diesen habe ich dort gemountet und kann direkt vom MPD aus auch die Songs abspielen.
Aber MediaList sieht dieses (aus FHEM-Sicht) entfernte Dateisystem ja gar nicht. Oder liege ich falsch?
Gibt es eine Möglichkeit mittels MediaList einen entfernten MPD mit seinen lokalen Verzeichnissen zu bedienen?
einfach nur boardmittel. Das Dateisystem des MPD per NFS oder SMB freigeben und in FHEM für die Medialist einmounten. Parameter des Moduls setzen - fertig
OK, danke.
Das hat mir schon mal etwas weitergeholfen.
Ich habe das MPD-Server-Media-Verzeichnis per NFS freigegeben und am FHEM-Server unter dem gleichen Verzeichnisnamen gemountet.
MediaList kann das Verzeichnis durchsuchen und erstellt auch das leere playlist-File in der Freigabe.
Mehr passiert leider nicht.
Play currentdir //playlist_add bleiben leider ohne Wirkung.
Im Event-Monitor ist ausser 2019-07-28 21:12:39 MediaList MPDMediaList FolderContent: Back:01_So_Far_Away.mp3:02_Money_For_Nothing.wav:03_Walk_Of_Life.wav:04_Your_Latest_Trick.wav:05_Why_Worry.wav:06_Ride_Across_The_River.wav:07_The_Man's_Too_Strong.wav:08_One_World.wav:09_Brothers_In_Arms.wav
2019-07-28 21:12:39 MediaList MPDMediaList CurrentDir: /media/pi/Dire_Straits/Brothers_In_Arms
2019-07-28 21:12:39 MediaList MPDMediaList SelectedItem: /media/pi/Dire_Straits/Brothers_In_Arms
2019-07-28 21:12:39 MediaList MPDMediaList status: gathering filelist
nichts zu finden.
meine Definition
Internals:
DEF /media/pi
FUUID 5c44d12c-f33f-ed2c-e37d-321c674f7fbae979
NAME MPDMediaList
NR 253
ROOT /media/pi
STATE ???
TYPE MediaList
.attraggr:
.attrminint:
READINGS:
2019-07-28 21:12:39 CurrentDir /media/pi/Dire_Straits/Brothers_In_Arms
2019-07-28 21:12:39 FolderContent Back:01_So_Far_Away.mp3:02_Money_For_Nothing.wav:03_Walk_Of_Life.wav:04_Your_Latest_Trick.wav:05_Why_Worry.wav:06_Ride_Across_The_River.wav:07_The_Man's_Too_Strong.wav:08_One_World.wav:09_Brothers_In_Arms.wav
2019-07-28 21:12:39 SelectedItem /media/pi/Dire_Straits/Brothers_In_Arms
2019-07-28 21:05:22 currentdir_playlist []
2019-07-28 21:05:22 currentdir_playlistduration 0
2019-07-28 20:51:46 playlist []
2019-07-28 20:51:46 playlistduration 0
2019-07-28 19:22:32 playlistname WifiRadio
2019-07-28 21:05:22 sortby File
2019-07-28 21:12:39 status gathering filelist
helper:
RUNNING_PID:
abortArg
abortFn
arg MPDMediaList|/media/pi/Dire_Straits/Brothers_In_Arms
bc_pid 1118
finishFn MediaList_done_playlistinfo
fn MediaList_CollectID3Tags
pid DEAD:3808
timeout 120
Attributes:
MediaList_CacheFileDir /media/pi/
MediaList_PathReplaceFrom /media/pi/
MediaList_PathReplaceTo /media/pi/
MediaList_PlayerDevice WifiRadio
MediaList_mkTempCopy symlink
group MediaPlayer
room 1.1_Wohnzimmer
verbose 5
Es müssen mp3 Dateien sein
Gesendet von iPhone mit Tapatalk
das ändert leider auch nichts..
Die Parameter für die Pfade könnten so passen?
Internals:
DEF /media/pi
FUUID 5c44d12c-f33f-ed2c-e37d-321c674f7fbae979
NAME MPDMediaList
NR 253
ROOT /media/pi
STATE ???
TYPE MediaList
.attraggr:
.attrminint:
READINGS:
2019-07-29 18:21:37 CurrentDir /media/pi/Otto/2001otto
2019-07-29 18:21:37 FolderContent Back:03-Friesenjung.mp3:04-Ostfriese.mp3:24-Schlaflied.mp3:26-Dummasack.mp3:Titanic.mp3
2019-07-29 18:21:37 SelectedItem /media/pi/Otto/2001otto
2019-07-29 18:21:35 currentdir_playlist []
2019-07-29 18:21:35 currentdir_playlistduration 0
2019-07-28 21:29:11 playlist []
2019-07-28 21:29:11 playlistduration 0
2019-07-28 19:22:32 playlistname WifiRadio
2019-07-29 18:21:35 sortby File
2019-07-29 18:21:37 status gathering filelist
helper:
RUNNING_PID:
abortArg
abortFn
arg MPDMediaList|/media/pi/Otto/2001otto
bc_pid 12017
finishFn MediaList_done_playlistinfo
fn MediaList_CollectID3Tags
pid DEAD:10977
timeout 120
Attributes:
MediaList_CacheFileDir /media/pi/
MediaList_PathReplaceFrom /media/pi/
MediaList_PathReplaceTo /media/pi/
MediaList_PlayerDevice WifiRadio
MediaList_mkTempCopy none
group MediaPlayer
room 1.1_Wohnzimmer
verbose 5
das cachefiledir muss das playlistdir vom MPD und von diesem auch scheibbar sein.
Dort hinein wird die m3u Datei vom modul geschrieben.
Erstelle mal dort selbst eine und übergeben die per Hand dem MPD. dann muss er sie auch abspielen.
Irgendwo ist bei dir der wurm drin warum currentdir_playlist leer ist. Diese ist gefüllt, sobald im currentDir sich mp3 dateien befinden
Erst das Probelm mit dem MPD playlistdir lösen, dann fehlermeldungen im fhem log checken
Hallo,
das Problem das sich currentdir_playlist nicht füllt hab ich auch gerade.
Auf meiner alten Installation hatte ich keine Probleme mit MediaList, auf der Neuen wollte ich jetzt die alte Definition einfach übernehmen, geändert hat sich eigentlich nichts außer der Name des Sonos-Device, aber Pustekuchen.
Der Wechsel ins RootDirectory mit set <MediaList> RequestedDirectory / klappt noch ohne Probleme, doch mit jeder Auswahl eines Verzeichnis mit set <MediaList> RequestedDirectory <SubDirName> bekomm ich folgenden Hinweis im Log und das Reading currentdir_playlist wird auch nicht gefüllt:
Undefined subroutine &math::round called at ./FHEM/98_MediaList.pm line 585.
Internals:
DEF /media/usbstick/Privat/Musik
FUUID 5d403bac-f33f-78f5-1eec-a506d680508768f3
NAME MyMediaList
NR 194
ROOT /media/usbstick/Privat/Musik
STATE ???
TYPE MediaList
READINGS:
2019-08-03 17:06:31 CurrentDir /media/usbstick/Privat/Musik/Toene
2019-08-03 17:06:31 FolderContent Back:Airhorn.mp3:Doorbell.mp3:Doorbell2.mp3:Fax-Beep.mp3:Ring.mp3:Sirene.mp3:Temple.mp3
2019-08-03 17:06:31 SelectedItem /media/usbstick/Privat/Musik/Toene
2019-08-03 17:06:14 currentdir_playlist []
2019-08-03 17:06:14 currentdir_playlistduration 0
2019-08-03 17:06:14 sortby File
2019-08-03 17:06:31 status gathering filelist
helper:
RUNNING_PID:
abortArg
abortFn
arg MyMediaList|/media/usbstick/Privat/Musik/Toene
bc_pid 3384
finishFn MediaList_done_playlistinfo
fn MediaList_CollectID3Tags
pid DEAD:18202
timeout 120
Attributes:
MediaList_PathReplaceFrom /media/usbstick/Privat/Musik
MediaList_PathReplaceTo \\192.168.188.26/OwnMusic/
MediaList_PlayerDevice Sonos_Wohnzimmer
MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
MediaList_mkTempCopy none
room Media
sudo apt-get install libmp3-tag-perl
sudo apt-get install libjson-xs-perl
sudo apt-get install libmp3-info-perl
sudo apt-get install libmath-round-perl
Hat jemand Tipps wie ich dem Problem auf die Schliche komme ?
Gruß
Thomas
Hi,
genau das gleiche wie bei mir. Nur bekomme ich die Meldung im Log nicht (oder finde sie nicht)
Wechsle ich in ein Verzeichnis ohne Musik (nur Unterverzeichnisse), bekomme ich nahezu sofort im reading status="idle".
Wechsle ich in ein Verzeichnis mit Musik bleibt das Reading status auf "gathering filelist".
Im Playlist-Verzeichnis (MediaList_CacheFileDir) kann ich vom FHEM-Server aus Dateien erstellen und liegen die Playlists für die Radiosender und die automatisch erstellte Playlist für den USB-Stick. All das funktioniert und kann vom MPD-Device aus gewählt/abgespielt werden.
versucht bitte mal folgendes im Modul zeile 585 zu ersetzen:
alt:
$res = {"Artist" => $artist, "Title" => $title, "Album" => $album, "Time" => math::round($mp3info->{SECS}), "File" => $file, "Cover" => ""};
neu:
$res = {"Artist" => $artist, "Title" => $title, "Album" => $album, "Time" => round($mp3info->{SECS}), "File" => $file, "Cover" => ""};
Hallo,
dann kann das Modul wegen einem fehlendem Argument nicht mehr geladen werden.
Wenn ich die Funktion um 2 Kommastellen (keine Ahnung wieviele es sein müssen) erweitere round($mp3info,2->{SECS} wird das Modul geladen.
Nach dem Wechsel ins RootDirectory und ausführen von set <MediaList> RequestedDirectory <SubDirName> wird jetzt auch currentdir_playlist gefüllt.
Aber mit set <MediaList> Play currentDir startet FHEM neu und ich hab folgendes als letztes im Log stehen:
2019.08.13 09:10:37 1: PERL WARNING: Use of uninitialized value $n in concatenation (.) or string at ./FHEM/99_Utils.pm line 244.
Can't call method "print" on an undefined value at ./FHEM/98_MediaList.pm line 329.
also die Kommastellen erweiterung sagt mir leider nichts. Meine gepostete Änderungläuft bei mir sauber. Ggf. hast du eine andere Perlversion?
Mache mal bitte einen kompletten FHEM Neustart. Die Print Methode gehört zum Datei-Prozess und muss funktionieren.
2019.08.13 10:48:10 1: reload: Error:Modul 98_MediaList deactivated: Not enough arguments for main::round at ./FHEM/98_MediaList.pm line 585, near "})"
Hab ich im Log, ohne Kommastellen-Erweiterung.
Wo das genau beschrieben ist keine Ahnung, hätte erwartet hier (https://wiki.fhem.de/wiki/DevelopmentModuleAPI), gelesen hab ichs hier (https://forum.fhem.de/index.php/topic,88519.msg809863.html#msg809863).
perl -v
This is perl 5, version 24, subversion 1 (v5.24.1) built for arm-linux-gnueabihf-thread-multi-64int
(with 85 registered patches, see perl -V for more detail)
ZitatWurde das MediaList_ReplaceFrom und(!) MediaList_ReplaceToAttibut gesetzt, so wird diese Regel auf den absoluten Dateipfad hier angewendet.
Hab ich ja gesetzt, sollte ich dann nicht eine .m3u im entsprechenden Ordner sehen, find nämlich keine.
Dann müsste es aber so sein
round($mp3info->{SECS},0)
btw: mir fällt gerade nicht ein warum ich damals die round Funktion eingebaut hatte.
Probier mal sie einfach rauszunehmen
$res = {"Artist" => $artist, "Title" => $title, "Album" => $album, "Time" => $mp3info->{SECS}, "File" => $file, "Cover" => ""};
round($mp3info->{SECS},0)
Ja, dann werden die Sekunden richtig berechnet.
"Time" => $mp3info->{SECS}
Dann werden aus bspw. 252 Sekunden 252.1763125
2019.08.13 14:27:49 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit... Can't call method "print" on an undefined value at ./FHEM/98_MediaList.pm line 329.
Mit dem abspielen hab ich aber weiterhin ein Problem, weiß nicht mehr wie das auf der alten Installation, es sollte doch nach einem set <MediaList> RequestedDirectory <SubDirName> eine .m3u im absoluten Pfad zu finden sein oder nicht ?
Internals:
DEF /media/usbstick/Privat/Musik
FUUID 5d403bac-f33f-78f5-1eec-a506d680508768f3
NAME MyMediaList
NR 194
ROOT /media/usbstick/Privat/Musik
STATE ???
TYPE MediaList
READINGS:
2019-08-13 14:32:57 CurrentDir /media/usbstick/Privat/Musik/Birdy
2019-08-13 14:32:57 FolderContent Back:Wings.mp3
2019-08-13 14:32:57 SelectedItem /media/usbstick/Privat/Musik/Birdy
2019-08-13 14:32:58 currentdir_playlist [{"Time":252.1763125,"Artist":"","File":"/media/usbstick/Privat/Musik/Birdy/Wings.mp3","Album":"","Cover":"images/cd-empty.png","Title":"Wings"}]
2019-08-13 14:32:58 currentdir_playlistduration 252
2019-08-13 14:32:58 sortby File
2019-08-13 14:32:58 status idle
helper:
Attributes:
MediaList_PathReplaceFrom /media/usbstick/Privat/Musik
MediaList_PathReplaceTo \\192.168.188.26/OwnMusic/
MediaList_PlayerDevice Sonos_Wohnzimmer
MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
MediaList_mkTempCopy none
room Media
das liegt an der obigen fehlermeldung, er kann nicht in die Datei schreiben. Dementsprechend gibt es auch keine ;) Eventuell ein Berechtigungsproblem für den fhem user??
Setze mal das CacheFileDir wie in der Doku auch angegeben ;) eventuell liegts daran
Ich habe das Modul in meinem Repo bzgl des round Problems aktualisiert, bitte testen
Hallo Tobias,
nach manuellem Entfernen des round-Eintrages liest mein System das Dateisystem und erstellt auch die Playlist.
Da diese dann zwischen den anderen Playlists des MPD liegt, kann ich sie vom MPD aus wählen und sie funktioniert.
Von medialist aus bekomme ich das noch nicht zum laufen.
Weder "set MPDMediaList play currentdir" noch "set MPDMediaList play playlist" zeigen eine Wirkung.
Internals:
DEF /media
FUUID 5c44d12c-f33f-ed2c-e37d-321c674f7fbae979
NAME MPDMediaList
NR 251
ROOT /media
STATE ???
TYPE MediaList
.attraggr:
.attrminint:
READINGS:
2019-08-15 13:32:05 CurrentDir /media/pi/music/test
2019-08-15 13:32:05 FolderContent Back:Enya-Watermark.mp3
2019-08-15 13:32:05 SelectedItem /media/pi/music/test
2019-08-15 13:32:06 currentdir_playlist [{"Cover":"https://is4-ssl.mzstatic.com/image/thumb/Music118/v4/43/51/51/43515106-87b2-c8f0-8f9f-42272f2ecee4/source/100x100bb.jpg","Artist":"Enya","File":"/media/pi/music/test/Enya-Watermark.mp3","Album":"Paint The Sky With Stars - The","Time":146.677551020408,"Title":"Watermark"}]
2019-08-15 13:32:06 currentdir_playlistduration 146.677551020408
2019-08-14 21:41:00 playlist [{"File":"/media/pi/music/test/Enya-Watermark.mp3","Artist":"Enya","Cover":"https://is4-ssl.mzstatic.com/image/thumb/Music118/v4/43/51/51/43515106-87b2-c8f0-8f9f-42272f2ecee4/source/100x100bb.jpg","Title":"Watermark","Time":146.677551020408,"Album":"Paint The Sky With Stars - The"}]
2019-08-14 21:41:00 playlistduration 146.677551020407
2019-07-30 19:34:49 playlistname WifiRadio
2019-08-15 13:32:06 sortby File
2019-08-15 13:32:06 status idle
helper:
Attributes:
MediaList_CacheFileDir /media/pi/playlists/
MediaList_PathReplaceFrom /media/pi/
MediaList_PathReplaceTo /media/pi/
MediaList_PlayerDevice WifiRadio
MediaList_mkTempCopy none
group MediaPlayer
room 1.1_Wohnzimmer
verbose 5
mein MDP heist:
NAME WifiRadio
Hi,
wichitg ist, das ein "set MPDMediaList play *" dir die playlist aufbaut.
Bei meinem MPD funktioniert das leider auch nicht, das diese dann auch sofort abgespielt wird. Ich muss nach ein paar sekunden immer nochmal ein "set MPD start playlist" absetzen. Das liegt aber am MPD selbst da er einen Augenblick benötigt um die neuen Files in seine Bibliothek aufzunehmen. Beim Sonos mit Übergabe von NFS.Share links funktioniert das dagegen sofort
Das round solltest du in der letzten Fassung drin lassen, ansonsten kommt irgendetwas ev. nicht mit den Kommastellen klar
Hallo,
die Playlist wird aufgebaut und via FTUI entweder mit den gewählten Titeln oder dem Verzeichnisinhalt geladen.
Nur wird im MPD nicht auf diese Playlist umgeschaltet. Dort läuft einfach der RadioStream weiter.
Ich habe ein bisschen gebastelt und einen funktionierenden Workaround gefunden.
(ich hab von Pearl nicht viel Ahnung und die Funktionsweise nur grob gedeutet ... liege ich weit daneben?)
Im Sub "MediaList_OnPlayPressed" gibt es am Ende " fhem ("set ".$PlayerDevice." ".$PlayerStartCommand);"
Das wird aber nur ausgeführt wenn das Attribut PlayerStartCommand auch gesetzt ist.
... ist das nicht gesetzt ... wie wird die Wiedergabe gestartet?
Ich habe also das attribut PlayerStartCommand = play gesetzt noch die Auswahl der Playlist erzwungen...
Das sieht jetzt so aus und funktioniert ...
Log3 $hash->{NAME}, 5, "MediaList: Starte Player mit: set ".$PlayerDevice." ".$PlayerStartCommand;
fhem ("set ".$PlayerDevice." playlist WifiRadio");
sleep(5);
fhem ("set ".$PlayerDevice." ".$PlayerStartCommand);
stimmt, du brauchst dieses Attr, ist mir wohl entfallen.
HIer meine Definition für ein Sonos Device
defmod ML_test MediaList /media/music
attr ML_test DbLogExclude .*
attr ML_test MediaList_PathReplaceFrom /media/music/
attr ML_test MediaList_PathReplaceTo \\192.168.10.20/music/
attr ML_test MediaList_PathReplaceToPic https://www.xxxxx.de/music/
attr ML_test MediaList_PlayerDevice sonos_Wohnzimmer
attr ML_test MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
attr ML_test room Audio
attr ML_test verbose 3
Und eine Definition für ein MPD Device
defmod ML_MPD_DG MediaList /media/music
attr ML_MPD_DG DbLogExclude .*
attr ML_MPD_DG MediaList_CacheFileDir /var/lib/mpd1/playlists/
attr ML_MPD_DG MediaList_PathReplaceFrom /media/music/
attr ML_MPD_DG MediaList_PathReplaceToPic https://www.xxxxxx.de/music/
attr ML_MPD_DG MediaList_PlayerDevice MPD_DG
attr ML_MPD_DG MediaList_PlayerStartCommand playlist <filename><fileext>
attr ML_MPD_DG MediaList_mkTempCopy symlink
attr ML_MPD_DG room Audio
attr ML_MPD_DG verbose 3
Mahlzeit,
gibt es eigentlich eine Möglichkeit Medialist dazu zu bringen etwas höher aufgelöste Cover aus dem Internet zu ziehen?
Habe keine Einstellung dazu finden können.
Danke!
grtz
C0mmanda
Es ist auch nicht so einfach ein korrektes und passendes Cover zu finden , da nehme ich im Modul was ich finden kann ;)
Gesendet von iPhone mit Tapatalk
Zitat von: Tobias am 25 August 2019, 12:39:34
Es ist auch nicht so einfach ein korrektes und passendes Cover zu finden , da nehme ich im Modul was ich finden kann ;)
Gesendet von iPhone mit Tapatalk
Hab ich mir fast gedacht.. aber ein Versuch wars wert ;))
danke!
Hallo Tobias,
ich hatte schon einmal am 13.06.2019 geschrieben, da ich keine Playlist angezeigt bekam. Ich hatte leider Deine Antwort übersehen, Sorry! :'(
Hatte aber auch nicht mehr so darauf geachtet, da ich das Problem so umschifft hatte 8) und ich das Tool erfolgreich nutzen konnte. Jetzt ist aber noch ein anderes Problem aufgetreten, dazu aber später. Zuerst meine Rückmeldung zu dem "alten Problem":
Also ein Rechteproblem würde ich eher nicht vermuten. Ich bin zwar kein Programmierer, habe mir den Code aber nochmal angeschaut und würde vermuten, dass die Variable $fh nicht bestückt wird und daher der Fehler auftaucht. Anbei der CodeTeil aus Deiner aktuellen Datei:
596 sub MediaList_GetCover($$$$) {
597 my ($device, $filename, $artist, $album) = @_;
598 my $cover;
599 my $fh;
600
601
602 my $MediaList_CacheFileDir = AttrVal($device, "MediaList_CacheFileDir", "cache/");
603 my $file = $MediaList_CacheFileDir.'covers.txt'; #Format: Artist;Album;Url
604
605 # Todo persistente Speicherung der Cover
606 $cover = MediaList_CheckCoverAtPath($device, $filename);
607 $cover = MediaList_DownloadCover($device, $artist, $album) if(!$cover);
608
609 if ($cover && (length($artist) > 0 || length($album) > 0 )) {
610 open($fh, ">>", $file) or die "Datei nicht gefunden";
Daher habe ich zum Testen einen "Test" Musikordner lokal abgespeichert und alles dem Benutzer fhem zugeordnet. --> Trotzdem keine Dateien zu sehen.
Dann habe ich nochmal einen anderen Musikordner lokal abgespeichert und auch dem Benutzer fhem zugeordnet. Hier hatte ich im ftui gesehen, dass es Covers gab. --> Liste wurde erstellt
Tritt bei Dir der Fehler evtl. nicht auf, da bei Dir zu allen Dateien Covers zu finden sind?
Aber jetzt zu meinem aktuellen Problem, was ich leider nicht alleine umschiffen kann.
Wie gesagt, MediaList hat bis vor kurzem soweit funktioniert, auch in ftui. Anfängeraussage wie immer: Ich hatte aber gar nichts gemacht ;D (...naja, nicht wissentlich zumindest, außer generelles Update des Raspberry)
Das Problem äußerte sich dadurch, dass FEHM nicht mehr erreichbar war. Ich habe den FHEM Service mit Status abgefragt und dort stand u.a. "Active: deactivating (stop-sigterm)". Weiß nicht ob das von Bedeutung ist, steht aber leider nicht "Active: running".
Der Abbruch trat immer dann auf, wenn ich bei der "Playlist_Name" einen Namen eingegeben habe. Irgendwann ist mir eine Fehlermeldung im Logfile aufgefallen, die einen Hinweis auf "ReadingsSingleUpdate" gebracht hat. In Deinem Code in Zeile 211 steht:
ReadingsSingleUpdate($hash, "playlist", $par, 1);
Müsste dies nicht readingsSingleUpdate heißen? Wenn ich es in dieser Schreibweise eingebe, führt es an dieser Stelle zu keinem Abbruch mehr.
Dann leider noch das Problem, an dem ich nicht mehr weiterkomme...
Wenn ich den Namen eingegeben habe, die "currentplaylist_dir" zeigt die Lieder an und ich dann auf "Playlist_add" klicke, kommt es erneut zu einem Abbruch. Hierbei bin ich dann bei einer möglichen Fehlersuche irgendwann über JSON gestolpert. Könnte es evtl. etwas mit einem Update zu tun haben in Verbindung mit dem Crashverhalten von JSON bei Fehler/fehlerhaften Daten:
https://forum.fhem.de/index.php?topic=71737.0
Viele Grüße
Carsten
sorry :(
PlayListName habe ich wohl vergessen aus dem Code wieder rauszunehmen. Das war etwas halbfertiges. Hier sollte es möglich sein, zusammengestelle Playlisten abzuspeichern um sie dann später wieder einladen zu können. Ist nie fertig geworden, sollte eigentlich auch nie ins Repo wandern.
Ich schau mir das an und nehms raus. Bitte nicht verwenden ;) :(
Zum alten Problem, die variable $fh wird immer dann nicht gefüllt (Dateipointer wird nicht geöffnet) wenn ein Zugriffsproblem auftritt. Ggf. erstelle doch mal die covers.txt manuel lund gibt fhem dran alle rechte.
Und ja, sebstverstänlich funktioniert alles, auch wenn kein cover gefunden wird. Dann wird "images/cd-empty.png" benutzt. Ist ein kleines CD Symbol.
ok, wenn man den PlayListName raus lässt, funktioniert das Modul auch wie es soll ::)
Mist, nen halben Tag umsonst den Fehler gesucht. Dieser saß mal wieder vor dem Schirm >:( Aber mit jedem Fehler den man macht, lernt man auch einiges...
Die Idee mit dem Abspeichern einer Playlist ist doch gut. Ich wollte mir auf der Weboberfläche einen Button einbauen um eine mit Deinem Tool erzeugte Playlist zu speichern. Das was Du vor hast, wäre Deluxe, ist bestimmt nicht so einfach umzusetzen.
Die Grundfunktion eine Playlist einfach nur mit einem anderen Namen zu speichern und evtl. zu löschen dürfte für den ein oder anderen durchaus hilfreich sein. Hast Du noch vor eine solche Funktion bei Dir einzubauen?
Das "alte" Problem, das die currentdir_playlist hatte anscheinend wirklich etwas mit Rechten zu tun. Ich hatte zwar die Ordner dem Benutzer fhem zugeordnet, aber nachdem ich die Rechte mit chmod 777 überarbeitet hatte, funktionierte es auf einmal.
Danke für Deine Unterstützung :)
Irgendwie ist bei mir der Wurm drin, oder ich stehe auf nem sehr dicken Schlauch...
Konnte man nicht früher mit Playlist_Add eine Playlist erzeugen, die im Ordner von "MediaList_CacheFileDir" abgespeichert wurde? :-\
Jetzt werden bei mir Playlist (und Link-MP3's) nur noch erzeugt, wenn ich auf Play klicke.
Viele Grüße
Carsten
Playlist_New und Playlist_Name haben noch nie funktioniert da ich die Funktionalität noch nie komplett eingebaut hatte.
Playlist_Add und Playlist_Del funktionieren, hier werden aus der currentdir_playlist einzelne Tracks (oder alle) in die (eine !) playlist kopiert / gelöscht. Playlist_Empty leert die playlist komplett.
Fazit: es gibt also immer 2 Playlists. Die currentdir_playlist wird automatisch befüllt aus alles gefundenen Tracks des aktuellen verzeichnisses, die normale playlist wird manuelle befüllt.
Hallo Tobias
wie würdest Du es einschätzen mit diesem Modul eine Bibliothek von >60000 Titel zu verwalten?
mp3 tags sind ziemlich gut gepflegt und cover sind über itunes auch in den mp3 files vorhanden.
Ich würde dann auf Sonos abspielen wollen, benötige jedoch aufgrund der Menge auch eine Suchmöglichkeit und verschiedene Gruppierungen.
Momentan spiele ich vom Server aus einer Virtuellen Maschine mit itunes ab.
Die mp3 werden mit itues verwaltet und in der Direktorystruktur abgelegt.
Gruß
Christian
Hi,
also die gesamte Sammlung kann eigentlich unendlich gross sein, nur die Tracks pro Folder bzw die Einträge jeweils in den playlists sollten nicht mehr als 50 sein.
Meine mp3-Sammlung umfasst ca 700Gb.
Eine Suchmaschine auf Tag-Basis habe ich noch nicht eingebaut aber schon mal dran gedacht - auf Basis einer sqlite-DB
Wie würde sich denn dann die Struktur aufbauen?
Aus den Pfadnahmen des Fileshare oder aus den mp3 Informationen?
Habe ich dann hinterher für 7000 Alben einzelne Abspiellisten?
Zitat von: ch.eick am 24 September 2019, 14:24:58
Wie würde sich denn dann die Struktur aufbauen?
Aus den Pfadnahmen des Fileshare oder aus den mp3 Informationen?
Habe ich dann hinterher für 7000 Alben einzelne Abspiellisten?
Pfadnamen, so wie sie auch im NFS liegen
Puh, das wird mir dann etwas zu unübersichtlich, das ist schon jetzt am Rechner kaum zu bändigen.
Ich denke für kleinere Samlungen wird es gut gehen.
Bei mir ist es dann momentan doch besser mit itunes und itunes remote auf dem ipad.
Vielen Dank für den Gedankenaustausch
Christian
Fehler gefunden:
Zitat2019.10.09 17:24:26 1: PERL WARNING: Argument "" isn't numeric in addition (+) at /opt/fhem/FHEM/98_MediaList.pm line 378.
Undefined subroutine &main::ReadingsSingleUpdate called at /opt/fhem/FHEM/98_MediaList.pm line 201.
Muss readingsSingleUpdate heißen.
Ansonsten bin ich Willens, die entsprechende Erweiterung für BOSE-Boxen mitzuentwickeln.
LG
pah
Noch'n Fehler:
Zitatmalformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Klassik") at /opt/fhem/FHEM/98_MediaList.pm line 373.
Crasht FHEM. Hat wohl irgendwie zu tun mit dem Attribut MediaList_PathReplaceTo
Tipp: https://metacpan.org/pod/Test::JSON
benutzen, um diesen Crash zu vermeiden.
Noch'n Fehler:
ZitatCan't use an undefined value as a symbol reference at /opt/fhem/FHEM/98_MediaList.pm line 332.
Crasht FHEM.
Warnungen:
Zitat2019.10.09 18:22:08 1: PERL WARNING: Use of uninitialized value in addition (+) at /opt/fhem/FHEM/98_MediaList.pm line 383.
2019.10.09 18:22:26 1: PERL WARNING: Use of uninitialized value in subtraction (-) at /opt/fhem/FHEM/98_MediaList.pm line 415.
ZitatDatei nicht gefunden at /opt/fhem/FHEM/98_MediaList.pm line 610.
Ich habe diese spezielle FHEM-Installation jetzt durch das Modul mindestens 10x gecrasht, einfach nur durch Verwendung der set-Befehle in meinem NAS-Share mit MP3s. Für den Moment gebe ich auf...
LG
pah
Hatte ich imho schon geschrieben, bitte nicht die set neu und rename Befehle benutzen. Die muss ich noch ausbauen. Siehe Post #119
Für Anpassungen bitte einen github pullrequest stellen
Gesendet von iPhone mit Tapatalk
Oh, ich habe diese Befehle und diverse andere Kleinigkeiten in einer Spezialversion des Moduls jetzt schon behoben und eine Ausgabe der Playlist auf Bose-Boxen errreicht - geht prima.
Werde das demnächst mal schicken - vielleicht magst Du es übernehmen.
Derzeit habe ich noch eine Baustelle, und zwar habe ich (das ist erlaubt ...) auf meiner NAS viele Musikverzeichnisse mit einem Leerzeichen im Namen. Die werden im select-Widget nicht richtig angezeigt (und auch nicht richtig übernommen). Ich muss mal nachgraben, ob es dafür irgendeine Option des select-Widgets gibt - sonst muss man irgendeinen Workaround konstruieren.
Edit: Das passiert immer dann, wenn das select-Widget seine Liste aus einem Reading bezieht - nicht, wenn diese Liste statisch als Argument mitgeliefert wird.
EditEdit: Auch schon gelöst - es muss nur der data-delimiter explizit auf ":" gesetzt werden. Wenn man das unterlässt, wird ein Leerzeichen ebenfalls als delimiter aufgefasst.
LG
pah
Ich übernehme immer gerne sinnvolle Erweiterungen. Aber bitte als PullRequest in meinem GitHub (siehe Sig)
Normalerweise ist das Modul unabhängig zur Hardware (MPD, SONOS, BOSE) da man den Übergabebefehl zum Device selbst als Attribut vergeben kan. Aber ich bin auf deine Version gespannt
Viele Unterschiede im Handling sind es nicht. BOSE kann keine direkt übergebene Playlist abspielen. Damit man dem Server auch sicher mitteilt, dass sich die Playlist geändert hat, wird diese zuerst gelöscht, dann neu geschrieben.
Außerdem habe ich das crashen von FHEM abgefangen, wenn das Cache-Verzeichnis nicht schreibbar ist, sowie in die Verzeichnisliste nur Verzeichnisse aufgenommen uvm. Einige Kleinigkeiten halte.
LG
pah
@Tobias:
Kannst Du mir mal erklären, welchen Sinn das mit dem "mkTempCopy" als symlink hat ? Das spart zwar etwas an Schreiboperationen ein, wenn das Zielverzeichnis auf derselben Kiste liegt - aber wenn es sich um einen Samba-Share handelt, führt das zu einer erhöhten Netzlast.
LG
pah
Die Entscheidung ob als symlink oder echter Kopie kann jeder Anwender selbst entscheiden. Man muss sich zwischen beiden aber entscheiden wenn man den MPD als AusgabeDevice nutzt.
Ich z.B. nutze die Symlink Methode und habe alle Musik vom NAS am Server eingebunden. Läuft perfekt.
Gesendet von iPhone mit Tapatalk
Machen wir es einfacher: Pull Request ist drin. Viele "-" sind nicht ernst zu nehmen, weil meine Änderungen auf einer etwas älteren Version von MediaList beruhen. Das ist aber nicht Kritisches.
LG
pah
hi pah,
github erstellt automatisch ein diff wenn du den pullrequest stellst. Allerdings nicht durch "simples" Datei hochladen, sondern durch einen Fork, ändern der Datei im Fork und direkt aus dem Fork den Pullrequest stellen.
So ist es geschehen...
LG
pah
Hi pah,
Playlist_Read hast du vergessen mit einer funktion zu hinterlegen? Man müsste im Falle in FTUI eine Liste zur Auswahl bekommen aus der man eine Playliste auswählen kann.
Wie hast du Playlist_Save in FTUI realisiert?
Hast du etwas an Playlist_New und Playlist_Name geändert? Ich wollte die beiden funktionen löschen.
ZitatPlaylist_Read hast du vergessen mit einer funktion zu hinterlegen?
So weit war ich noch nicht, hätte in dem Pull Request noch herausgelassen werden sollen.
ZitatWie hast du Playlist_Save in FTUI realisiert?
Noch gar nicht - work in progress.
ZitatHast du etwas an Playlist_New und Playlist_Name geändert?
Nein. Die Frage ist, ob man nicht doch irgendwie realisieren sollte, eine existierende Playlist einzulesen, um sie zu editieren.
Bin jetzt aber bis Ende nächster Woche ziemlich lahmgelegt, weil ich einen Lehrauftrag an der Universität Wien wahrnehmen muss.
LG
pah
Hoffe ich bin hier richtig?? Wenn nicht dann tut es mir leid.
Was mache ich Falsch??
Also habe eine USB Festplatte diese wird auch von meinem PI erkannt also das läuft. Meine Musik soll von meinem Pi per USB_karte an meine Anlage im Wohnzimmer übertragen werden.
Hier ist meine gemountete Platte "/media/pi/los/Musik".
Diese ist meine List von meiner MediaList:
Internals:
CFGFN
DEF /media/pi/los/Musik/
FUUID 5e07d33d-f33f-faf7-c2e7-c23047366c72d3bc
NAME MediaList
NR 428
ROOT /media/pi/los/Musik/
STATE ???
TYPE MediaList
READINGS:
2019-12-28 23:17:11 playlist []
2019-12-28 23:17:11 playlistduration
2019-12-28 23:17:11 playlistname Jo
Attributes:
MediaList_CacheFileDir /var/lib/mpd/playlists/
MediaList_PlayerDevice Musikplayer
MediaList_mkTempCopy symlink
room Musik
Was mache ich Falsch?? oder was muss ich anderes eintragen? Habe es so verstanden wie ich es eingetragen habe.
Danke schon mal im vorraus
Hallo zusammen,
könnte man das Device auch dazu nutzen um pi-intern (durch einen extra Player wie zb OMXplayer) über HDMI Musik abzuspielen?
.. oder gibt es sowas schon?
Viele Grüße und allen noch einen guten Rutsch !
Andreas
Was ist eine
ZitatUSB_karte
?
LG
pah
Hi
Das ist eine USB Soundkarte. Es nicht ganz richtig ausgeschrieben.
Ich habe das Modul ziemlich stark modifiziert, weil ich damit Playlists erstelle, die auf meiner NAS gespeichert werden. Sobald diese geschrieben sind, stoße ich einen Rescan des MinimServers an, so dass diese Playlist unmittelbar danach zur Verfügung steht. Außerdem hat das Play-Kommando einen weiteren Parameter bekommen, so dass es auf verschiedene Abspielgeräte zugreifen kann (siehe geändertes CommandRef).
Tobias Faust hat sich zwar bisher noch nicht entschieden, das Modul auf diese Weise umzubauen - aber leider auch die reinen Fehlerkorrekturen beftreffend den Perl-Code und das CommandRef noch nicht übernommen.
List meines Devices:
Internals:
DEF /home/music
FUUID 5d9e08c9-f33f-05e4-fcd2-08dea95922b3df92
NAME Playlister
NR 210
ROOT /home/music
STATE idle
TYPE MediaList
READINGS:
2019-12-31 12:30:36 CurrentDir /home/music/Gregorian
2019-12-31 12:30:36 FolderContent Back
2019-12-31 12:30:36 SelectedItem /home/music/Gregorian
2019-12-31 12:30:47 currentdir_playlist [{"Album":"The Platinum Collection",...."}]
2019-12-31 12:30:47 currentdir_playlistduration 8682
2019-12-31 15:02:42 playlist []
2019-12-31 15:02:42 playlistduration
2019-12-22 16:57:18 playlistname Playlist
2019-12-31 12:30:47 sortby File
2019-12-31 12:30:47 status idle
2019-12-22 17:12:35 targetdir Antonio Vivaldi
Attributes:
MediaList_CacheFileDir /tmp/
MediaList_PathReplaceFrom /home/music/
MediaList_PlayerDevice BOSE_C4F312DD64C7
MediaList_PlayerStartCommand off;set miniM rescan;sleep 5 quiet;set <device> origin Playlist
MediaList_PlayerType BOSE
group Sound
room Multimedia
stateFormat status
userReadings targetdir:none {}
Modul im Anhang.
LG
pah
@Tobias: Mal ne Frage an Dein System: Wie schlägt sich der ASRock J3455-ITX im Vergleich zum Pi - speziell zum 4er? Oder anders: Warum hast Du Dich für ein Celeron entschieden?
Sorry für die späte Antwort
Es sollte ein Board für ein 19" Rack sein. Weiterhin habe ich 2 SSD's im RAID 1 als systemplatte drin
Neben FHEM läuft noch Mosquitto und ein kompletter Mailserver drauf
Gesendet von iPhone mit Tapatalk
Hallo Tobias
Erst mal vielen Dank für die coole MedaList!
Versuche gerade Deinen Code und Buttons der Medialist zu verstehen und habe es nun nach diversen FhemCrashs :-\ geschaft den Code in das FUIP einzubinden, so das nun fast alles funktioniert.
Ich verstehe aber die Funktion der 3 'Output'-Buttons nicht.
Was genau sollten diese bezwecken?
<div data-type="label"
data-device="MPD_par_device"
data-get="outputname1"
class="cell">
</div>
<div data-type="checkbox"
data-device="MPD_par_device"
data-get="outputenabled1"
data-set="outputenabled1"
data-get-on="1"
data-get-off="0"
class="small cell">
</div>
<div data-type="label"
data-device="MPD_par_device"
data-get="outputname0"
class="cell">
</div>
<div data-type="checkbox"
data-device="MPD_par_device"
data-get="outputenabled0"
data-set="outputenabled0"
data-get-on="1"
data-get-off="0"
class="small cell">
</div>
Ich habe in meinen Sonosplayern keine Readings Namens 'outputenabled0' oder 'outputname0'.
Und wenn ich es aus diesem Tread richtig entnehmen konnte sind die beiden folgenden 'Buttons' überflüssig da (noch) keine Funktion dafür vorhanden ist?
<div data-type="push"
data-device="ML_par_device"
data-icon="fa-edit"
data-background-icon="-"
data-set-on=""
class="big">
</div>
.....
<div data-type="push"
data-device="ML_par_device"
data-icon="fa-download"
data-background-icon="-"
data-set-on=""
class="big">
</div>
(Codeteile sind aus dem MediaList-Wiki zur Templatedefinition)
LG