Modul für MPD

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

Vorheriges Thema - Nächstes Thema

Mikka

Hallo Wzut,

danke für die Erklärung. Hatte schon in der Manpage von MPD geguckt, jedoch keine mute gefunden ...

toggle bringt leider keine Veränderung.

Vorher:

list myMPD
...
2018-01-05 08:58:45   mute            off
...
2018-01-05 16:34:08   volume          51
...


set myMPD volume toggle:

list myMPD
...
2018-01-05 16:35:36   mute            off
...
2018-01-05 16:35:36   volume          0
...

Wzut

ja das Reading mute wird nicht aktualisiert, werde die Tage eine neue gefixte Version hochladen.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Mikka

Klasse, sag bescheid, kann es auch vorab testen!

Vielen DANK!

Wzut

die gefixte Version ist im SVN
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Mikka

Nabend,

Zitat von: Wzut am 08 Januar 2018, 19:50:12
die gefixte Version ist im SVN

Getestet und abgenommen! Sehr gut funktioniert 1A. Vielen dank für das tolle Modul und den schnellen Fix!!!

Mikka

Timmi

Hallo zusammen,

bei mir kann mpc die m3u-Streams von HR-Sendern nicht abspielen, wie z.B der Stream von hr4 :

#EXTM3U
http://metafiles.gl-systemhaus.de/hr/hr4_2.m3u


Auch in mp3-Format lässt sich das nicht abspielen.
Die Fehlermeldung in Logfile :

mad: Input does not appear to be a mp3 bit stream.


Liegt es an der Version von MPD ?

apt-cache policy mpd mpc

mpd:
  Installiert:           0.16.7-2
  Installationskandidat: 0.16.7-2
  Versionstabelle:
*** 0.16.7-2 0
        500 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages
        100 /var/lib/dpkg/status
mpc:
  Installiert:           0.22-1
  Installationskandidat: 0.22-1
  Versionstabelle:
*** 0.22-1 0
        500 http://mirrordirector.raspbian.org/raspbian/ wheezy/main armhf Packages
        100 /var/lib/dpkg/status



Vielen Dank im Voraus !

Gruß Tim

Wzut

#576
ich habe zwar HR4 nicht in meiner Liste dafür 1 & 3 :
http://hr-hr1-live.cast.addradio.de/hr/hr1/live/mp3/128/stream.mp3
http://hr-hr3-live.cast.addradio.de/hr/hr3/live/mp3/128/stream.mp3

tausch mal die 1 oder 3 gegen eine 4 ob das da auch passt , ggf mal Tante google fragen

BTW : eine m3u in einer m3u  ? pack mal deine http://metafiles.gl-systemhaus.de/hr/hr4_2.m3u aus was als mp3 drin steht 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Timmi

#577
Es hat endlich geklappt :)

Vielen Dank.

Jetzt sehe ich, dass deine .mp3 genau die selbe ist, die ich aus http://metafiles.gl-systemhaus.de/hr/hr4_2.m3u ausgepackt habe, es hat aber nie funktioniert, bei keinem der HR-sender .... und jetzt klappt es sofort !?

MiMoAC

Hallo Zusammen,

ich habe gerade mit "update" und "shutdown restart" meinen FHEM aktualisiert.

Danach habe ich die Config noch etwas angepasst.

Jedes mal wenn ich: define myMPD MPD eingebe erhalte ich jetzt die Fehlermeldung Cannot load module MPD.

Vor dem Update hat die Audioausgabe problemlos funktioniert.

Könnt ihr mir helfen?

Wzut

Zitat von: MiMoAC am 07 März 2018, 17:44:06
erhalte ich jetzt die Fehlermeldung Cannot load module MPD.
und im Log steht warum ....
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

michael.winkler

Hi,

wenn ich meinen MPD Server über ein WEB Frontend oder Smartphone starte, bekommt mein FHEM Server es immer recht spät erst mit. Ist das normal?

Gruß
Michael

Wzut

Nein, normal ist das nicht. Klingt danach das etwas mit den MPD Events nicht stimmt bzw. nach einem dieser MPD Clones der den idle Modus nicht unterstützt.
Prüfen kannst du das auf zwei Arten :
a. via Telnet mit dem MPD Server Verbinden (Port 6000 ? ) dann das Kommando idle absetzen und warten (Prompt ist weg).
Mit irgend etwas den MPD steuern und ihn irgend eine Aktion machen lassen, das sollte im Telnet Fenster eine Rückmeldung erzeugen und wieder den Prompt erscheinen lassen. ( wäre der Beweis die MPD Version kann idle)

b. In FHEM am MPD Modul den verbose Level auf 5 setzen. set <MPDNAME> reset ausführen , um den eventuell bereits laufenden Idle Prozess zu killen.
set <MPDNAME> IdleNow ausführen um einen neuen Idle Prozess mit dem neuen Verbose Level zu starten.
Nun wieder den MPD zwingend irgendetwas zu machen, die Rückmeldungen wenn sie denn kommen sollten im Log File zu sehen sein.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

michael.winkler

#582
Zitat von: Wzut am 22 März 2018, 17:28:24
Nein, normal ist das nicht. Klingt danach das etwas mit den MPD Events nicht stimmt bzw. nach einem dieser MPD Clones der den idle Modus nicht unterstützt.
Prüfen kannst du das auf zwei Arten :
a. via Telnet mit dem MPD Server Verbinden (Port 6000 ? ) dann das Kommando idle absetzen und warten (Prompt ist weg).
Mit irgend etwas den MPD steuern und ihn irgend eine Aktion machen lassen, das sollte im Telnet Fenster eine Rückmeldung erzeugen und wieder den Prompt erscheinen lassen. ( wäre der Beweis die MPD Version kann idle)

b. In FHEM am MPD Modul den verbose Level auf 5 setzen. set <MPDNAME> reset ausführen , um den eventuell bereits laufenden Idle Prozess zu killen.
set <MPDNAME> IdleNow ausführen um einen neuen Idle Prozess mit dem neuen Verbose Level zu starten.
Nun wieder den MPD zwingend irgendetwas zu machen, die Rückmeldungen wenn sie denn kommen sollten im Log File zu sehen sein.
Danke für deine Antwort. Alle Versionen verhalten sich gleich.

Telnet sieht wie folgt aus:

root@HNMWFHEM02:~# telnet 10.10.0.41 6600
root@HNMWFHEM02:~# telnet 10.10.0.41 6600
Trying 10.10.0.41...
Connected to 10.10.0.41.
Escape character is '^]'.
OK MPD 0.20.0
idle
changed: player
OK
Connection closed by foreign host.


Die erste Aktion kommt noch. Die zweite Aktion wird nicht mehr angezeigt. Nach etwas warten wird die Verbindung dann geschlossen.

Habe die Windows Version und die Debian Version getestet. Beide verhalten sich exakt gleich.

EDIT:
Hier noch das LOG mit Verbose 5. Das Log bleibt immer bei der Zeile "Id: 1" länger stehen. Es reagiert alles irgenwie sehr zäh.

Pos: 0
Id: 1
2018.03.22 18:48:45.830 5: mpd.buero.test, MPD_EVENT : playlist+player|file: http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3|Title: My my my! / Troye Sivan|Name: SWR3|Time: 0|duration: 0.000|Pos: 0|Id: 1
2018.03.22 18:48:45.831 4: mpd.buero.test, MPD_EVENT : playlist+player
2018.03.22 18:48:45.833 5: mpd.buero.test, mpd_cmd[1] -> command_list_begin
status
stats
currentsong
command_list_end
2018.03.22 18:48:45.833 5: mpd.buero.test, rec: volume: 72
2018.03.22 18:48:45.833 5: mpd.buero.test, rec: repeat: 0
2018.03.22 18:48:45.834 5: mpd.buero.test, rec: random: 0
2018.03.22 18:48:45.834 5: mpd.buero.test, rec: single: 0
2018.03.22 18:48:45.834 5: mpd.buero.test, rec: consume: 0
2018.03.22 18:48:45.834 5: mpd.buero.test, rec: playlist: 43
2018.03.22 18:48:45.834 5: mpd.buero.test, rec: playlistlength: 1
2018.03.22 18:48:45.835 5: mpd.buero.test, rec: mixrampdb: 0.000000
2018.03.22 18:48:45.835 5: mpd.buero.test, rec: state: play
2018.03.22 18:48:45.835 5: mpd.buero.test, rec: song: 0
2018.03.22 18:48:45.835 5: mpd.buero.test, rec: songid: 1
2018.03.22 18:48:45.835 5: mpd.buero.test, rec: time: 972:0
2018.03.22 18:48:45.836 5: mpd.buero.test, rec: elapsed: 971.882
2018.03.22 18:48:45.836 5: mpd.buero.test, rec: bitrate: 128
2018.03.22 18:48:45.836 5: mpd.buero.test, rec: duration: 0.000
2018.03.22 18:48:45.836 5: mpd.buero.test, rec: audio: 48000:16:2
2018.03.22 18:48:45.837 5: mpd.buero.test, rec: uptime: 991
2018.03.22 18:48:45.837 5: mpd.buero.test, rec: playtime: 973
2018.03.22 18:48:45.837 5: mpd.buero.test, rec: artists: 1775
2018.03.22 18:48:45.837 5: mpd.buero.test, rec: albums: 1013
2018.03.22 18:48:45.838 5: mpd.buero.test, rec: songs: 12798
2018.03.22 18:48:45.838 5: mpd.buero.test, rec: db_playtime: 4269653
2018.03.22 18:48:45.838 5: mpd.buero.test, rec: db_update: 1521739637
2018.03.22 18:48:45.838 5: mpd.buero.test, rec: file: http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3
2018.03.22 18:48:45.839 5: mpd.buero.test, rec: Title: My my my! / Troye Sivan
2018.03.22 18:48:45.839 5: mpd.buero.test, rec: Name: SWR3
2018.03.22 18:48:45.839 5: mpd.buero.test, rec: Time: 0
2018.03.22 18:48:45.839 5: mpd.buero.test, rec: duration: 0.000
2018.03.22 18:48:45.840 5: mpd.buero.test, rec: Pos: 0
2018.03.22 18:48:45.840 5: mpd.buero.test, rec: Id: 1
2018.03.22 18:48:45.842 5: mpd.buero.test, new Playlist in -> file: http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3
Title: My my my! / Troye Sivan
Name: SWR3
Time: 0
duration: 0.000
Pos: 0
Id: 1
2018.03.22 18:48:45.842 4: mpd.buero.test, new CRC : 12698
2018.03.22 18:48:45.842 5: mpd.buero.test, new Playlist out -> [{"Artist":"???","Title":"My my my! / Troye Sivan","Album":"","Time":"0","File":"http://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3","Track":"","Cover":"/fhem/icons/1px-spacer"}]

michael.winkler

Zitat von: Wzut am 22 März 2018, 17:28:24
Nein, normal ist das nicht. Klingt danach das etwas mit den MPD Events nicht stimmt bzw. nach einem dieser MPD Clones der den idle Modus nicht unterstützt.
Prüfen kannst du das auf zwei Arten :
a. via Telnet mit dem MPD Server Verbinden (Port 6000 ? ) dann das Kommando idle absetzen und warten (Prompt ist weg).
Mit irgend etwas den MPD steuern und ihn irgend eine Aktion machen lassen, das sollte im Telnet Fenster eine Rückmeldung erzeugen und wieder den Prompt erscheinen lassen. ( wäre der Beweis die MPD Version kann idle)

b. In FHEM am MPD Modul den verbose Level auf 5 setzen. set <MPDNAME> reset ausführen , um den eventuell bereits laufenden Idle Prozess zu killen.
set <MPDNAME> IdleNow ausführen um einen neuen Idle Prozess mit dem neuen Verbose Level zu starten.
Nun wieder den MPD zwingend irgendetwas zu machen, die Rückmeldungen wenn sie denn kommen sollten im Log File zu sehen sein.
So, ich habe neue Erkenntnisse:
Ich habe im Bereich "MPD_IdleStart" ein paar LOG Zeilen eingetragen. Danach konnte ich sehen dass sobald ich den MPD von außen steuer, dass das Modul die Änderungen sofort mitbekommt.

Nachdem ich dann die Zeile 1264 von


print $sock "playlistinfo\n" if(!$step) ;


auf


print $sock "status\n" if(!$step) ;


Werden die Readings ohne Verzögerung sofort abgeändert.

Was bei meinen Test auch aufgefallen ist. sobald ich ein set reset ausgeführt habe, wurden die Readings aktualisiert. Wenn ich dann den MPD von außen steuer, werden die Readings ein einziges mal noch aktualisiert. Danach erst wieder im 1 Minuten Takt.

Ich hoffe dass Du damit eventuell einen Hinweis zu meinem Fehler findest.

Wzut

Zitat von: michael.winkler am 22 März 2018, 18:19:47
Hier noch das LOG mit Verbose 5.
Leider sind in dem Log keine Einträge des Idle Prozess zu sehen, ist auch ingesammt recht kurz. Logge doch mal über min. zwei Songs
Was ich aber da sehe ist deine MPD Version 0.20 , auf welchem System nutzt du den MPD bzw. wie bist du zur Version 0.20 gekommen ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher