[Neues Modul] StreamRadio

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

Vorheriges Thema - Nächstes Thema

gemx

Schon mal eine kleine Vorankündigung für morgen.
Die V0.3 wird wohl morgen rauskommen.
Änderungen:
- Neuer Befehl "SET VOLUME "
- Neuer Befehl "SET MUTE 0/1"
- Redesign Metadaten ermittlung: Die Metadaten werden nicht mehr über das MPLayer Log ermittelt sondern direkt über STDOUT gelesen und geparsed. Dadurch spart man sich das Logfile und das zyklische Lesen des Logfiles jedesmal von Anfang an. Das funktioniert soweit ganz gut, muss ich aber heute noch testen
- Erweiterung der Metadaten. Insgesamt wird als READINGS folgendes ausgegeben:
*Station
*Genre
*Bitrate
*StreamTitle
*StreamURL

gemx

So, wie versprochen: Neue Version im ersten Post :-)

koldomon

Zitat von: gemx am 10 Januar 2014, 16:11:08
1) Name des Moduls:
Könnte man durchaus drüber nachdenken. War mir noch nicht sicher wo die Reise hingeht
Mir ist halt aufgefallen, dass es bei einigen Modulen so ist, dass die Funktion nur für eine bestimmte Technologie funktioniert und ich finde, das sollte sich auch im Namen wiederspiegeln. Ich will aber kein "Namenskonvention" hier losdiskutieren!

Zitat von: gemx am 10 Januar 2014, 16:11:08
2) Warum nur Medienwiedergabe?
Weil ein toller Aspekt die Anzeige der Metadaten ist und das passt nunmal nur zum MPlayer
Ja, das ist in der Tat ein toller Aspekt. Das geht aber mit mpg321 genauso. Ich hab mal die beiden Player verglichen auf meinem RasPi. Da braucht der Mplayer mal schlapp die doppelte CPU-Leistung wie der mpg321. Das allein wäre jetzt für mich schon Grund genug zum Wechsel. Und wie ich mplayer verstanden habe spielt der auch Videos, was ja von FHEM garnicht genutzt wird (bisher). Auch hier ist für meinen Geschmack zu viel "Feature" für zu wenig "Usage".

Zitat von: gemx am 10 Januar 2014, 16:11:08
3) ..ist wohl Geschmackssache
....das auch. Ich hab meinen Gedanken da nicht richtig ausgedrückt. Wäre es möglich, dass wenn die Playlist nur 5 Einträge enthält, auf der Website Links auszugeben und wenn's mehr sind, dann PD?

Was mir noch aufgefallen ist auf meinem RasPi. Das Modul funktioniert, wenn der Sound immer nur auf dem Std. Device rausgehen soll. Da aber alle Player das out-device als parameter annehmen, könntest du da noch ein Attribut draus basteln?  Hätte den Charm, dass man z.B. mehrere BT-Lautsprecher in der Wohnung/Haus aufstellen könnte und die Ausgabe dynamisch machen könnte. Da denke ich an einen Bewegungsmelder im Bad -> notify macht "attr myRadio outDev BadLautsprecher" -> Musik geht im Bad an. Geh ich dann wieder in die Küche wird eben der Küchenlautsprecher als aktives Out-Device gesetzt und der Player neu gestartet.

und nachdem wir uns so gut über Geschmack unterhalten, hoffe ich deinen (ein bischen) getroffen zu haben mit den Anregungen :-D

cu markus


OdroidC1 -> fhem
CUNO -> FS20
CUL -> HomeMatic
TCM310 -> enOcean
DUOFERN -> rademacher

gemx

Also ich finde die Idee mit mpg321 gar nicht schlecht.
Hatte auch schon bemerkt, dass der mplayer relativ resourcen hungrig ist.
Dem mpg321 konnte ich bisher aber noch keine Metadaten von Radiostreams entlocken.
Braucht man dazu einen bestimmten Parameter?

Das mit dem aodev werde ich noch einbauen.

Wenn es mit mpg321 auch klappt, werde ich mal schauen, ob das Modul ggf. beide Player handeln kann.

Rince

Die Wahl des Output Devices wäre echt cool.
Warum FHEM nicht noch Video lernen sollte, erschließt sich mir nicht.

FHEM powered Video Türsprechanlage. Klingt doch gut, oder?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

gemx

So, man kann jetzt per "aodev" Attribut das ao device für mplayer festlegen.
Neue Version (V0.4) wie immer im ersten Posting :-)

Rince

Erster Test:
Läuft :)

Gefällt mir.


Im einzelnen:
Das mit den Drop Down Listen gefällt mir ausgesprochen gut.
Was ich vermisse: könnte man eine weitere Drop Down Liste machen mit Volume 25, 50, 75, 100% ???
Wobei, bei 80% ist es eigentlich schon ziemlich leise??? Haut hier was mit dem mapping nicht hin? Oder liegt es an dem RasPi?

Dann:
set streamradio PLAY benötigt die URL.
Wäre es möglich, hier der Einfachheit halber die Bezeichnungen nehmen zu können, die in der WebStreams.txt stehen?

Ansonsten:
Das mit den Zeichensätzen klappt noch nicht so richtig (ist mir aber völlig egal; ich will Radio hören und nicht Readings lesen ;) )


=> Total cooles Modul :)

Was auch funktioniert:
Radio Hören, und während dessen mit MyTTS eine Sprachdurchsage anzuhören :)

Danke schön :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

Nachtrag:
1. Frage:
Wie kann ich die Reihenfolge in der Drop Down Liste verändern? Mit der Reihenfolge in der TXT Datei hat sie nichts zu tun, mit dem Alphabet auch nicht ;)

2. Nebeneffekt mit Text2Speech von Tobias
Gestern Abend leise Radio gehört. Die Sprachansagen kamen in voller Lautstärke.
Habe dann das Webradio ausgeschaltet.
Heute früh habe ich mich gewundert, warum keine Sprachansagen kamen

=> kamen schon, aber auch so leise, da habe ich sie nicht gehört


Daher ein Verbesserungsvorschlag:
Würdest du es bitte so lösen:
Die Lautstärke vom Streamradio wird beim beenden in einem Reading gespeichert
Dann wird der Stream gestoppt
Die Lautstärke wieder auf 100 gestellt

Beim starten die Lautstärke auf den letzten Wert gestellt, bevor das Playback losläuft?


Besten Dank
Rince
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

kvo1

Hallo Zusammen
bei mir geht grad nix mehr ..!
Könnte mir jemand seine konfig zukommen lassen

danke
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

kvo1

Hallo,
bin etwas weiter , läuft erst einmal generell, aber

"state"  bleibt immer auf stopped

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

gemx

Die nächste Version kommt gleich.
Das mit dem Reading für state ist darin unter anderem auch behoben.

gemx

Neue Version (V0.5) im ersten Post.

Damit sollten jetzt fast alle Anforderungen/Bugs erledigt sein.

Das mit der Lautstärke speichern/wiederherstellen usw. geht glaube ich nicht so einfach.
Nach kurzem grübeln kann das durchaus ein unerwünschtes Verhalten produzieren.
Ich denk nochmal drüber nach.

kvo1

hmmmm, weder bei internals noch bei Readings ändert sich der state

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

gemx

Zitat von: kvo1 am 16 Januar 2014, 19:59:00
hmmmm, weder bei internals noch bei Readings ändert sich der state

Ja, da war so ein merkwürdiger dreher drin.
Hast du mal versucht das device zu löschen und neu anzulegen?

DosiRocker

Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi