Modul für MPD

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

Vorheriges Thema - Nächstes Thema

Wzut

Radio Streams senden i.d.R. andere Tags als eine Datei z.b. von CD
Um unterscheiden zu können muss u.A. das Attribut title_splitt auf 1 gesetzt sein und der Radiosender muss Interpret und Titel mit einem Minus trennen
Z.B. ACDC - Highway to Hell
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Heinz

Hallo we5,
wie hast du deine Airplay Lautsprecher angeschlossen, wie werden die angesprochen?
Ich habe auf einem Raspi das FHEM mit mpd und auf einem zweiten forked-daapd.
Doch leider verbindet sich mein FHEM nicht mit dem forked-daapd.

Gruß Heinz

we5

Hallo Heinz,

das ging alles eigentlich recht einfach. Bei mir laufen allerdings FHEM, shairport-sync und forked-daapd auf einem Raspi. Konfigurieren musste ich für AirPlay nichts, forked-daapd erkennt diese automatisch. Steuern tue ich das mit der Apple Remote App oder via Siri/HomeKit.

Habe sowohl die wichtigsten Radiosender als auch die Lautsprecher mit readingProxies, dummys und DLNARenderer als Geräte via Siri/HomeKit verfügbar.

Ziemlich cool so:

- ,,House Radio anschalten"
- ,,Kinder Stadion anschalten"
- ,,Ton in der Küche anschalten"
- ,,Ton im Kinderzimmer auf 20% stellen"

... und noch ein paar andere Sachen.

Anzumerken ist, dass HomeKit noch nicht den Typ Lautsprecher kennt, weswegen ich das als Licht eingefügt habe (ähnlich wie es das Sonos-Modul abbildet). Und dafür benutze ich den DLNARenderer, aber sie Lautsprecher müssen das halt auch können. Theoretisch geht das auch über HTTP-Requests an forked-daapd, fand ich aber doof.

Leider leider leider kann forked-daapd keine Cover aus shairport-sync lesen, aber die sonstige Verteilung funktioniert super, und das war das oberste Ziel: MultiRook-Verteiler mit AirPlay und nix mit Sonos

Heinz

Hallo,
super viielen Dank. Wie hast du mpd definiert? Hast du einen
Port angegeben?

Ansonsten muss ich wohl mal forked-daapd auf dem FHEM-raspi
installieren.

Gruß

Heinz

Hallo we5,
Forken-daapd habe ich jetzt am laufen.
Mit welchem Befehl änderst du die Lautstärke deiner
Airplaulautsprecher? Über mpdCMD bekomme ich eine
Fehlermeldung.

Gruß Heinz

we5

Hallo Heinz,

ich habe die Lautstärke via DLNARenderer verwirklicht, weil ich forked-daapd nicht via HTTP-Requests steuern wollte (irgendwo habe ich Beispiele dazu gesehen).

Sofern deine Lautsprecher DLNA können, solltest du mit diesem Modul weiter kommen. Ich habe für jedes erkannte Gerät im Netzwerk einfach die Attribute genericType auf light gesetzt und die Lautstärke entsprechend auf brightness gemapped.

Probier es mal aus, vielleicht komme ich morgen dazu, mal die Definition zu posten

Viel Erfolg!

Wzut

Zitat von: we5 am 08 Dezember 2017, 22:50:38
leider konnte ich meine AirPlay-Speaker nicht aktivieren/deaktivieren oder in der Lautstärke verändern. Nach ein wenig Wühlen im Code bin ich auf diese Zeile (864, Version vom 2017-01-26 20:20:08Z) hier gestossen:

   my $oid = substr($cmd,13,1);


... das entfernen des Length-Parameters bringt Abhilfe, und alles funktioniert wie gewünscht :)
Schau ich mir nochmal an, aber eigentlich benötige ich das Zeichen Nr. 13 als Nr welcher Output geschaltet werden soll,
kannst du bitte mal deine Ausgabe von get <name> outputs posten ?

Zitat von: Wasserwerk33 am 08 Dezember 2017, 21:07:59
Wo muss ich beim MPD Player die internetstreams einfügen so das ich sie dann anwählen kann.
Stream URL in eine .m3u Playlist packen (Aufbau M3U Listen siehe Google) und die Playlist da speichern wo Playlisten laut deiner mpd.conf  liegen sollen,
überlicherweise unter /var/lib/mpd/playlists
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

we5

Hey Wzut,

die 13 ist ja richtig, aber die 1 dahinter limitiert den zurückgegebenen String auf 1 Zeichen. Da die IDs aber länger sein können (zB 23476) wird nur die 2 zurückgegeben. Wenn das letzte Argument nicht benutzt wird, kommt die komplette ID

Wzut

OK, dann macht das Sinn - bei mir waren die IDs immer einstellig , 0,1 usw. daher wollte ich deinen Output sehen
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wasserwerk33

#564
Hallo Leute Frohes neues erstmal

habe mir eine Playlist angelegt. Mit 3 MP3 dateinen.
Diese Lädt er aber leider nicht.
Bekomme diese Fehlermeldung: MPD_Msg ACK ERROR [50@2] {load} No such playlist
bekomme so einen ähnliche auch wenn ich Volumen also die Lautstärke verändern möchte.

kann mir jemand sagen was ich falsch gemacht habe??

defmod StreamRadio MPD
attr StreamRadio autoBookmark 1
attr StreamRadio devStateIcon play:rc_PLAY:stop stop:rc_STOP:play pause:rc_PAUSE:pause error:icoBlitz
attr StreamRadio icon it_radio
attr StreamRadio loadPlaylists 1
attr StreamRadio player mpd
attr StreamRadio room Radio
attr StreamRadio titleSplit 1
attr StreamRadio unknown_artist_image /fhem/icons/1px-spacer

setstate StreamRadio stop
setstate StreamRadio 2018-01-01 15:04:58 Album
setstate StreamRadio 2018-01-01 15:04:58 Artist
setstate StreamRadio 2018-01-01 15:04:58 Cover
setstate StreamRadio 2018-01-01 15:04:58 Date
setstate StreamRadio 2018-01-01 15:04:58 Genre
setstate StreamRadio 2018-01-01 15:04:58 Last-Modified
setstate StreamRadio 2018-01-01 15:04:58 Name
setstate StreamRadio 2018-01-01 15:04:58 Title
setstate StreamRadio 2018-01-01 15:04:58 Track
setstate StreamRadio 2018-01-01 15:04:24 albums 0
setstate StreamRadio 2018-01-01 15:04:24 artists 0
setstate StreamRadio 2018-01-01 15:04:24 consume 0
setstate StreamRadio 2018-01-01 15:04:24 db_playtime 0
setstate StreamRadio 2018-01-01 15:04:24 db_update 1499779929
setstate StreamRadio 2018-01-01 15:04:58 file
setstate StreamRadio 2018-01-01 14:05:37 last_error socket error
setstate StreamRadio 2018-01-01 15:04:24 mixrampdb 0.000000
setstate StreamRadio 2017-07-15 15:24:25 mute off
setstate StreamRadio 2018-01-01 15:04:19 outputenabled0 1
setstate StreamRadio 2018-01-01 15:04:19 outputname0 My ALSA Device
setstate StreamRadio 2018-01-01 15:04:24 playlist 6
setstate StreamRadio 2018-01-01 14:06:16 playlist_json
setstate StreamRadio 2018-01-01 14:06:16 playlist_num -1
setstate StreamRadio 2018-01-01 14:06:16 playlistcollection
setstate StreamRadio 2018-01-01 14:06:16 playlistinfo
setstate StreamRadio 2018-01-01 15:04:24 playlistlength 0
setstate StreamRadio 2018-01-01 15:04:58 playlistname pur
setstate StreamRadio 2018-01-01 15:04:24 playtime 0
setstate StreamRadio 2018-01-01 15:04:58 presence present
setstate StreamRadio 2018-01-01 15:04:24 random 0
setstate StreamRadio 2018-01-01 15:04:24 repeat 0
setstate StreamRadio 2018-01-01 15:04:24 single 0
setstate StreamRadio 2018-01-01 15:04:24 songs 0
setstate StreamRadio 2018-01-01 15:04:24 state stop
setstate StreamRadio 2018-01-01 15:04:24 uptime 3490
setstate StreamRadio 2018-01-01 15:04:24 volume -1


Wzut

wie sieht die Playliste aus und wo liegt sie?
hast du nach dem erstellen/speichern set <name> updateDb ausgeführt ?
Ich empfehle unbedingt die Doku des MPD zu lesen -> https://www.musicpd.org/doc/user/
mpc als Konsolentool zu installieren und damit die ersten Schritte zu machen,
wenn das sitzt dann erst zu FHEM und dem MPD Modul zu wechseln und Wiki ( https://wiki.fhem.de/wiki/MPD ) lesen
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Wasserwerk33

#566
Hi
das wiki habe ich von oben nach genau abgearbeitet. Daran kann es nicht liegen. Meine M3U liste habe ich nach google mit VLC schon erstellt gehabt. das ging auch super so.

#EXTM3U
http://wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3
http://listen.technobase.fm/tunein-mp3-pls
http://91.250.76.18/top100station.mp3
http://tuner.radiopaloma.de:80
http://mp3.ffh.de/ffhchannels/hq80er.mp3
http://mp3.ffh.de/radioffh/hqlivestream.mp3
http://streams.bcs-systems.de/hrrtl/xmas/sachsen/mp3/vtuner
http://rnrw.cast.addradio.de/rnrw-01b7/deinschlager/high/stream.mp3
http://rnrw.cast.addradio.de/rnrw-01b7/deinlove/high/stream.mp3
http://rnrw.cast.addradio.de/rnrw-01B7/deinevent/high/stream.mp3
http://streams.schlagerplanetradio.com/partyschlager/mp3-192/vtuner/
http://stream.sunshine-live.de/90er/mp3-192/vtuner/

stichwort war M3U liste für Radiostreams.
das set <name>updateDb habe ich auch gemacht.

Kann das sein das ich keine zusätzlichen unterordner anlegen kann?? sowas wie /var/lib/playlist/Radiosender?

Wzut

Zitat von: Wasserwerk33 am 01 Januar 2018, 20:53:14
Kann das sein das ich keine zusätzlichen unterordner anlegen kann?? sowas wie /var/lib/playlist/Radiosender?
Es kann nicht nur sein , es ist so - alles was unter get <name> playlists nicht gelistet ist kann nicht danach auch nicht mit set <name> playlist ausgewählt werden !
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Mikka

Nabend zusammen,

ich habe ein Problem mit mute und zwar das sich der Status des READINGS nicht ändert. Die Funktion an sich funktioniert, die Lautsprecher verstummen. 

So sieht myMPD aus, wenn Musik abgespielt wird:

list myMPD
....
2018-01-04 21:56:13   mute            off
....
2018-01-04 21:57:10   volume          24


So sieht myMPD aus, wenn "set myMPD mute on" im FHEM ausgelöst wird:

list myMPD
....
2018-01-04 22:07:59   mute            off
....
2018-01-04 22:08:00   volume          0


Ein "set myMPD mute off" funktioniert anschließend auch nicht mehr, muss volume schalten.

Hat irgenjemand evlt. eine Idee oder einen Tipp was falsch ist?

Danke
Mikka

Wzut

Der mpd selbst kennt kein mute. Das mute Kommando ist aus Software im Modul gebaut und merkt sich bei on die aktuelle Lautstärke und bei off wird diese gemerkte Lautstärke einfach wieder hersgestellt. Da bei dir aber das reading selbst sich nicht verändert muss ich mir das heute Abend mal bei mir anschauen.
Was macht denn bei dir mute toggle ?   
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher