FHEM Wecker Internet Radio Pi+FHEM+iCal+Bluetooth Speaker

Begonnen von basi79, 26 Juli 2015, 23:26:29

Vorheriges Thema - Nächstes Thema

basi79

Hallo Gemeinde,

ich habe ein kleines Vorhaben.
Wir möchten gern morgens von einem Internet Radio als Wcker zu unterschiedlichen Zeiten geweckt werden.
Als Lautsprecher soll ein Bluetooth Lautsprecher (in meinem aktuellen Fall ein Plantronics Calisto C620) dienen.

FHEM läuft auf einem RaspberryPi2 und der Pi ist mit einem Bluetooth Dongle ausgestattet.
Ich und meine Frau haben jeweils ein iPhone mit jeweils separatem CalDav eingebundene Kalender (wird auf einem Synology DS213j gehostet).
Sie und ich haben zu unterschiedlichen Zeiten unsere Wecker als Serien Termin verfasst.
In FHEM sind die Kalender im iCal Format eingepflegt und funktioniert soweit suuper.

Der Bluetooth Lautsprecher ist soweit ebenfalls am RPi eingebunden und bekomme sogar Internet Radio ausgegeben mit mplayer.

Ich möchte nun einen Wecker realisieren, das ab Weckzeit mit ansteigender Lautstärke das Internet Radio ausgibt.

Problem:
Der mplayer kann nicht als -daemon ausgeführt werden. Daher habe ich es mit einem "&" Zeichen am ende des Commands in einen separaten Prozess verschoben.
Ich kann den mplayer soweit gut über FHEM starten und auch mit "killall mplayer" stoppen.
Nur leider mit der vorgebenen Lautstärke "-volume xx" .

gibt eine möglichkeit dieses zu realisieren..??

Das FHEM LOG wird ebenfalls mit Rückgabe werten vom mplayer zugemüllt.

2015.07.26 19:39:55 1: >>>>>>>>> InternetRadio Eingeschaltet!!
Resolving www.ndr.de for AF_INET...
Connecting to server www.ndr.de[184.31.87.10]: 80...

Cache size set to 320 KBytes
MPlayer svn r34540 (Raspbian), built with gcc-4.6 (C) 2000-2012 MPlayer Team

Playing http://ndr-n-joy-mp3.akacast.akamaistream.net/7/665/273752/v1/gnl.akacast.akamaistream.net/ndr_n-joy_mp3.
Resolving ndr-n-joy-mp3.akacast.akamaistream.net for AF_INET...
Connecting to server ndr-n-joy-mp3.akacast.akamaistream.net[89.149.175.153]: 80...

Name   : ndr_n-joy_mp3
Website: http://ndr-n-joy-mp3.akacast.akamaistream.net/7/665/273752/v1/gnl.akacast.akamaistream.net/ndr_n-joy_mp3
Public : no
Bitrate: 128kbit/s
Cache size set to 320 KBytes

Cache fill:  0.00% (0 bytes)   
ICY Info: StreamTitle='Klangkarussell - Soundfiles Live on Tape Klangkarussell im Gibson in Frankfurt 2014';


Audio only file format detected.
==========================================================================
Trying to force audio codec driver family mp3lib...
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
mpg123: Can't rewind stream by 125 bits!
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Home directory /root not ours.
W: [pulseaudio] core-util.c: Failed to open configuration file '/root/.pulse//daemon.conf': Keine Berechtigung
W: [pulseaudio] daemon-conf.c: Öffnen der Konfigurationsdatei fehlgeschlagen : Keine Berechtigung
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
[AO_ALSA] Mixer attach default error: No such file or directory
[Mixer] No hardware mixing, inserting volume filter.
Video: no video
Starting playback...
A:   0.0 (00.0) of -0.0 (unknown) ??,?% 38% 
A:   0.0 (00.0) of -0.0 (unknown) ??,?% 41% 
A:   0.0 (00.0) of -0.0 (unknown) ??,?% 41% 
A:   0.0 (00.0) of -0.0 (unknown) ??,?% 41% 
A:   0.1 (00.0) of -0.0 (unknown) ??,?% 41% 
A:   0.1 (00.0) of -0.0 (unknown) ??,?% 41% 
A:   0.1 (00.0) of -0.0 (unknown) ??,?% 41% 
A:   0.1 (00.0) of -0.0 (unknown) ??,?% 41% 
A:   0.1 (00.1) of -0.0 (unknown) ??,?% 40% 
A:   0.1 (00.1) of -0.0 (unknown) ??,?% 40% 
A:   0.1 (00.1) of -0.0 (unknown) ??,?% 40% 
A:   0.1 (00.1) of -0.0 (unknown) ??,?% 40% 
A:   0.2 (00.1) of -0.0 (unknown) ??,?% 40% 
A:   0.2 (00.1) of -0.0 (unknown) ??,?% 40% 
A:   0.2 (00.1) of -0.0 (unknown) ??,?% 40% 


mein FHEM Config für das Notify des Internet Radio und des DUmmy sieht wie folgt aus (vorerst):


define Notify.System.InternetRadio.On notify InternetRadio:On.*|InternetRadio:event:.On { \
system ('/usr/bin/mplayer -loop 0 -ao alsa:device=bluetooth -nolirc -noconsolecontrols -volume 75 -playlist http://www.ndr.de/resources/metadaten/audio/m3u/n-joy.m3u &');;\
    Log 1, ">>>>>>>>> InternetRadio Eingeschaltet!!";;\
}
attr Notify.System.InternetRadio.On room _Notifys_

define Notify.System.InternetRadio.Off notify InternetRadio:Off.*|InternetRadio:event:.Off { \
system ('killall mplayer');;\
    Log 1, ">>>>>>>>> InternetRadio Eingeschaltet!!";;\
}
attr Notify.System.InternetRadio.Off room _Notifys_



define InternetRadio dummy
attr InternetRadio room Radio
attr InternetRadio setList On Off
attr InternetRadio webCmd On:Off


Ich würde mich sehr freuen wenn jemand lust hat mich weiter zu Unterstützen.

Gruß

basi79
RaspberryPI, Homematic, FS20, Fritzbox7490

fiedel

Hi basi79,

für mplayer gibt es einen Parameter für "quite" und glaube sogar "very quite" (Manpage), mit denen er keine Meldungen mehr ausgibt. Im Wiki bei StreamRadio habe ich ein Beispiel reingestellt, wie per FS20- Taster die Lautstärke verstellt werden kann. Das könntest du als Vorlage nehmen und in Schritten automatisiert die Lautst. erhöhen.

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

Hollo

Evtl. ist es etwas einfacher, statt dem mplayer den mpd zu nutzen.

Dafür gibt es direkt ein FHEM-Modul und Du kannst per Befehl play,pause,stop,volume nutzen; also "out of the box".
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"