[Neues Modul] StreamRadio

Begonnen von gemx, 08 Januar 2014, 19:31:54

Vorheriges Thema - Nächstes Thema

Toto1973

Ups, ja, ich meinte natürlich das StreamRadio-Modul (vor lauter mplayer...).
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

fiedel

Du könntest das ggf. auch selbst hinbekommen: Du öffnest das Modul z.B. mit Notepad++ auf dem PC (Sprachunterstützung Perl einstellen). Dann sieht das erst mal recht übersichtlich aus um den Code zu erforschen. Jetzt suchst du dir im unteren Drittel die Zeile wo der mplayer- Befehl zusammengebaut wird. Die Suchfunktion nach "mplayer" sollt auch helfen. Hast du die Stelle gefunden, tauscht du den "harten Teil" des Befehls entsprechend aus. Klappt vielleicht nicht auf Anhieb, aber ist nich all zu schwer. Dann Modul zurückspielen, Restart, testen...
Das Attribut für den Lautstärkebefehl musst du ggf. auch anpassen (in der Def. in FHEM).
Alternativ lässt sich mplayer ggf. auf deinem Debian nachinstallieren?
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Toto1973

Den Mplayer nachinstallieren geht zwar, danach läuft StreamRadio aber leider auch nicht.
TTS hingegen läuft über den nachinstallierten MPlayer. Wenn ich dort den neuen mpv einstelle, bekomme ich eine Mickeymaus-Stimme. Aber das ist eine andere Baustelle!
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

fiedel

Was du erst mal hinbekommen musst, ist eine Radio- Wiedergabe über mplayer oder mpv in der Konsole. Den Befehl für mplayer hab ich sicher schon mal gepostet - weiter vorn im Thread. Wenn das in der Konsole spielt, musst du nur noch die Befehlsausgabe vom Modul entspr. hinbiegen. Such mal nach meinen älteren Posts hier zum "Lautstärke-/kein Ton- Problem".
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Toto1973

Einen Webstream kann man ganz einfach abspielen.
Mit dem Befehl "mpv http://sunshinelive.hoerradar.de/sunshinelive-live-mp3-hq --volume=50" läuft der (hier) SunshineLive Stream mit Lautstärke 50%. Lässt man das volume weg, wird immer mit 100% Lautstärke abgespielt.
Mit dem Befehl "{system ("mpv http://sunshinelive.hoerradar.de/sunshinelive-live-mp3-hq --volume=50 < /dev/null >&0 2>&0 &")}" kann ich den Stream in FHEM starten, ohne das FHEM einfriert.
Mit dem Befehl "killall mpv" lässt er sich wieder beenden.
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

fiedel

Klingt doch vielversprechend! Hast du schon das Modul seziert?
Stell doch mal das von dir bisher genutzte Modul oder den Link zu dessen Download- Post hier rein!
Es kursieren ja mehrere Versionen mit verschiedenen Weiterentwicklungen.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Toto1973

Ich hab mir vorübergehend einfach mal ein DOIF gebastelt, das einen Stream startet und wieder beendet. Am Modul habe ich noch nichts gemacht. Werde ich mir aber die Tage mal ansehen und schauen, ob ich das umgebastelt bekomme.
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Toto1973

#397
Ich bin nun soweit gekommen, das ich einen Stream starten kann. Der Playeraufruf sieht so aus:
my $mplayercall = "mpv --quiet $PLString $StreamURL < /dev/null >&0 2>&0 &"; (Zeile 255 des StreamRadio Moduls).

Was ich nun nicht hinbekomme ist, den Stream zu beenden. Dazu müsste man entweder ein Killall mpv übergeben oder wenn ich einen Stream über putty laufen habe, mit der q-Taste beenden.
Die Lautstärke bekomme ich auch nicht hin, da wohl dieses amixer cset numid=2 -- %s%% beim mpv Player nicht mehr funktioniert.

Zusammenfassung: Läuft ein Stream über Putty, kann dieser mit / leiser und mit * lauter gestellt werden. zum beenden des Stream muss man die Q-Taste drücken.
Wie ich das nun alles im Modul noch weiter anpassen muss, weiß ich leider nicht.

PPS.: Nach meinem Verständnis würde ich die Lautstärke aus Dum_Volume_D (Slider) direkt in den Playaufruf übernehmen so das die Playzeile dann so aussieht: my $mplayercall = "mpv --quiet $PLString $StreamURL --volume=$Dum_Volume_D < /dev/null >&0 2>&0 &";
Ob das aber so einfach geht!?
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Prof. Dr. Peter Henning

Der Thread ist zwar schon ewig alt, ich hole ihn trotzdem wieder hoch, weil ich gerade erfolgreich die Lautstärkeeinstellungen direkt in Alsa manipuliere. Siehe hier: https://forum.fhem.de/index.php/topic,107276.msg1012814.html#msg1012814

LG

pah

en-trust

Kommt das Modul gar nicth über update ?

infokalypse

#400
Hallo zusammen, seit langem bin ich stiller Mitlesen im Forum und hab mir bisher viel Hilfe für FHEM erlesen können. Heute möchte ich gerne etwas zurückgeben und hoffe, dass es vielleicht dem ein oder anderen hilft. Ich steuere damit mein Onlineradio, sowohl über die Weboberfläche als auch mithilfe von Homebridge über iOS. 


define Radiostream StreamRadio /opt/fhem/WebStreams.txt
attr Radiostream aodev alsa
attr Radiostream telnetport 7072
attr Radiostream volume_command amixer cset numid=1 -- %s%%

define Radiosender dummy
attr Radiosender devStateIcon Planet.Radio::2 YOU.FM::3 bigFM::4 N-JOY::5 Energy.Hamburg::6 Cherie.FM::7 KIIS.FM::8 Klassik.Radio::9 181fm.Chilled::Kinderradio Kinderradio::0
attr Radiosender eventMap /I> Senderliste:-/I> Planet.Radio:Planet Radio/I> Energy.Hamburg:Energy Hamburg/I> N-JOY:N-JOY/I> bigFM:bigFM/I> YOU.FM:YOU FM/I> Cherie.FM:Cherie FM/I> Klassik.Lounge:Klassik Radio/I> 181fm.Chilled:181fm Chilled/I> KIIS.FM:KIIS FM/I> Kinderradio:Kinderradio/0:Planet Radio/2:YOU FM/3:bigFM/4:N-JOY/5:Energy Hamburg/6:Cherie FM/7:KIIS FM/8:Klassik Radio/9:181fm Chilled/10:Kinderradio/on:bigFM/off:Klassik Radio/
attr Radiosender group 7) Internetradio
attr Radiosender icon audio_eq
attr Radiosender room Zuhause
attr Radiosender setList I>:Senderliste,Planet.Radio,YOU.FM,bigFM,N-JOY,Energy.Hamburg,Cherie.FM,KIIS.FM,Klassik.Lounge,181fm.Chilled,Kinderradio
attr Radiosender webCmd :I>

define Radio_Controls DOIF ([Radio:"an|on|Ⓘ"] and [?Radiosender] ne "-" and ([?08:30-20:00]))\
(set Radiostream PLAY [Radiosender])\
(set Radio VOLUME 50)\
DOELSEIF ([Radio:"an|on|Ⓘ"] and [?Radiosender] ne "-")\
(set Radiostream PLAY [Radiosender])\
(set Radio VOLUME 40)\
DOELSEIF ([Radio:"aus|off|Ⓞ"])\
(set Radiostream STOP)\
DOELSEIF ([Radio:state:d] > 10 and [?Radiostream:state] eq "stopped" and [?Radio:state:d] ne "true")\
(set Radiostream PLAY [Radiosender])\
(set Radiostream VOLUME {(round(([Radio:state:d]+90)/1.90,0))})\
DOELSEIF ([Radio:state:d] > 10 and [?Radiostream:state] eq "playing" and [?Radio:state:d] ne "true")\
(set Radiostream VOLUME {(round(([Radio:state:d]+90)/1.90,0))})\
DOELSEIF ([Radio:state:d] > 1 and [Radio:state:d] <= 10)\
(set Radiosender [Radio:state:d])\
DOELSEIF ([Radio:state:d] == 1)\
(set Radiosender 0)
attr Radio_Controls alias Radio an/aus/Lautstärke
attr Radio_Controls cmdState Radio mit Vol. [Radio:state:d] eingeschaltet|Radio mit Vol. [Radio:state:d] eingeschaltet|Radio ausgeschaltet|Radio mit Vol. [Radio:state:d] eingeschaltet|Lautstärke auf Vol. [Radio:state:d] geändert|Sender zu [Radiosender] gewechselt|Sender zu [Radiosender] gewechselt
attr Radio_Controls do resetwait
attr Radio_Controls event-on-change-reading state
attr Radio_Controls wait 0,1:0,1:0:0,1:0:0:0


Meine WebStreams.txt:

Planet Radio|http://mp3.ffh.de/planetradio/hqlivestream.mp3
YOU FM|http://hr-youfm-live.cast.addradio.de/hr/youfm/live/mp3/128/stream.mp3
bigFM|https://streams.bigfm.de/bigfm-deutschland-128-mp3
N-JOY|http://www.ndr.de/resources/metadaten/audio/m3u/n-joy.m3u
Energy Hamburg|http://cdn.nrjaudio.fm/adwz1/de/33009/mp3_128.mp3
Radio Hamburg|http://stream.radiohamburg.de/rhh-live/mp3-192/linkradiohamburgde
Cherie FM|http://cdn.nrjaudio.fm/audio1/fr/30201/mp3_128.mp3?origine=fluxradios
KIIS FM|http://n2ab-e2.revma.ihrhls.com/zc185?rj-ttl=5
Klassik Radio|http://klassikr.streamabc.net/klr-lounge-mp3-192-2214671
181fm Chilled|http://listen.livestreamingservice.com/181-chilled_128k.mp3
Kinderradio|http://stream.laut.fm/kinderradio.m3u
Q103|https://ice5.securenetsystems.net/KNUQ


Bei Fragen, Wünschen oder Anregungen stehe ich gerne Verfügung. Vielleicht hilft es dem ein oder anderen, auch wenn das Modul sonst keinen Support mehr erfährt. Es läuft zumindest bei mir seit Jahren so problemlos und ist absolut angenehm, da eben auch vom iPhone aus bedienbar. Hier wird dann einfach der "Lautstärkeschieber" zwischen 1 und 10 platziert um den Sender zu wechseln, und 11 bis 99 um die Lautstärke anzupassen.