FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Tobias am 19 Dezember 2016, 15:55:43

Titel: neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 19 Dezember 2016, 15:55:43
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

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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Petrosilius Zwackelmann am 05 Februar 2017, 22:19:27
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-perlsudo apt-get install libjson-xs-perlsudo apt-get install libmp3-info-perlsudo 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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 06 Februar 2017, 10:30:52
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Petrosilius Zwackelmann am 06 Februar 2017, 21:12:38
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 07 Februar 2017, 09:41:30
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Petrosilius Zwackelmann am 07 Februar 2017, 11:48:30
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 07 Februar 2017, 11:57:10
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>
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Petrosilius Zwackelmann am 07 Februar 2017, 12:24:35
Hallo Tobias,

attr <ML> MediaList_PlayerStartCommand StartPlaylist file:<fullfile> habe ich eingestellt.

ich habe jetzt nacheinander ..
set MyMediaList RequestedDirectory /set MyMediaList RequestedDirectory /ACDCset 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 currentdirnichts passiert.

Gruß Manuel
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 07 Februar 2017, 14:17:56
das war falsch:
set MyMediaList RequestedDirectory /ACDCBitte 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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Petrosilius Zwackelmann am 07 Februar 2017, 17:12:04
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 07 Februar 2017, 17:55:58
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Petrosilius Zwackelmann am 07 Februar 2017, 22:38:23
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Eisix am 09 Februar 2017, 17:24:19
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 10 Februar 2017, 11:50:50
Das ist korrekt, ML = Medialist
Der obige parameter ist das Zieldevice, der untere Parameter die zugehörige Medialist
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Shadow3561 am 12 Februar 2017, 15:07:29
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Shadow3561 am 14 Februar 2017, 05:45:30
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag 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?
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: accessburn am 15 Februar 2017, 15:24:28
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?
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: C0mmanda am 17 Februar 2017, 20:46:21
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: C0mmanda am 18 Februar 2017, 09:40:02
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: knopf_piano am 18 Februar 2017, 15:24:08
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!
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: knopf_piano am 18 Februar 2017, 20:48:24
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Shadow3561 am 19 Februar 2017, 08:14:30
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 19 Februar 2017, 14:06:47
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

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag 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?
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 21 Februar 2017, 13:35:34
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: C0mmanda am 21 Februar 2017, 19:09:22
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 21 Februar 2017, 20:06:10
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: C0mmanda am 22 Februar 2017, 07:37:52
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 22 Februar 2017, 08:58:15
Hi,
Zitat
Es 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;
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: C0mmanda am 22 Februar 2017, 18:01:40
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: gamelive1207 am 24 Februar 2017, 20:32:33
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 25 Februar 2017, 13:33:33
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)) {
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: gamelive1207 am 25 Februar 2017, 13:40:08
Ok,

habe jetzt den Ordner mal über MP3TAG gelesen. die Tracknummerierung passt. Bild angehängt.

Was jetzt?
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 25 Februar 2017, 13:59:07
mach mal die Codeänderung, siehe vorherigen beitrag
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: gamelive1207 am 25 Februar 2017, 14:13:39
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 25 Februar 2017, 16:39:58
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..
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: gamelive1207 am 25 Februar 2017, 16:44:08
ok, danke aber schonmal für deine Hilfe. Werde ja erstmal nicht daran sterben ;).

Angenehmes Restwochenende Euch/Dir
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: C0mmanda am 26 Februar 2017, 15:19:06
@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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Reinerlein am 26 Februar 2017, 17:47:49
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 02 März 2017, 16:56:04
Natürlich, ich hoffe ich komme morgen zum Posten des codeschnipsels. Bzw werde ich das Wiki ergänzen

Gesendet von meinem Leap mit Tapatalk

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Eisix am 03 März 2017, 11:03:16
Hallo,

Ich versuche das ganze an die Bose Soundtouch anzupassen. Hat schon jemand Versuche in die Richtung gemacht?

Gruß
Eisix
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 03 März 2017, 13:27:12
Ist noch nicht ganz umgestellt. In die settings kommt man über das Wettersymbol rechts neben der Lautstärke
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Reinerlein am 04 März 2017, 00:40:21
Hi Tobias,

danke für die Vorlage. Ich habe mir daraus jetzt ein eigenes abgeleitet...

Grüße
Reiner
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 08 März 2017, 14:49:08
ab sofort über Fhem Update verteilt
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Shadow3561 am 13 März 2017, 19:02:16
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 13 März 2017, 20:32:32
es geht hier ja auch nur um *.mp3 Dateien ;)
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 14 März 2017, 14:01:54
da ich hier keine Rückmeldung bekomme gehe ich mal davon aus das alles tut wie es soll?
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Beagel am 14 März 2017, 19:06:43
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ß
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 15 März 2017, 08:21:05
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Beagel am 15 März 2017, 12:32:21
@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.

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 15 März 2017, 15:08:40
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Beagel am 15 März 2017, 16:18:31
@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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 16 März 2017, 07:37:18
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Beagel am 16 März 2017, 10:54:19
@ Tobias

Danke

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: math78 am 24 März 2017, 10:59:40
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 24 März 2017, 14:36:25
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Bastian0302 am 14 April 2017, 18:39:10
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 14 April 2017, 19:13:35
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Bastian0302 am 15 April 2017, 09:52:42
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Axel_S am 19 April 2017, 20:10:15
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!
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 20 April 2017, 11:41:30
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

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Axel_S am 20 April 2017, 19:58:08
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 21 April 2017, 11:42:36
ganz einfach, dir fehlt das Atrtribut zum StartCommand ;)

attr <ML_dev> MediaList_PlayerStartCommand StartPlaylist file:<fullfile>
steht aber so im Wiki, glaub ich....
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Axel_S am 22 April 2017, 06:37:29
... 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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Mustermann am 09 Juli 2017, 18:56:40
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 kuechenradioerzeugt 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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 09 Juli 2017, 19:22:08
Bin mir ziemlich sicher das deine mpd.conf nicht passt zu diesen Pfaden.

Gesendet von meinem Leap mit Tapatalk

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Mustermann am 09 Juli 2017, 20:41:57
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"
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 10 Juli 2017, 13:21:21
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Mustermann am 10 Juli 2017, 17:28:43
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.mp3die 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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 11 Juli 2017, 11:19:47
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

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Mustermann am 24 Juli 2017, 20:25:53
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Shadow3561 am 17 September 2017, 19:38:28
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: math78 am 22 September 2017, 15:10:06
Hallo,

habe das heute in meiner LOG Datei vorgefunden. Kann man das beheben?

Zitat
PERL 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

Zitat
PERL 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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: hotbso am 06 Dezember 2017, 09:47:41
@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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Maik am 04 Januar 2018, 17:34:34
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?
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 12 Januar 2018, 09:03:12
Der letzte Stand kommt per fhem update, ich habe auch Leerzeichen, die werden aber in ftui korrekt dargestellt.

Gesendet von meinem Leap mit Tapatalk

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Girgl am 23 September 2018, 08:50:11
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 23 September 2018, 09:03:37
Poste mal bitte den Inhalt vom Reading Foldercontent. Ich habe auch jede Menge Leerzeichen und alles wird korrekt dargestellt


Gesendet von iPhone mit Tapatalk
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Girgl am 23 September 2018, 09:30:07
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

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 24 September 2018, 11:16:08
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Girgl am 24 September 2018, 18:11:37
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 25 September 2018, 18:51:50
Also die Cover müssen „Cover“ oder „Front“ im Namen haben um erkannt zu werden


Gesendet von iPhone mit Tapatalk
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Girgl am 28 September 2018, 10:22:08
Habe für das Leerzeichen-Problem jetzt eine Lösung gefunden. Das Attribut <data-limiter=":"> im select-widget brachte das gewünschte Ergebnis.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Wasserwerk33 am 16 Oktober 2018, 08:13:33
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Wasserwerk33 am 17 Oktober 2018, 22:37:43
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 22 Oktober 2018, 16:55:19
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Wasserwerk33 am 26 Oktober 2018, 20:38:50
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 11 November 2018, 20:08:43
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: eckibrecki am 13 Juni 2019, 16:15:54
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 14 Juni 2019, 09:44:12
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....
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: dirk.k am 12 Juli 2019, 15:57:26
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?
 
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 12 Juli 2019, 19:36:52
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: dirk.k am 28 Juli 2019, 21:17:26
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
 
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 29 Juli 2019, 11:45:18
Es müssen mp3 Dateien sein


Gesendet von iPhone mit Tapatalk
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: dirk.k am 29 Juli 2019, 18:27:09
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 30 Juli 2019, 13:44:59
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: TomLee am 03 August 2019, 17:33:42
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: dirk.k am 04 August 2019, 10:46:37
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. 

Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 13 August 2019, 08:21:27
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" => ""};
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: TomLee am 13 August 2019, 09:32:02
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 13 August 2019, 10:40:47
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: TomLee am 13 August 2019, 11:06:30
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)


Zitat
Wurde 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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 13 August 2019, 11:24:09
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" => ""};
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: TomLee am 13 August 2019, 14:44:19

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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 13 August 2019, 19:45:46
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 15 August 2019, 10:42:01
Ich habe das Modul in meinem Repo bzgl des round Problems aktualisiert, bitte testen
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: dirk.k am 15 August 2019, 13:36:10
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 15 August 2019, 14:03:31
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: dirk.k am 15 August 2019, 22:15:02
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);
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 16 August 2019, 11:20:37
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: C0mmanda am 25 August 2019, 12:20:44
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag 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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: C0mmanda am 25 August 2019, 17:55:12
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!
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: eckibrecki am 02 September 2019, 16:42:37
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 02 September 2019, 18:13:11
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: eckibrecki am 03 September 2019, 11:37:02
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  :)
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: eckibrecki am 03 September 2019, 13:19:59
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 07 September 2019, 10:24:18
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.
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: ch.eick am 24 September 2019, 13:51:13
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 24 September 2019, 14:05:07
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag 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?
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 24 September 2019, 14:25:50
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: ch.eick am 24 September 2019, 14:33:02
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Prof. Dr. Peter Henning am 09 Oktober 2019, 17:31:47
Fehler gefunden:

Zitat
2019.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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Prof. Dr. Peter Henning am 09 Oktober 2019, 17:46:33
Noch'n Fehler:
Zitat
malformed 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:
Zitat
Can't use an undefined value as a symbol reference at /opt/fhem/FHEM/98_MediaList.pm line 332.
Crasht FHEM.

Warnungen:
Zitat
2019.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.
Zitat
Datei 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
Titel: neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 11 Oktober 2019, 11:02:33
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Prof. Dr. Peter Henning am 11 Oktober 2019, 13:44:53
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Tobias am 11 Oktober 2019, 16:54:04
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Prof. Dr. Peter Henning am 12 Oktober 2019, 06:59:00
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
Titel: Antw:neues Modul: 98_MediaList.pm zur Erstellung einer Playlist für TabletUI
Beitrag von: Prof. Dr. Peter Henning am 15 Oktober 2019, 09:35:55
@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