Modul für MPD

Begonnen von roedert, 08 Januar 2014, 12:17:21

Vorheriges Thema - Nächstes Thema

nesges


Wzut

lade die 73_MPD aus Posting #228 , der einzige Unterschied zur Version von gestern ist das <Doppelpunkt Blank> Thema, sonst keine Änderungen
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

nesges

Die Änderung für den Doppelpunkt funktioniert, meine Listen sind jetzt sauber.

Es hat sich aber ein anderes Problem aufgetan, das ich noch nicht vollständig reproduzieren kann. Nach einem Fhem-Neustart ist's nicht mehr hochgefahren. Im Log war nichts auffälliges zu sehen, ausser dass es an einem Punkt (der nichts mit MPD zu tun hat) nicht weiter ging. Auch mit verbose 5 keine näheren Infos. Es ging erst weiter, als ich die 73_MPD entfernt habe. Später im laufenden Fhem konnte ich die 73_MPD per reload wieder aktivieren, ein-zwei Neustarts haben auch funktioniert. Aber an einem Punkt, den ich nicht genau bestimmen kann, war wieder die Situation da, dass Fhem nicht mehr vollständig gestartet hat. Ich habe jetzt die Version aus dem Repository wieder installiert und konnte den Fehler damit nicht noch einmal provozieren.

Leider kann ich im moment nichts handfesteres beitragen, aber ich kann gerne noch weitere Tests durchführen, wenn du etwas konkretes ausprobieren möchtest. Es ist natürlich auch gut möglich, dass die Ursache eine vollkommen andere ist.

Wzut

hm, hm , hm klingt ja ersteinmal nicht so toll.
Eine Idee hätte ich falls deine Installation etwas größer ist bzw. der fhem Start bei dir etwas länger dauert :
Such doch mal im Modul recht weit oben im Define Abschnitt die Zeile
InternalTimer(gettimeofday()+5, "MPD_updateConfig", $hash, 0);
ändere dort die +5 auf irgend etwas größeres wie z.B. +20

Hintergrund : das Modul hat schon immer dieses zweistufige Startverhalten und bis jetzt scheinen diese 5 Sekunden Verzögerung auch immer voll ausreichend gewesen zu sein.
Wenn der Versuch eine Verbesserung bringt werde ich im nächsten Update etwas einbauen das diese 5 Sekunden schrittweise verlängert bis fhem wirklich komplett durchgestartet ist.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

CarstenF

Hallo zusammen,
Ich habe dieses schöne Modul nur zufällig gefunden und finde es Klasse. Danke dafür  ;). Ich habe mir ein W-Lan Radio auf einem Raspi eingerichtet und steuer dieses per MPD aus FHEM heraus. Jetzt meine Frage: Gibt es sowas wie einen Sleep Timer, bzw. besser ausgedrückt: On-for-Timer?
Hintergrund ist der, das ich das Radio per Bewegungsmelder für eine gewisse Zeitspanne starten möchte.  Ich könnte natürlich ein DOIF erstellen, damit MPD nach X Minuten wieder aufhört abzuspielen. Jedoch wollte ich mal hören, ob ich da was übersehen habe, womit man es einfacher lösen könnte.

Danke, Gruß Carsten
Raspberry Pi4
CUL 868, CUL 433, LaCrosse Gateway, Zigbeetomqtt2, HUE, Homematic
Max-Cube umgeflasht
MAX!, FhemtoFhem, Homebridge, FhemConnector, IR_Gateway und sonst auch noch allerlei Spielzeug....

nesges

Zitat von: Wzut am 04 Februar 2016, 11:25:52
hm, hm , hm klingt ja ersteinmal nicht so toll.
Eine Idee hätte ich falls deine Installation etwas größer ist bzw. der fhem Start bei dir etwas länger dauert :
Such doch mal im Modul recht weit oben im Define Abschnitt die Zeile
InternalTimer(gettimeofday()+5, "MPD_updateConfig", $hash, 0);
ändere dort die +5 auf irgend etwas größeres wie z.B. +20

Meine Installation dürfte von der Größe im Mittelfeld liegen, denke ich:

2016.02.04 13:46:50 0: Server started with 497 defined entities (fhem.pl:10679/2016-01-31 perl:5.014002 os:linux user:fhem pid:1370)

Habe auf 25 erhöht und hatte seitdem keine Probleme mehr. Ich werd's weiter beobachten und melde mich ggf. nochmal.

Wzut

sehr schön dann bleibe erst einmal bei einen 25 Sekunden, ich habe auf jeden Fall in der nächsten Version eine abgestufte automatische Erhöhung um jeweils 5 Sekunden drin. Das hatte ich auch so schon einmal in einem anderen Modul von mir um sicher zu stellen das das Modul erst richig los legt wenn fhem komplett oben ist.

@all : Ich habe mich heute mal etwas über das Thema Cover Art schlau gemacht, bzw. wie  man das noch in das Modul einbauen könnte.
Zur Zeit spiele ich mit der Datenbank / API von lastfm.com und bekomme bei meinen Radiostreams schon mal Infos und Bilder über den Interpreten (artist),
In wie weit ist das Thema für euch wichtig ? bzw. welcher andere Cover Art Dienst hat auch eine recht einfach abzufragende API ? iTtunes ? 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

nesges

iTunes ist sehr vollständig und hat eine einfache, durchdachte und dazu noch gut dokumentierte API (https://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html). Ich hab sie in einem Widget für Fhem-Tablet-UI implementiert. JS-Quellcode unter https://github.com/nesges/Widgets-for-fhem-tablet-ui/blob/master/www/tablet/js/widget_itunes_artwork.js Der Ajax-Request ab Zeile 59 ist wahrscheinlich alles was du brauchst.

Wzut

#263
Hier meine neuste Version die Cover Art von www.lastfm.com unterstützt.
Zum einschalten von Cover Art gibt es das neue Attribut "image_size" , hat den default Wert -1 = Cover Art aus, d.h. es werden keine Infos/Bilder zum aktuellen Interpreten (artist) aus dem Internet nachgeladen.
Lastfm bietet Interpreten Bilder in verschieden Größen an 
0 = 34 x 34px
1 = 64 x 64px
2 = 174 x 174px
3 = 300 x 300px
Ist ein Bild für den aktuellen artist verfügbar enthält das Reading artist_image einen HTML Direktlink auf die Datenbank von Lastfm
Anzeigen lassen kann man sich das Bild z.B. mit einer ReadingsGroup :
define Artist readingsGroup MPD:artist,artist_image
attr Artist nolinks 1
attr Artist nonames 1
attr Artist nostate 1
attr Artist notime 1
attr Artist room MPD

Bei der Aktion ist mir eine kleine Unschönheit von fhemweb aufgefallen :
Wenn die ganze Seite geladen wird werden die HTML Tags von fhemweb gewandelt , d.h. man sieht den Bildlink als Text (pic2 +4), wird die Seite danach via Longpoll aktualisiert ( Bsp beim Wechsel des Interepten im Radiostream) sieht man das gewünschte Bild (pic1 +3).
Z.Z. bin ich mir noch im Unklaren welche der beiden Varianten den Bug hat, wenn es Longpoll sein sollte habe ich jetzt hoffentlich keine schlafenden Hunde geweckt sonst wird es mit der Variante auch bald vorbei sein :(
   
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rasti

Zitat von: Wzut am 05 Februar 2016, 21:54:18
@all : Ich habe mich heute mal etwas über das Thema Cover Art schlau gemacht, bzw. wie  man das noch in das Modul einbauen könnte.
Zur Zeit spiele ich mit der Datenbank / API von lastfm.com und bekomme bei meinen Radiostreams schon mal Infos und Bilder über den Interpreten (artist),
In wie weit ist das Thema für euch wichtig ? bzw. welcher andere Cover Art Dienst hat auch eine recht einfach abzufragende API ? iTtunes ?

Hallo,

finde ich super, ein paar Anmerkungen dazu
- ich nehme an, du suchst in last.fm momentan mit Artist,Title und Album ?

1)
Für mich zumindest wäre es super,wenn man auch mit dem Dateinamen suchen könnte.
Ich habe GB-weise Uralt-mp3 ohne Album, Artist bzw.Titelinfo.
Die Dateinamen lauten z.B.
BaseUnique_VoyageVoyage.mp3
Anton Feat DJ Ötzi - Das Album - 03 - Gemma Bier trinken.mp3
12. Hotel California - Gypsy Kings.mp3
12 - You came.mp3
01EAV - Geld oder Leben.mp3

Wenn man da .mp ,alle Unterstriche, Zahlen,Punkte etc.rauswirft, könnte man mit der Info bei Last.fm suchen

2) In 90% meiner Folder liegen JPG GIF PNG mit einem Albumart.
Ich habe als MPD Server VOLUMIO installiert und kann auf meine
Bilder im LAN zugreifen z.B.

http://192.168.178.7/music/USB/mp3/Andreas%20gabalier/folder.jpg

Der Pfad ist ja in den MPD Readings (file) drin, das sollte also suchbar und findbar sein.

3) Es gibt auch MP3mit embedded artwork,brauche bzw. möchte ich persönlich aber gar nicht haben

4) Obiges könnte man userdefiniert in eine bestimmte Reihenfolge bringen, so ähnlich
wie die reverse-search-optionen bei der  Fritzbox-Call-Liste.


Hier mal zusammengefasst meine "Wunschliste" oder Ideensammlung

- diverse Optionen zur Artwork-Suche
  1.  last.fm oder itunes-Suche mit Artist/Titel/Album (so wie du es jetzt anscheinend schon hast)
  2.  wenn nicht vorhanden, lokales jpg/gif/png einbinden
  3.  wenn nicht vorhanden last.fm oder itunes-Suche mit Dateinamen-Info
  4. wenn Radiosender ohne Artist/Titel/Album-Infos, dann default-Image anzeigen.

Gruss

Ralf

The-Holgi

Hallo,
nach installieren der neuesten mpd-Version taucht folgende Meldung nach einem fhem neustart auf:
"my" variable $size masks earlier declaration in same scope at ./FHEM/73_MPD.pm line 955, <$fh> line 1342.

Gruß Holgi
HP T610 Thin Client; Docker Fhem 5.9; 2X CUL V3 868mhz; Max Heizungssteuerung; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

fume

Hallo

Mal eine Frage zum update der Internals. Wie oft werden die "outputs" aktualisiert, anscheinend nur beim start von fhem.
Wenn ich zb. mit
set meinMPD mpdCMD enableoutput 2
set meinMPD mpdCMD disableoutput 2

Schalte, wird zwar der Ausgang einwandfrei ein- und ausgeschaltet, aber in den Internals bleibt immer der gleiche Wert.
Wie kann ich diese Werte aktualisieren.

justme1968

internals werden fhem intern sofort aktualisiert erzeugen aber nein event und werden im im browser fenster nicht per longpoll aktualisiert. wenn du den browser neu lädst oder den wert per InternalVal abfragst bekommst du immer die aktuellen werte.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

fume

Leider werden die Werte auch nach Browseraktualisierung nicht geändert.
Erst nach einen get meinMPD outputs und anschliessenden Browserupdate werden die Wert geändert.

justme1968

dann würde ich sagen ist das etwas das im modul repariert/angepasst werden muss.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968