[Neues Modul] StreamRadio

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

Vorheriges Thema - Nächstes Thema

DerFrickler

das ist der stream Aufruf der vom StreamRadio generiert wird:
mplayer -really-quiet -nolirc -noconsolecontrols -playlist  http://www.rockantenne.de/webradio/channels/classic-perlen.m3u

gebe ich den händisch in ein Terminal ein, dann funktioniert alles problemlos

Gruß und einen schönen Abend noch!

fiedel

Na dann ist doch alles klar: Linux- Berechtigungs- Geschichte!
Füge den Benutzer fhem mal zu den Gruppen "dialout", "audio" und "mail" hinzu. Dann auch noch zu den sudoers. Dann sollte es gehen:


addgroup fhem dialout
addgroup fhem mail
addgroup fhem audio
gpasswd -a fhem sudo

-sudo- Konfig öffnen:

visudo

-unter den ggf. vorh. Einträgen folgende Zeile einfügen (später ggf. Rechte wieder sinnvoll einschränken, dazu mal belesen!):

fhem    ALL=NOPASSWD: ALL

-mit entspr. Editorkommando Datei abspeichern
-Rechner neu starten
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

DerFrickler

vielen Dank! das war die Lösung.

Gruß und einen schönen Abend noch!

fiedel

Bin ja begeistert!  ;D  Dir auch schönen Abend!

Gruß

Frank
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

coolice

Zitat von: fiedel am 28 Dezember 2014, 14:30:17
@coolice:Kennst du eigentlich dieses Win32- Kopiertool für SD-Karten?
Bin OSX User

fiedel

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

DerFrickler

Bei OSX heisst das Festplattendienstprogramm. Das Erstellen eines Images geht problemlos, nur beim zurückspielen meckert der Mac. Wobei Win32 je nach Hardware auch nur die erste Partition der SD-Karte kopiert.

fiedel

#157
Weil es hier in letzter Zeit immer chaotischer wurde, habe ich mir mal etwas Zeit abgeknapst und den lange versprochenen WIKI- Artikel angefangen. Bitte testen, ergänzen, oder Fehler und Ergänzungen oder Änderungswünsche hier melden!  :)

Viel Spaß!

Frank
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

DerFrickler

#158
Dann lege ich mal los:


Attribute:
volume_command: das shell kommando, um die Lautstärke einzustellen. Für den raspi z.B. "amixer cset numid=2 -- %s%%". Dies ist der Default, nach einem neuen define
telnetport: Der lokale telnetport für FHEM. Achtung: [color=red]Es darf keine Authentifizierung eingerichtet sein[/color]
aodevice: -ao Parameter für mplayer, um das output device anzugeben


Das globalpassword ist bei mir für telnetPort eingerichtet und das Radio spielt im Hintergrund.


user@debian:~# sudo apt-get install alsa-utils


Das habe ich nie explizit installiert. Entweder war es schon in der Grundkonfiguration enthalten oder wurden als Abhängigkeit von player mitinstalliert. Letztendlich kann es ja nicht schaden das ganze explizit noch mit aufzuführen.


user@debian:~# sudo addgroup fhem dialout
user@debian:~# sudo addgroup fhem mail
user@debian:~# sudo addgroup fhem audio
user@debian:~# sudo addgroup fhem sudo


Von denen habe ich nur bei audio den fhem hinzugefügt. Für dailout bestand die Gruppenzugehörigkeit schon, demnach kann ich jetzt nicht sagen ob sie fürs Radio zwingend notwendig ist.

pi@raspberrypi ~ $ sudo groups fhem
fhem : dialout tty audio

die Gruppenzugehörigkeiten reichen bei mir aus.


fhem    ALL=NOPASSWD: ALL


für das Text2Speech Modul hatte ich bereits den Eintrag: ALL ALL = NOPASSWD: /usr/bin/mplayer

Könnte man das ganze auch wie folgt eintragen? und damit die Rechtevergabe auf das nötigste beschränken?

fhem ALL = NOPASSWD: /usr/bin/mplayer
fhem ALL = NOPASSWD: /usr/bin/amixer


Ansonsten... auch wenn es mit der originären Aufgabe von fhem sicherlich nicht so viel gemeinsam hat... ein tolles Extra was bei mir im Dauerbetrieb läuft!

oliverk

Sag mal.... Ich habe das ja mal schnell eingebaut, um bei mir im Büro mal wieder Radio zu haben. Leider nur quick and dirty, da keine Zeit  :-\ Läuft aber...
Kann man mehrere Instanzen ausführen ? Der Multiroom Verstärker hat bei mir 4 Quellen und eine passende Soundkarte kann ich ja per USB anschließen.
Ich finde es doch sehr reizvoll mit wenigen Mitteln ein Multiroom-Audio-System zu entwickeln. Streams sind nach meiner Erfahrung beliebter als die eigene Musiksammlung. Und für die bleibt ja immer noch Bose oder Sonos..

Oliver

Fhem: 5.7 auf RaspPi / Fhem: 5.7 auf Cubie
ca. 80 net4home Buskomponenten
zum Spielen diverse FS20, HomeMatic, EnOcean, hue Geräte, Fritz!Box 7490, Fritz!Dect 200, netatmo, eve

DerFrickler

#160
Wir das Modul mit in das offizielle fhem Paket aufgenommen?

Dann währen da noch folgende ad hoc Vorschläge (falls technisch mit adäquatem Aufwand umsetzbar):

- Wiedereinführung der Senderanzeige sowie des gespielten Titels (falls vom Sender übertragen)... ich glaube den gab es schonmal
- das Mute Verhalten mit ins Modul implementieren und die RegExp für das Notify mit in die Definition des Radios übernehmen
- das Mute Verhalten in ein FadeIn / FadeOut verhalten umwandeln wobei das Radio nie komplett gestoppt wird, sondern nur kurzzeitig von der Lautstärke heruntergeregelt wird -> Vorausgesetzt dass beim Text2Speech und beim Radio die Lautstärke unabhängig voneinander geregelt werden kann
- den Lautstärkeregler mit ins Modul übernehmen

ich bin mir sicher dass der ein oder andere noch weitere Vorschläge einbringen wird.

Edit (16:37):

folgende Ausgaben im Logfile werden aktuell generiert:


2014.12.29 16:34:05 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 263.
2014.12.29 16:34:05 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in index at ./FHEM/74_StreamRadio.pm line 266.
2014.12.29 16:34:05 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 272.
2014.12.29 16:34:10 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/74_StreamRadio.pm line 144.
2014.12.29 16:34:22 1: Timeout for StreamRadio_Play reached, terminated process 6776


Edit (16:39):

Die Timeout(s) scheinen mit dem Stoppen des Streams für Text2Speech Ausgaben zusammen zu hängen.

Germanboy4u

Hallöchen,

wie kann ich das Modul so konfigurieren, dass ich die Streams auf mehreren RPIs steuern kann?
Im define oder in den Attributen gebe ich ja keine IP oder so ein.

Gb4u

Markus

Ich hab auf jeden rpi fhem und Stream Radio installiert steuern kann ich mit fhem2fhem
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Germanboy4u

Also geht es nicht ohne FHEM auf jedem Raspi?

Markus

Keine Ahnung für mich war das die einfachste Lösung
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa