Modul für MPD

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

Vorheriges Thema - Nächstes Thema

harry303303

Zitat von: Wzut am 26 Januar 2017, 09:40:26
Ich werde heute im Laufe des Tages eine neue Version einchecken.
- change :
...
b. MPD Kommando lsinfo ausgetauscht gegen listplaylists
...

Super, das hat geholfen! Danke!

Wzut

#481
Zitat von: unimatrix am 26 Januar 2017, 11:35:29
Kleiner "Bug" noch: Mopidy meldet sich bei mir als MPD Version 0.19.0, unterstützt aber durchaus seekCur.

Das habe ich beim echten MPD gerade auch. Jessie bringt on board die 0.19.0 mit und die scheint auch seekcur zu kennen.
Werde dann in der nächsten Version die Player Abfrage wieder rauswerfen und auf SUBVERSION kleiner 19 abfragen.

edit :
Wenn man unter Jessie mpd installiert bringt das automatisch auch Mopidy mit. Der Mopidy meldet sich auf der Konsole als "MPD 0.17.0"
und auch diese Version kennt seekcur. D.h. ich kann mit der Abfrage runter gehen bis <=16 :)
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

unimatrix

soweit man das im MPD Git herausfinden kann, gibt es das seit mindestens 0.16.4. Es gab wohl mal ein Release mit einem Bug zwischendrin.

Tobias

Hi Wzut,

habe per apptime sehr große DelayWerte bei MPD watchIdle, ist das normal?
Schau mal bitte hier: https://forum.fhem.de/index.php/topic,67161.msg585577.html#msg585577
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Wzut

#484
Na dann würde ich an deiner Stelle doch mal direkt dort Hand anlegen und mit apptime noch zwei Testläufe machen.
Viel passiert in watch_idle ja nicht,
a. wirf das qx($cmd) raus  bzw ersetze es durch  $result = "perl"
oder b. wirf ein Stück weiter darunter das   mpd_cmd($hash,"status") raus - (ich könnte wetten das führt zum Erfolg).
Das ist dann aber genau das Teil das du unbedingt haben wolltest um in TabletUI den Fortschrittsbalken schön frisch zu halten ....
BTW : Auf welchen Wert hast du das attr waits gesetzt ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Tobias

hmm, waits steht auf 5
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Shadow3561

Moin,
danke erst einmal für das Tolle Modul.

jedoch habe ich ein Problemchen.
Immer wenn ich die Playlist wechsle erschein folgende Meldung im WebUI.

Connection lost, trying a reconnect every 5 seconds.

Habe bereits das Verbose vom MPD Device auf 5 gestellt,
jedoch bekomme ich keine Fehlermeldung im Log.

evtl hat jemand den selben Fehler oder kann mir zumindest Hinweise geben wie ich den Fehler finde kann.

Anbei noch ein List(gekürzt) vom Device

Internals:
   CFGFN
   DeviceName 127.0.0.1:6600
   HOST       127.0.0.1
   IPID       17198
   NAME       myMPD
   NR         1949
   PORT       6600
   PRESENCE   present
   STATE      play
   SUBVERSION 19
   TIMEOUT    2
   TYPE       MPD
   VERSION    0.19.0

Helper:
     Running_pid:
       abortArg
       abortFn
       arg        myMPD
       bc_pid     43
       finishFn   MPD_IdleDone
       fn         MPD_IdleStart
       pid        17198
       Timeout:
     Playlistcollection:
       0          Oldies
       1          Diverses
       2          Rap & DeutschRap
       3          MPD1
       4          Antenne Niedersachsen 80s
       5          Relax und Lounge
       val        5
Attributes:
   devStateIcon play:rc_PLAY:stop stop:rc_STOP:play pause:rc_PAUSE:pause error:icoBlitz
   icon       it_radio
   loadPlaylists 1
   player     mpd
   titleSplit 1
   unknown_artist_image /fhem/icons/1px-spacer


MfG

Wzut

Zitat von: Shadow3561 am 18 Februar 2017, 09:32:57
evtl hat jemand den selben Fehler oder kann mir zumindest Hinweise geben wie ich den Fehler finde kann.
nein, den Fehler habe ich nicht. Aktiviere mal stactrace vllt. steht ja dann was im Log.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

C0mmanda

Ich kann zwar nicht zur Lösung beitragen, hatte das Problem aber auch.
Außerdem hat MPD eine hohe Systemlast hervorgerufen.
Load war auf einmal dauerhaft > 6,  normal ist um die 0,2.

Da mir aktuell die Zeit zur Fehlersuche fehlt und ich das Modul einfach erstmal probieren wollte habe ich MPD erstmal wieder  deaktiviert bis ich Zeit habe mich damit zu beschäftigen.

Gruss
CmdA

Wernieman

Load war auf einmal dauerhaft > 6,  normal ist um die 0,2.
Du verwechselst Load mit Systemlast.

Load bedeutet "auf IO wartende Prozesse". Wenn es MPD währe, würdest Du eine Load von 1 haben (ein Prozess), oder eventuell 2 (MPD+FHEM). Eine Load von 6 bedeutet, das irgendetwas hängt ... z.B. das Wegschreiben.
https://de.wikipedia.org/wiki/Load

Deshalb ist "Load" nur ein Hinweis für ein Systemproblem, aber kein Indiz für den Verursacher.
Nur als Anekdote:
Habe mal mich auf einem Server eingeloggt, der eine Load von 100.000 hatte ... aber ansonsten sauber lief. Nur .. die angeschlossene DB hing und deshalb hingen alle mysql-PHP-Prozesse > Hohe load aber kein CPU verbrauch .... dagegen können Server mit Load 5 schon nicht mehr verwendbar sein, da zwar CPU auf 100% aber nur mit wenigen prozessen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Shadow3561

Habe das Problem jetzt lösen können.
Das Attribut timeout war auf 2 gestellt. Habe es auf 10 erhöht und jetzt läuft alles sauber.

Habe auch, entgegen des Hinweises im MediaList Wiki, das Attribut PlayerStarCommand auf "playlist MPD1" gesetzt.
Der MPD wechselt sofort auf die erstellte Playlist und spielt sie ab.

Danke an alle die sich den Kopf zerbrochen haben.

Mit freundlichen Grüßen

Tobias

Steht das nicht im Wiki Artikel das die erstellte playlist den Namen des zieldevices hat???

Gesendet von meinem Leap mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Shadow3561

Im Wiki ist folgender Hinweis enthalten.
ZitatEs wird bei MPD Nutzung empfohlen, das Attribut MediaList_PlayerStartCommand nicht zu setzen. Grund ist, das der MPD ein paar sekunden benötigt die neuen Dateien in seine interne Datenbank aufzunehmen. Erfolgt das PlayCommand zu schnell wird nichts passieren da der MPD die neuen Dateien noch nicht kennt. Stattdessen bitte das obige PlayKommando beim MPD separat absetzen.

Bei mir klappt es jedoch auch mit dem Attribut.
Mfg

C0mmanda

Zitat von: Wernieman am 19 Februar 2017, 15:02:12
Load war auf einmal dauerhaft > 6,  normal ist um die 0,2.
Du verwechselst Load mit Systemlast.

Load bedeutet "auf IO wartende Prozesse". Wenn es MPD währe, würdest Du eine Load von 1 haben (ein Prozess), oder eventuell 2 (MPD+FHEM). Eine Load von 6 bedeutet, das irgendetwas hängt ... z.B. das Wegschreiben.
https://de.wikipedia.org/wiki/Load

Deshalb ist "Load" nur ein Hinweis für ein Systemproblem, aber kein Indiz für den Verursacher.
Nur als Anekdote:
Habe mal mich auf einem Server eingeloggt, der eine Load von 100.000 hatte ... aber ansonsten sauber lief. Nur .. die angeschlossene DB hing und deshalb hingen alle mysql-PHP-Prozesse > Hohe load aber kein CPU verbrauch .... dagegen können Server mit Load 5 schon nicht mehr verwendbar sein, da zwar CPU auf 100% aber nur mit wenigen prozessen ...

Du hast natürlich recht und mir ist auch durchaus klar was Load ist.
Dennoch Danke für die gute Aufklärung.

Nichtsdestotrotz ist der Load mit der Installation von dem MPD-Modul in die Höhe geschossen und dauerhaft bei > 6 geblieben.
Woran es gelegen hat kann ich nicht sagen, das Problem hat sich mittlerweile auch erledigt.
Habe das Modul heute morgen noch einmal aktiviert und es läuft soweit gut, Load liegt aktuell unter 0,1.

gruß

C0mmanda

#494
Moin,

Gibt es eine Möglichkeit MPD dazu zu bringen mit Text2Speech zusammen zu arbeiten?
Ich habe auch nach langer Suche keine wirkliche Lösung gefunden.
Ich finde maximal die Fragen ob es funktioniert, nur das wie konnte ich bisher nicht entdecken.

Aktuell versuche ich Text2Speech im Server-Modus zu betreiben, dadurch wird ein mp3-File im Musikverzeichnis
von MPD gespeichert. Soweit so gut.
Nur leider will MPD dieses mp3 nicht abspielen.
Geht dies überhaupt mit MPD wenn die Datenbank nicht aktualisiert wurde?

MPD läuft ansonsten problemlos, auch im zusammenspiel mit FHEM.

MPD läuft auf einem anderen Client als FHEM, weshalb ich das mp3 nicht direkt durch Text2Speech abspielen lassen kann und ich dies mit MPD erledigen möchte. Nur falls jmd. den Tip geben möchte ;)

Vielen Dank für etwas Hilfe im voraus!

gruß
CmdA