Hallo zusammen,
jetzt ist endlich mein erstes "richtiges" Modul fertig.
Es basiert auf Infos und Ideen aus den beiden anderen Threads, die sich mit ähnlichem beschäftigen, daher schon mal vielen Dank an alle die dort mit gewirkt haben
http://forum.fhem.de/index.php/topic,15346.0/topicseen.html (http://forum.fhem.de/index.php/topic,15346.0/topicseen.html)
http://forum.fhem.de/index.php/topic,13650 (http://forum.fhem.de/index.php/topic,13650)
Es handelt sich um ein Device, welches das Abspielen von WebStreams auf dem Raspberry ermöglicht.
Zusätzlich wird eigentlich nur der mplayer benötigt.
Was kann es?
Beliebige WebStreams per MPlayer abspielen und auch deren Metadaten, z.B. aktuell laufender Titel anzeigen.
Das ganze wird direkt in der Raumübersicht angezeigt, ohne weblink o.ä.
Siehe Screenshots :-)
Installation
* MPlayer, falls nicht schon vorhanden. sudo apt-get install mplayer
* Das angehängte Script "74_StreamRadio" ins Modul Verzeichnis kopieren, also wahrscheinlich nach /opt/fhem/FHEM
* irgendwo eine Datei mit den WebStreams anlegen. Diese Datei sollte pro Zeile immer den Namen des Streams gefolgt von "|" und dann die URL enthalten.
also z.B. testradio|http://bla.com/34.m3u
. Eine Sample Datei ist ebenfalls dabei
Define
define streamradio StreamRadio /opt/fhem/log/WebStreams.txt
unter der Vorraussetzung, dass ihr die WebStreams.txt dort abgelegt habt.
Attribute
volume_command <= das shell kommando, um die Lautstärke einzustellen. Es kann die Platzhalter von sprintf verwendet werden. Für den raspi z.B. "amixer cset numid=1 -- %s%%". Dies ist der Default, nach einem neuen define
telnetport <= Der lokale telnetport für FHEM. Achtung: Es darf keine Authentifizierung eingerichtet sein
aodevice <= -ao Parameter für mplayer, um das output device anzugeben
Commands
set <name> PLAY <StreamURL/Stationname aus Playlist>
set <name> STOP
set <name> VOLUME <Lautstärke in %>
Aktuelle Version
(Update erfolgt immer hier im ersten Posting)
V0.5
* Reading für "state" funktioniert wieder
* Die Playlist wird nach Namen sortiert angezeigt
* set PLAY kann jetzt auch der Stationname anstelle der URL angegeben werden
* Die Lautstärke veränderung in % sollte jetzt proportional erfolgen
- V.04 Neues Attribut "aodev", um das aodevice für mplayer festzulegen
- V0.3 Neuer Befehl "VOLUME", Mehr Metadaten, Das MPlayer log wird nicht mehr geparsed sondern direkt STDOUT. Das dürfte deutlich performanter sein
- V0.2 Umbau auf Benutzung von BlockingCall
- V0.1 (initiale Version
Das war es auch schon. Als Attribut kann man noch das Logfile für den MPlayer festlegen, welches für die Ermittlung der Metadaten verwendet wird.
Noch offene Punkte
- Da der MPlayer seinerseits auch noch weitere MPlayer Prozesse forked, hat ein Kill direkt auf die PID nicht funktioniert. Derzeit klappt es nur sauber mit killall
- Telnetport der von Blocking.pm erstellt wird ermitteln. Das hat bisher leider noch nicht geklappt.
WICHTIG:
Bitte die Datei 74_StreamRadio.pm aus dem fhemwiki Artikel
http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe (http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe)
entnehmen, und nicht hier aus dem Anhang.
(Dieser Abschnitt wurde vom Admin nach Hinweis von Anwendern hinzugefuegt, da der Autor nicht mehr aktiv ist).
kurz zwei anmerkungen ohne es schon probiert zu haben:
- wenn die mplayer prozesse alle unter dem ersten hängen müsste 'pkill -P' funktionieren
- BlockingCall sollte eigentlich keine performance probleme haben. wenn du es selber mit fork machst und nicht so aufräumst wie es BlockingCall macht wird fhem z.b. bei einem 'shutdown restart' hängen bleiben oder das abziehen und wieder anstecken eines cul geht nicht.
gruss
andre
Also "pkill -P" hatte ich neben vielen anderen Varianten ebenfalls ausprobiert und es hat mir nur einen MPLAYER gekilled, aber nicht den, den MPLAYER selbst geforked hat.
Wegen dem BlockingCall schaue ich gerne nochmal.
Ist ja mein erstes Modul bzw. die ersten Gehversuche in Perl und FHEM
Hallo gemx,
zunächst nur gelesen,nicht getestet (kommt heute noch) .. Hut ab!
Aber was hat es mit den Definitionen
# set <name> <key> <value>
#
# where <key> is one of mute, volume, remoteControl or off
# examples:
# set <name> PLAY <StreamURL> <Start playback the selected stream>
# set <name> STOP <Stops playback>
auf sich, kann ich mir hier einen Play und Stop - Button definieren wie beim Haus-Radio ??
Ja genau. Man kann auch einen Play und Stop Button bauen.
Ich fand das zwar wie ich das gemacht schöner, wollte aber dennoch die Möglichkeit offen lassen ;-)
ups .. da hab ich wohl was falsch verstanden, hilf mir auf die Sprünge...
wenn ich
set streamradio PLAY
set streamradio STOP
eintrage
kommt ...
Hi gemx.... läuft auf Anhieb ... coooool
das (sieh Bild) könnt man sich sparen , aber das ist ja noch ein offener Punkt ...Metadaten...
Gruß
Klaus
Zitat von: kvo1 am 08 Januar 2014, 21:16:32
ups .. da hab ich wohl was falsch verstanden, hilf mir auf die Sprünge...
wenn ich
set streamradio PLAY
set streamradio STOP
eintrage
kommt ...
Für "PLAY" muss man als Parameter noch die URL des Streams anhängen, also "set streamradio PLAY http://...."
bei den Werten für "state" solltest Du auf die vielen Punkte verzichten.
Für "PLAY" muss man als Parameter noch die URL des Streams anhängen, also "set streamradio PLAY http://...."
bringt leider nix , gleicher Fehler wie zuvor !
define streamradio StreamRadio /opt/fhem/WebStreams.txt
attr streamradio room Radio
set streamradio PLAY http://www.radioeins.de/live.m3u
set streamradio STOP
Hast du ein Beispiel ?
in der 74_StreamRadio hast du unterschiedliche Schreibweisen für "MplayerLog" (MplayerLog, MPlayerLog). Führt zu einer Fehlermeldung
Habs bei mir normalisiert und es kommt keine FM mehr
hi, nochmal ich 8)
Hab das Modul "fast" erfolgreich getestet. Nachdem ich 2 Tage brauchte um ein Bluetooth-Speaker zum laufen zu bekommen, hat dein Modul auf anhieb funktioniert.....ABER.... wenn ich auf meinem Raspi mit mp321 den Stream von http://mp3.webradio.rockantenne.de:80 aufrufe funktioniert alles prima, mit mplayer hört es total verrauscht an????? ich finde auch nciht raus, woran das liegt. Evtl. findest du da was. Was mir noch aufgefallen ist, wenn ich FHEM neu starte, dann zeigt das Pulldown auf der Weboberfläche an, dass ein Stream gewählt ist und "angeblich" läuft. Ist aber alles Stumm, so wie vor dem Reboot. ???
so, nun zu den Anregungen
1. Gedanke: Name des Modul
"StreamRadio" sagt zwar aus, was es tut, aber nicht womit/wie. Mein Vorschlag: "MPlayerStream". Warum? Weil damit auch klar wird, dass der "MPlayer" dazu benutzt wird. weiter dazu in "2. Gedanke". Wenn du nur Streams mit dem Modul ausgibst, dann ist das Suffix "Stream" wohl am passendsten. Solltest du planen, zukünftig auch MP3 als Datei oder aus dem lokalen Netzwerk abzuspielen, sollte das Modul wohl am besten nur "MPlayer" heissen.
2. Gedanke: Grundlage des Modul
Die Basis deines Moduls ist "mplayer". Muss das so bleiben? Nachdem bei mir ja mit "mpg321" alles sauber funktioniert und das Ding sogar über das Terminal bedienbar ist, wäre es eine Alternative zu deiner Wahl. Oder noch besser, du machst den Player auswählbar. Die jeweiligen Parameter können ja als Attribut für den jeweiligen Player übergeben werden.
2a. Gedanke: Warum überhaupt nur "medienwiedergabe"?
Wenn ich den 2. Gedanke zu Ende spinne, kommt ich auf ein Modul, mit dem ich beliebige Programme von Linux starten kann, die im Hintergrund laufen
3. Gedanke: Steuerung des Modul
Das mit dem Pulldown ist ja ganz schick und sicherlich die bessere Wahl, wenn man sehr viele Einträge in der Playlist stehen hat. Ich vermute, dass die meisten 4-5 Einträge haben und die könnten als direkte Liste ausgegeben werden.
4. Gedanke: Pflege der Playlist
Die Einträge der Playlist sollten meines Erachtens als Definition des Moduls gemacht werden, so dass Sie direkt über die Weboberfläche bearbeitet werden können. Das würde auch dem bisherigen Stil von fhem folgen.
So, ich hoffe du fasst meine Anregungen nicht als Kritik an dir oder deiner Arbeit auf - soll ja schon mal vorgekommen sein. Wenn du dir jetzt denkst "Bau dir doch dein eigenes Modul", richtig, bin ich aber leider noch zu blöd für. Ich befass mich grad mal 4 Wochen mit Linux und hab noch keine Ahnung von der Programmierung in Perl. Aber wir könnten es zusammen machen, würd ich wenigstens was lernen (wenn du mir ne Einweisung gibst ;))
alles Gute
cu markus
Nee, nee passt schon.
Freue mich ja über Anregungen :-)
1) Name des Moduls:
Könnte man durchaus drüber nachdenken. War mir noch nicht sicher wo die Reise hingeht
2) Warum nur Medienwiedergabe?
Weil ein toller Aspekt die Anzeige der Metadaten ist und das passt nunmal nur zum MPlayer
3) ..ist wohl Geschmackssache
4) Pflege der Playlist
Das ist glaube ich ziemlich umständlich, weil das define statements sehr lang wird. Zudem ist die Pflege der Kanalliste auch arg unpraktisch.
Ich überleg mal, wie man das evtl. in die Oberfläche bringen könnte.
« Antwort #10 am: Heute um 12:36:50 »Zitat in der 74_StreamRadio hast du unterschiedliche Schreibweisen für "MplayerLog" (MplayerLog, MPlayerLog). Führt zu einer Fehlermeldung
Habs bei mir normalisiert und es kommt keine FM mehr
sollte das auch die Lösung für mein Problem sein ? Werde ich heute Abend mal testen.
Hallo gemx,
bei mir tut es erstmal alles was es soll.
Laut/leiser wäre natürlich für eine Radio app super, dann könnte man sich auch durch langsam ansteigende Lautstärke wecken lassen
Super Dankeschön
Martin
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
So, wie versprochen: Neue Version im ersten Post :-)
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
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.
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?
So, man kann jetzt per "aodev" Attribut das ao device für mplayer festlegen.
Neue Version (V0.4) wie immer im ersten Posting :-)
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 :)
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
Hallo Zusammen
bei mir geht grad nix mehr ..!
Könnte mir jemand seine konfig zukommen lassen
danke
Hallo,
bin etwas weiter , läuft erst einmal generell, aber
"state" bleibt immer auf stopped
Die nächste Version kommt gleich.
Das mit dem Reading für state ist darin unter anderem auch behoben.
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.
hmmmm, weder bei internals noch bei Readings ändert sich der state
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?
das ist bei genauso
Martin
>>>Hast du mal versucht das device zu löschen und neu anzulegen?
das hat geholfen !
Aber wenn ich VOLUME 50 (dann set) stellen , ist der Ton aus
Stell ich dann VOLUME 100 (dann set) ist der Ton immer noch aus , bis ich einen neuen Sender wähle
Zitat von: Rince am 14 Januar 2014, 19:35:14
FHEM powered Video Türsprechanlage. Klingt doch gut, oder?
Klingt phantastisch, aber mal ehrlich, da will ich doch einen LiveStream von der Webcam sehen. Und den "Tagesablauf" als VideoDatei würde ich nicht auf dem FHEM ablegen, außer es ist eine passable Kiste. FB und RasPi scheiden aber dafür aus.
Mein Einwand wg. Video ging eher darum, dass ich keine Youtube-Videos durch den Raspi saugen will und man FHEM nicht zum VideoStreamen verdammen soll. Meine Meinung :D
Zitat von: gemx am 14 Januar 2014, 19:24:10
Dem mpg321 konnte ich bisher aber noch keine Metadaten von Radiostreams entlocken.
Braucht man dazu einen bestimmten Parameter?
http://linux.die.net/man/1/mpg321 (http://linux.die.net/man/1/mpg321)
Und da war's wieder mein Problem. ich muss mich jetzt endlich hinter die Perl-Programmierung klemmen.....
Mein Gedanke ging in die Richtung, dass der mpg321 mit den Parametern -R (Remote Control) --skip-printing-frames=(25) (mach blos nicht ohne!!!!) aufruft und dann über stdout die Commandos für die Ausgabe an die entsprechenden Readings schickt. im Anhang ist die READINGS.remote, wo die Parameter drinstehen(http://sourceforge.net/p/mpg321/code/ci/master/tree/README.remote (http://sourceforge.net/p/mpg321/code/ci/master/tree/README.remote). (Ich würd so gern mitmachen und dir helfen, damit ich auch was lern ;-))
Zitat von: gemx am 14 Januar 2014, 19:24:10
Wenn es mit mpg321 auch klappt, werde ich mal schauen, ob das Modul ggf. beide Player handeln kann.
*THUMPSUP* ;D ;D ;D ;D ;D *THUMPSUP*
Zitat von: koldomon am 17 Januar 2014, 15:43:07
Klingt phantastisch, aber mal ehrlich, da will ich doch einen LiveStream von der Webcam sehen. Und den "Tagesablauf" als VideoDatei würde ich nicht auf dem FHEM ablegen, außer es ist eine passable Kiste. FB und RasPi scheiden aber dafür aus.
Mein Einwand wg. Video ging eher darum, dass ich keine Youtube-Videos durch den Raspi saugen will und man FHEM nicht zum VideoStreamen verdammen soll. Meine Meinung :D
http://linux.die.net/man/1/mpg321 (http://linux.die.net/man/1/mpg321)
Und da war's wieder mein Problem. ich muss mich jetzt endlich hinter die Perl-Programmierung klemmen.....
Mein Gedanke ging in die Richtung, dass der mpg321 mit den Parametern -R (Remote Control) --skip-printing-frames=(25) (mach blos nicht ohne!!!!) aufruft und dann über stdout die Commandos für die Ausgabe an die entsprechenden Readings schickt. im Anhang ist die READINGS.remote, wo die Parameter drinstehen(http://sourceforge.net/p/mpg321/code/ci/master/tree/README.remote (http://sourceforge.net/p/mpg321/code/ci/master/tree/README.remote). (Ich würd so gern mitmachen und dir helfen, damit ich auch was lern ;-))
*THUMPSUP* ;D ;D ;D ;D ;D *THUMPSUP*
Also z.B. bei Einslive (http://1live.akacast.akamaistream.net/7/706/119434/v1/gnl.akacast.akamaistream.net/1live) bekomme ich per mpg321 keine Metadaten bzw. Icecast Infos. Beim mplayer kommt da schon was
Hallo,
Danke für das tolle Modul. :)
Ich habe alles wie im ersten Post durch geführt und konnte das Modul und auch den MPlayer erfolgreich installieren.
StreamRadio wird mir in FHEM angezeigt und ich kann den Sender "1Live" auch starten. Der State ändert sich dann auch von "stopped" auf "playing" und StationName, StreamTitle, StreamURL werden korrekt angezeigt.
Leider bekomme ich weder am Audio-Ausgang noch am Hdmi Ausgang Ton. :(
Wie kann ich das Problem lösen?
Kleine Zusatzinformation: Ich nutze den Pi neben FHEM auch für AirPlay und habe keine Probleme über Airplay Musik zu hören. :-\
Kann es sein, dass dein AirPlay Modul die Audioausgänge blockiert?
Und die andere Frage ist, ob dein FHEM User Rechte auf die Audiohardware hat?
bei mir Funktioniert es auch nicht Rasperry ganz neu aufgesetzt fhem drauf und dann dein Modul installiert laut deinem ersten post leider kein Ton :-(
Gruß Markus
Ihr müsst ZWEI Rechte beachten:
mplayer muss für FHEM freigegeben sein
Audio auch!
Es hilft nix wenn FHEM den mplayer starten darf, aber nicht auf die Audiofunktionen Zugriff bekommt.
Ich habe meine Rechte-Probleme auch gelöst bekommen.
Jetzt hätte ich noch einen Wunsch ;) :
Das man den Output wählen kann:
-- HDMI --> amixer cset numid=3 2
-- analog --> amixer cset numid=3 1
-- auto --> amixer cset numid=3 0
Das wäre super.
Zurzeit muss ich das noch manuell auf analog setzen, wenn ich beim start hdmi angeschlossen hatte.
Ansonsten ein super Modul. Funktioniert einwandfrei
Hast du mal versucht, mehrere TTS devices anzulegen mit unterschiedlicher Konfiguration?
Hallo FHEM Gemeinde,
das Modul hört sich ja wiklich klasse an... Respekt. 8)
Leider habe ich auch das Problem mit den Rechten auf dem Raspi und es wird kein Ton ausgegeben....
Servus kabakakao, kannst Du mir Bitte erklären, wie Du das Problem gelöst hast.
Super und vielen Dank im Voraus. :)
Heinzer
+++++++++++++++++++++
Update....
Wer lesen kann ist klar im Vorteil... es läuft :D ;D :D ;D :D ;D
Super Teil..
Grüße
Heinzer
Zitat von: kabakakao am 25 Januar 2014, 12:18:15
Ich habe meine Rechte-Probleme auch gelöst bekommen.
Jetzt hätte ich noch einen Wunsch ;) :
Das man den Output wählen kann:
-- HDMI --> amixer cset numid=3 2
-- analog --> amixer cset numid=3 1
-- auto --> amixer cset numid=3 0
Das wäre super.
Zurzeit muss ich das noch manuell auf analog setzen, wenn ich beim start hdmi angeschlossen hatte.
Ansonsten ein super Modul. Funktioniert einwandfrei
Könntest du einmal die genauen Befehle posten, damit alle Anfänger, etwas von deiner Lösung haben. :D Danke! :)
Zitat von: Spezialtrick am 25 Januar 2014, 15:11:02
Könntest du einmal die genauen Befehle posten, damit alle Anfänger, etwas von deiner Lösung haben. :D Danke! :)
Ich vermute, dass du die Rechte meinst?!
Also zunächst muss man den fhem User in die Audio Gruppe aufnehmen:
sudo adduser fhem audio
Danach habe ich noch die allgemeine mplayer config für alle User zugänglich gemacht:
sudo chmod 666 /etc/mplayer/mplayer.conf
Dann habe ich in der mplayer.conf eine Zeile angepasst:
von
ao = pulse,alsa,sdl:aalib
nach
ao = alsa,sdl:aalib
danach noch einen reboot durchgeführt und der Sound hat funktioniert.
Es kann sein, dass nicht alle diese Schritte nötig sind.
Aber so bin ich zum Ziel gekommen ;)
Jetzt habe ich noch eine Frage...
Das Radio läuft und ich kann auch die Sender auswählen. Perfekt!! Aber irgendwie kann ich die Lautstärke nicht verändern... :'(
Auch mit einem "set streamradio VOLUME 20" verändert sich die Lautstärke nicht. Was mache ich falsch?Ein "set streamradio STOP" zum Beispiel funktioniert.
Jetzt schon vielen Dank für Eure Hilfe.
Grüße
Heinzer
Auf welchem Device gibst du den Sound aus?
HDMI?
Analog?
Aktuell noch auf Analog..
Eigentlich will ich im Bad über einen Bewegungsmelder das Radio einschalten und dann die Lautstärke langsam erhöhen oder Nachts einfach ein bischen leiser Regeln.
Vielen Dank
Heinzer
Was sagt denn das Logfile?
Hallo Rice,
auf das Log hätte ich schon früher kommen können... >:( .. Normal habe ich verbose 3 eingestellt. Dann gibt es kein Logeintrag.
Bei verbose 5 steht dann folgendes..
....
2014.01.25 21:28:13 4: HTTP FHEMWEB:192.168.178.36:56804 GET /fhem&room=Radio&cmd=set+streamradio+VOLUME+98
2014.01.25 21:28:13 5: Cmd: >set streamradio VOLUME 98<
2014.01.25 21:28:13 5: Request volume to set %
2014.01.25 21:28:13 5: Real volumne to set is 0 %
2014.01.25 21:28:13 5: Using volume command =amixer cset numid=1 -- 0%
2014.01.25 21:28:13 5: Triggering streamradio (1 changes)
2014.01.25 21:28:13 5: Notify loop for streamradio VOLUME 98
2014.01.25 21:28:13 4: HTTP FHEMWEB:192.168.178.36:56794 GET /fhem?room=Radio
2014.01.25 21:28:13 4: /fhem?room=Radio / RL:1570 / text/html; charset=UTF-8 / Content-Encoding: gzip
....
Grüße
Heinzlander
Update...
Ich habe noch eine neue Info.
Wenn ich über putty den Befehl "sudo amixer -c 0 set PCM 300+" eingebe, erhöht sich die Lautstärke jedesmal... Über putty, also direkt auf dem Raspi, geht es und man kann die Lautstärke verändern.
Grüsse
Heinzlander
Was passiert denn, wenn du diesen Befehl in ein Shell Skript steckst und dieses von FHEM aus ausführst?
Vielleicht hat der fhem User keine amixer Rechte? Mit sudo wirst zum SuperUser, das würde ich weglassen im Testskript. Der FHEM User muss es dürfen.
Ich hab jetzt Kopfhörer an meinem raspberry angeschlossen und ich kann die Musik jetzt ganz leise hören also funktioniert es doch :-)
Leider viel zu Leise das Log sagt immer :
2014.01.27 01:06:57 4: HTTP FHEMWEB:192.168.1.8:50471 GET /fhem&room=Unsorted&cmd=set+streamradio+VOLUME+100
2014.01.27 01:06:57 5: Cmd: >set streamradio VOLUME 100<
2014.01.27 01:06:57 5: Request volume to set %
2014.01.27 01:06:57 5: Real volumne to set is 0 %
2014.01.27 01:06:57 5: Using volume command =amixer cset numid=1 -- 0%
2014.01.27 01:06:57 5: Triggering streamradio (1 changes)
2014.01.27 01:06:57 5: Notify loop for streamradio VOLUME 100
2014.01.27 01:06:57 4: eventTypes: StreamRadio streamradio VOLUME 100 -> VOLUME .*
2014.01.27 01:06:58 4: HTTP FHEMWEB:192.168.1.8:50470 GET /fhem?room=Unsorted
2014.01.27 01:06:58 4: /fhem?room=Unsorted / RL:1779 / text/html; charset=UTF-8 / Content-Encoding: gzip
Gruß Markus
Hallo Markus,
ich glaube, wir haben das gleiche Problem...
Servus Rince,
danke für Deinen Vorschag doch leider bin ich noch ein blutiger Anfänger mit dem raspi.
Kannst Du mir Bitte helfen. Wie mache ich das mit dem Shell Script?
Grüße Heinzlander
Leider nicht im Moment. Ich surfe grade mit 64KBit. Da ist alles irgendwie eine Qual. Im Anfängerbereich gabs kürzlich nen Thread wie man ein Shell Skript direkt ausführt. Abgesehen davon bin ich selber neu in Linux, kann also auch nicht sagen, ob es nicht einen schlaueren Weg gibt, das raus zu finden. Mir fällt nur kein besserer ein.
Vielleicht kann wer der sich mit Linux auskennt mal was dazu schreiben?
Ist es nötig auch die Rechte für amixer an zu passen?
Und wenn ja, wie geht das. Ansonsten würde ich sagen, genau wie für den mplayer auch. Das habt ihr ja auch geschafft :-)
Bei mir klappt leider nichts mehr. Habe meinen Pi heute ganz frisch aufgesetzt und das Modul incl. der Rechte installiert. Leider werden mir nicht die Daten bzgl. des aktuellen Songs angezeigt. Ton habe ich auch nicht. Das hier gibt mein Log her:
2014.01.27 17:52:03 4: Connection accepted from FHEMWEB:192.168.178.38:54241
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54240 GET /fhem/pgm2/fhemweb.js
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54239 GET /fhem/pgm2/fhemweb_colorpicker.js
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54237 GET /fhem/pgm2/svg.js
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54241 GET /fhem/pgm2/fhemweb_noArg.js
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54238 GET /fhem/pgm2/fhemweb_slider.js
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54240 GET /fhem/pgm2/fhemweb_svg.js
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54239 GET /fhem/pgm2/fhemweb_textField.js
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54241 GET /fhem/pgm2/dashboard_style.css
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54237 GET /fhem/pgm2/fhemweb_time.js
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54238 GET /fhem/images/default/fhemicon.png
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54237 GET /fhem/images/default/icoEverything.png
2014.01.27 17:52:03 4: HTTP FHEMWEB:192.168.178.38:54238 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=×tamp=1390841523559
2014.01.27 17:52:13 4: HTTP FHEMWEB:192.168.178.38:54237 GET /fhem?XHR=1&cmd.streamradio=set%20streamradio%20PLAY%20http://www.wdr.de/wdrlive/media/einslive.m3u
2014.01.27 17:52:13 5: Cmd: >set streamradio PLAY http://www.wdr.de/wdrlive/media/einslive.m3u<
2014.01.27 17:52:13 4: StreamURL http://www.wdr.de/wdrlive/media/einslive.m3u does not seem to be a valid URL so we check if it is a station name from the playlist...
2014.01.27 17:52:13 4: Hmm, no station with the name found so we just try to play it.
2014.01.27 17:52:13 5: CheckTerminate...
2014.01.27 17:52:13 5: Triggering streamradio (1 changes)
2014.01.27 17:52:13 5: Notify loop for streamradio StreamURL: http://www.wdr.de/wdrlive/media/einslive.m3u
2014.01.27 17:52:13 4: eventTypes: StreamRadio streamradio StreamURL: http://www.wdr.de/wdrlive/media/einslive.m3u -> StreamURL: http://www.wdr.de/wdrlive/media/einslive.m3u
2014.01.27 17:52:13 5: Triggering streamradio (1 changes)
2014.01.27 17:52:13 5: Notify loop for streamradio playing
2014.01.27 17:52:13 4: eventTypes: StreamRadio streamradio playing -> playing
2014.01.27 17:52:13 5: MPlayer start. PID is 2606
2014.01.27 17:52:13 4: /fhem?XHR=1&cmd.streamradio=set%20streamradio%20PLAY%20http://www.wdr.de/wdrlive/media/einslive.m3u / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2014.01.27 17:52:15 4: Connection closed for FHEMWEB:192.168.178.38:54238
2014.01.27 17:52:15 4: HTTP FHEMWEB:192.168.178.38:54237 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2014-01.log
EDIT: Nun funktioniert es ganz plötzlich, ohne dass ich etwas geändert habe. Das Radio läuft sehr leise über die Klinge. Ich brächte allerdings die HDMI Ausgabe. Reicht es amixer cset numid=1 -- %s%%
in amixer cset numid=2 -- %s%%
zu ändern?
Nochmals ich...
habe folgendes festgestellt. Egal was ich für einen Wert über set VOLUME eingebe, die Lautstärke im raspi wird immer auf 0 gesetz. Danach kann ich über den Befehl "amixer -c 0 set PCM 300+" (putty )die Lautstärke erhöhen. Als würde der set Volume Befehl nicht sauber durchkommen.... :'(
Vielleicht hilft diese Erfahrung.... Und so wie ich es gelesen habe, haben viele das gleiche Problem...
Vielen Dank
Heinzlander
@ heinzlander Ich habe genau das gleich Problem wie du, Leider hab ich auch keinen Lösungsvorschlag :-(
Gruss Markus
Probiert doch mal:
sudo gpasswd -a FHEM audio
oder
sudo gpasswd -a fhem audio
Dann evtl. den Pi neu starten.
Hallo Rince,
das mit Deinem Vorschlag hat leider nichts gebracht.... Vielen Dank für Deine Mühe.
Alter Schwede, wir werden das 8) Teil doch noch zum laufen bringen...
Noch ein Versuch, wenn ich in der 74_StreamRadio Datei die Variable my $vol_in direkt mit einer Zahl beschreibe........ dannnnnnn geht es ..... :) :) :) :) :) :) :) Es verändert sich die Lautstärke...
Beispiel "my $vol_in=88"
anstatt
elsif ($cmdname eq "VOLUME") {
my $vol_in=$a[2];
Log 3,"Request volume to set $vol_in %";
Aufgefallen ist es mir im Log. Dort wurde kein Wert an den Raspi gesendet...
....
2014.01.29 05:30:42 3: Request volume to set %
2014.01.29 05:30:52 3: Request volume to set %
2014.01.29 05:54:56 3: Request volume to set %
....
Nach dem direkten zuordnen mit einem Wert sieht das Log so aus und es geht.... ;D ;D ;D ;D ;D ;D
....
06:04:43 3: Request volume to set 28 %
2014.01.29 06:04:43 3: Real volumne to set is 72.9622513149703 %
2014.01.29 06:04:43 3: Using volume command =amixer cset numid=1 -- 72.9622513149703%
.....
Leider muss ich jetzt aussteigen, da ich nicht weis wie die Variable $a[2] beschrieben wird. Da hören meine Programmierkenntnisse einfach auf. :'(
Aber vieleicht ist das ein Ansatz.... wiederum...warum funktioniert diese Funktion bei anderen Fhemler?
Grüße
Heinzlander
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Update 03.02.14
So wie es ausschaut, kommt die Variable für die Lautstärke nicht durch.... es wird dann einfach eine 0 als Lautstärke an den Raspi gesendet, egal was man mit set volume vorgibt :'( :'( :'( :'(
Ich habe noch inzwischen das Thema Sprachausgabe getestet... und siehe da bei dem Modul Text2Speech kann ich die Lautstärke mit "SET MyTTS volume XX" belibig verändern und es funktioniert.... 8)
Warum geht es dann bei dem Webradio nicht?? Ich will mich doch nicht wegen dem eigentilich perfekten Modul noch vor den Zug werfen.. :) :)
Grüße
Heinzlander
Tolles Modul Danke!
Ich hatte aber einige Probleme mit diesem Modul. Jetzt Funktioniert es aber :-D
Ein paar Tipps für alle die wie ich am verzweifeln sind ;-)
Der Raspberry hat nur einen Line aut Ausgang man braucht unbedingt einen Verstärker oder Aktivboxen auch Kopfhörer gehen nicht.
Es dauert mehrere Sekunden bis die Musik wirklich zu spielen beginnt, also nicht ungeduldig sein.
Und die Lautstärke lässt sich immer noch nicht über das Modul steuern jeder versuch stehlt 0% am raspi ein :-(
Lässt sich aber ganz leicht über putty ändern Danke Heinzlander :-)
amixer -c 0 set PCM 300+
Gruß Markus
Hallo ihr Radiohörer,
hab das mit der Lautstärke mal schnell gefixt. Da waren noch kleine Fehlerchen im Modul. Das hatte mit den Rechten nix zu tun.
Für das Attribut mit der Lautstärke muss es lauten: attr streamradio volume_command amixer cset numid=2 -- %s%%
Dieses Attr. muss normalerweise aber nicht angegeben werden. Der Befehl steht auch im Modul und ist jetzt gefixt. Man braucht es nur, wenn man einen anderen Mixer verwendet, als den amixer.
Den Logarithmus habe ich auch wieder deaktiviert: Wenn die Lautstärke mit Werten von 0% bis 100% angegeben wird, braucht man das nicht, meine ich. Im Webinterface kann die Lautstärke nur mit den Ziffern 0-100, also ohne "%" eingegeben werden. Das sollte auch für den fhem- Befehl gelten.
Süß wäre ja, wenn jemand da noch einen Schieberegler (Slider) dazubauen würde. Sowas haben wir hier ja auch schon.
An den Modulautor: Ich habe die Änderungen im Modul kommentiert.
Testet es bitte mal und schreibt, ob es tut! ;)
Falls auch mit dieser Version kein Ton kommt, kann es daran liegen, dass die ungefixte Version den Ton zuvor "abgeschaltet" hat: Der zuvor verwendete Parameter für Volume war irrtümlich der Par. für Wiedergabe ein/aus. Ihr müsst dann einmalig in der Konsole folgendes eingeben, um die Wiedergabe des amixer einzuschalten:
amixer cset numid=1 -- 1
Gruß
Frank
Edit:
Die Sache mit der Lautstäkeregelung ist noch etwas verwirrender als ich dachte. Verschiedene amixer- Versionen scheinen völlig anders belegte Steuerbefehle zu haben:
Gibt man auf der Konsole ein: amixer controls
, gibt meine aktuelle Version aus:
numid=1,iface=MIXER,name='PCM Playback Switch'
numid=2,iface=MIXER,name='PCM Playback Volume'
numid=3,iface=MIXER,name='Mic Capture Switch'
numid=4,iface=MIXER,name='Mic Capture Volume'
numid=5,iface=MIXER,name='Auto Gain Control'
In diesem Blog (http://blog.scphillips.com/2013/01/sound-configuration-on-raspberry-pi-with-alsa/) sieht das aber z.B. so aus:
$ amixer controls
numid=4,iface=MIXER,name='Master Playback Switch'
numid=3,iface=MIXER,name='Master Playback Volume'
numid=2,iface=MIXER,name='Capture Switch'
numid=1,iface=MIXER,name='Capture Volume'
Bei Soundproblemen sollte also jeder erst einmal herausfinden, wie genau die Mixerkommandos lauten und das dann ggf. mit dem Attribut "volume_command" entsprechend anpassen.
Das wars :-D Danke
Gruß Markus
Sehr schön! Bei mir läuft es auch gut. Auch beim set- Befehl kann man mit Zahlen ohne "%" arbeiten.
Ein Problemchen habe ich noch: Bei jedem Ausschalten des Radios gibt es eine Logmeldung:
2014.02.09 08:59:53 1: Timeout for StreamRadio_Play reached, terminated process 9680
Das kommt nicht aus dem Modul selbst, sondern aus FHEM (BlockingCall o.ä.). Da fehlen mir die Zusammenhänge. Vielleicht kann der Modulautor da noch mal drübergucken.
Und noch ne Kleinigkeit: Bei der Anzeige der Senderinfos werden Umlaute falsch dargestellt. Kann man da noch was machen??? :)
Vielen Dank und viele Grüße!
Frank
Hallo,
muss es in der Funktion StreamRadio_Play nicht heißen:
open my $proc, '-|', "mplayer $aoString -nolirc $PLString $StreamURL";
Die Variable $aoString sollte nicht zwischen $PLString und $StreamURL stehen.
Bei mir ging es sonst mit einem alsa bluetooth device nicht.
Viele Grüße
Sven
Ich schon wieder ;)
Hier im Thread gab es die Diskussion, warum wir nicht "mpg321" nehmen, der mplayer ist ja so ressourcenhungrig...
Ich benutze seit langem "madplay", welches auch mit der MAD- Basis läuft, genau wie "mpg321". Und nun seht euch mal die Screenshots an! Alles gestreamtes Radio mit den 3 Playern. Ist da an meinem System was faul, oder sollten wir doch lieber bei mplayer bleiben???
Madplay braucht bei mir zwar nur 3% CPU und ist damit theoretisch absolute Spitze, aber dafür spuckt es vermutlich keine Infos aus, die sich im WebIF anzeigen lassen.
Gruß
Frank
Ha, jetzt hab ich den Thread für mich... ;D ;)
Hier mal der angesprochene Slider. Ich habe ihn einfach per Dummy extern angelegt:
Edit1: Erweiterung Slider und per FS20- Tastenpaar Radio Play/Stop und Vol+/Vol- (mit der Dim- Funktion).
Die Funktion Play/Stop unterstützt dabei nur den im Notify eingetragenen "Lieblingssender".
Bei einem FS20- 4fach Taster könnte man natürlich auch noch die Sender durchschalten... 8)
Edit2:
Zitat von: Rince am 15 Januar 2014, 08:44:46
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?
Das macht sich besser außerhalb des Moduls. Ich hab ganz unten im Code mal sowas programmiert. Einziger Haken an der Sache:
Es gibt vom TTS- Modul kein Event, wann die Ansage zuende ist. Das lässt sich wahrscheinlich auch schwer realisieren. Deshalb habe ich in meinem Beispiel eine Zeit von 10 Sek. drin, nach der das Radio wieder gestartet und die Lautstärke zurückgefahren wird. Diese Zeit muss man sich individuell anpassen, oder sogar durch eine Var. esetzen. Dann kann man bei längeren Ansagen auch die Zeit temporär verlängern.
# Stream Radio:
define SRadio StreamRadio /opt/fhem/WebStreams.txt
attr SRadio telnetport 7072
# attr SRadio volume_command amixer cset numid=2 -- %s%%
attr SRadio room Radio
attr SRadio group Radio
# Dummy für Volume- Slider
define Dum_Volume_D dummy
attr Dum_Volume_D alias Volume
attr Dum_Volume_D setList state:slider,0,1,100
attr Dum_Volume_D webCmd state
attr Dum_Volume_D room Radio
attr Dum_Volume_D group Volume
# Notify für Volume- Slider
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set SRadio VOLUME $vol";;\
}
attr Func_Volume_N room Radio
# 1212 1212 1212 ; FS20 Tastenpaar Radio Play/Stop und Vol+/Vol-
define Radio FS20 1111 11
attr Radio dummy 1
attr Radio group Geräte_Taster
attr Radio icon rc_RADIO
attr Radio room Radio
# Radio ein-/ ausschalten und Lautstärke einstellen:
define Func_Radio_Play_N notify Radio:* { \
\
my $R_State = (ReadingsVal("Radio", "state", "off"));;\
my $Vol_plus = Value("Dum_Volume_D") + 10;;\
my $Vol_minus = Value("Dum_Volume_D") - 10;;\
\
if ($R_State eq "on") { \
fhem("set SRadio PLAY Eins Live");;\
} \
if ($R_State eq "off") { \
fhem("set SRadio STOP");;\
} \
if ($R_State eq "dimup" and $Vol_plus >= 100) { \
fhem("set Dum_Volume_D 100");;\
} \
if ($R_State eq "dimdown" and $Vol_minus <= 0) { \
fhem("set Dum_Volume_D 0");;\
} \
if ($R_State eq "dimup" and $Vol_plus <= 100) { \
fhem("set Dum_Volume_D $Vol_plus");;\
} \
if ($R_State eq "dimdown" and $Vol_minus >= 0) { \
fhem("set Dum_Volume_D $Vol_minus");;\
} \
}
attr Func_Radio_Play_N room Radio
# Bei TTS- Meldung Radio unterbrechen, Lautstärke hochfahren,
# nach Ansage Radio wieder einschalten, Lautstärke auf alten Wert fahren.
define Func_VolAut_N notify myTTS { \
\
my $Radio = (Value("SRadio"));;\
my $Station = ReadingsVal("SRadio", "StreamURL", "");;\
my $Old_Vol = (OldValue("Dum_Volume_D"));;\
\
if ($Radio eq "playing") { \
fhem("set SRadio STOP ;; set Dum_Volume_D 99");;\
fhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station;;;; set Dum_Volume_D $Old_Vol");;\
} \
if ($Radio eq "stopped") { \
fhem("set Dum_Volume_D 99");;\
fhem("define Vol_Res_A at +00:00:10 set Dum_Volume_D $Old_Vol");;\
} \
}
attr Func_VolAut_N room Radio
Gruß
Frank
Von wegen alleine ;)
Aber ich surfe immer noch mit 64Kbit. Da macht Webradio wenig Spaß.
Deshalb nehme ich interessiert zur Kenntnis, was ihr so treibt, halte mich aber raus.
Hey Rince, raus aus meinem Thread! ;) ;D
Bist du etwa der DrosselKom zum Opfer gefallen??? Zu viel gesaugt... ;D
So, Spaß beiseite. Guck dir mal oben meinen 2. Edit an, der dürfte dich interessieren!
Gruß und baldige Bandbreitenbesserung! ;D
Frank
Mal sehen.
Wir versuchen jetzt den 3ten Porttausch am dslam. Seit 1 Stunde habe ich Netz. 50MBit rockt ;) Mal sehen, wie lange es stabil bleibt.
Back to toppic:
Es klingt spannend. Machst du jetzt das Radio für gemx weiter?
Wegen der Umlaute
Ich hab den Code grade nicht da. Kannst du mal checken ob
use utf8;
Was bringt (wenn es nicht schon gelöst ist) ?
ZitatMachst du jetzt das Radio für gemx weiter?
Nee, nee. Ich versuche mir das nur so perfekt wie möglich einzurichten, damit ich es dann vergessen und einfach benutzen kann. Um größere Sachen zu machen, fehlt mir auch das Wissen.
Wo wir beim Thema wären ;D: Das mit dem Charset ist noch offen. Ich hab mal utf8 getestet, aber ohne Erfolg. Da muss wohl gemx bei Gelegenheit noch mal drübergucken. Und auch bei der Fehlermeldung "Timeout for StreamRadio_Play reached, terminated process". Da fehlen mir völlig die Zusammenhänge. Hast du die Meldung eigentlich auch?
Gruß
Frank
Sorry,
bin grade erst aufgestanden. Ich werde mir das später ansehen.
Jetzt schau ich erst mal, ob ich bei deinem Mod von Text2Speech die Stille VOR der Ansage einfügen kann :)
Guten Morgen zusammen,
erstmal muss ich sagen ein tolles Modul, Radio gehört ja schliesslich immer dazu :-)
Da ich fhem jedoch auf meinem BBB installiert habe und dies im Wohnzimmer brav in einer Ecke steht, möchte ich gerne das Radio über fhem an die einzelnen Tablets senden auf denen ich WebViewControl drauf habe.
Ist das möglich oder in Planung? Aktuell arbeite ich mit
#Tablet Radio
define EINSLIVE dummy
attr EINSLIVE alias EinsLive
attr EINSLIVE eventMap B0:off BI:on
attr EINSLIVE group Tablet Radio
attr EINSLIVE room Radio
define EINSLIVE_AN notify EINSLIVE.on sleep 1 ;;set androidTablet audioPlay http://1live.akacast.akamaistream.net/7/706/119434/v1/gnl.akacast.akamaistream.net/1live
define EINSLIVE_OFF notify EINSLIVE.off sleep 1 ;;set androidTablet audioStop
Aber für mehrere Sender ist es nicht so schön und ich muss auch jedes Tablet seperat anlegen. Wenn ich den Stream von dem Modul hier nehmen könnte, dass dieser dann wo anders hin geht, gäbe es sicherlich doch auch eine möglichkeit mit einem "schalter" zu sagen auf welchem tablet es gespielt werden soll oder auf allen oder nur bestimmten... sozusagen als scene. Frühstück= Küche, Party=Küche, Esszimmer, Wohnzimmer, Besuch= Küche Esszimmer usw.
Jemand eine Idee?
Danke und schönen sonningen Tag noch, Ralf
Du könntest die Teile mit Notifies schalten lassen.
Oder aber, keine Ahnung ob das geht, theoretisch müsste das Modul lightscene sowas auch können ;)
Bau dir doch mal eine Lightscene mit den entsprechenden Radio Dummys :)
Hallo Rince,
danke für Deine Idee, ich werde mich da mal dran machen und sehen ob das mit dem LightScene funktioniert. Zumindest wäre es für meine Sender wie o.g. aktuell schöner.
Was ich aber immer noch suche ist, wie ich den Stream aus dem Modul hier vom BBB nun weg auf ein anderes Gerät bekommen kann. Mit notifys fällt mir da nichts ein :-(
VIelleicht kommt ja noch eine Hilfe, derweilen schaue ich mal wie ich das mit der LightScene basteln kann :-) Danke, Gruss Ralf
@fiedel: Danke für Deine Erweiterungen. Aber es regelt bei mir nicht die Lautstärke! Wenn ich manuell den Befehlt "set SRadio VOLUME 90" ausführe oder ähnlich, geht es. Mit dem Slider erscheint im Log:
Zitat2014.05.08 16:35:13 3: set Radio VOLUME 8 : Unknown argument VOLUME, choose one of dim06% dim100% dim12% dim18% dim25% dim31% dim37% dim43% dim50% dim56% dim62% dim68% dim75% dim81% dim87% dim93% dimdown dimup dimupdown off off-for-timer on on-100-for-timer-prev on-for-timer on-old-for-timer on-old-for-timer-prev on-till ramp-off-time ramp-on-time reset sendstate timer toggle dim:slider,0,6.25,100 blink intervals off-till
2014.05.08 16:35:13 3: Func_Volume_N return value: Unknown argument VOLUME, choose one of dim06% dim100% dim12% dim18% dim25% dim31% dim37% dim43% dim50% dim56% dim62% dim68% dim75% dim81% dim87% dim93% dimdown dimup dimupdown off off-for-timer on on-100-for-timer-prev on-for-timer on-old-for-timer on-old-for-timer-prev on-till ramp-off-time ramp-on-time reset sendstate timer toggle dim:slider,0,6.25,100 blink intervals off-till
Gruß
LinuxQ
Hi LinuxQ,
das muss an deiner Namenssyntax liegen. Beim manuellen set nennst du es "SRadio", im Slider heißt es bei dir "Radio". Das musst du vermutlich nur anpassen. Bei mir läuft die Funktion so schon lange problemlos.
Gruß
Frank
Ich habe es aber genau aus Deinem Post oben so übernommen!
# Stream Radio:
define SRadio StreamRadio /opt/fhem/log/webstreams.txt
attr SRadio telnetport 7080
attr SRadio volume_command amixer cset numid=1 -- %s%%
attr SRadio room Radio
attr SRadio group Radio
# Dummy für Volume- Slider
define Dum_Volume_D dummy
attr Dum_Volume_D alias Volume
attr Dum_Volume_D setList state:slider,0,1,100
attr Dum_Volume_D webCmd state
attr Dum_Volume_D room Radio
attr Dum_Volume_D group Radio
# Notify für Volume- Slider
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set Radio VOLUME $vol";;\
}
attr Func_Volume_N room Radio
# 1212 1212 1212 ; FS20 Tastenpaar Radio Play/Stop und Vol+/Vol-
define Radio FS20 1111 11
attr Radio dummy 1
# attr Radio alias SWR3
attr Radio group Radio
attr Radio icon rc_RADIO
attr Radio room Radio
# Radio ein-/ ausschalten und Lautstärke einstellen:
define Func_Radio_Play_N notify Radio:* { \
\
my $R_State = (ReadingsVal("Radio", "state", "off"));;\
my $Vol_plus = Value("Dum_Volume_D") + 10;;\
my $Vol_minus = Value("Dum_Volume_D") - 10;;\
\
if ($R_State eq "on") { \
fhem("set SRadio PLAY SWR3");;\
} \
if ($R_State eq "off") { \
fhem("set SRadio STOP");;\
} \
if ($R_State eq "dimup" and $Vol_plus >= 100) { \
fhem("set Dum_Volume_D 100");;\
} \
if ($R_State eq "dimdown" and $Vol_minus <= 0) { \
fhem("set Dum_Volume_D 0");;\
} \
if ($R_State eq "dimup" and $Vol_plus <= 100) { \
fhem("set Dum_Volume_D $Vol_plus");;\
} \
if ($R_State eq "dimdown" and $Vol_minus >= 0) { \
fhem("set Dum_Volume_D $Vol_minus");;\
} \
}
attr Func_Radio_Play_N room Radio
# Bei TTS- Meldung Radio unterbrechen, Lautstärke hochfahren,
# nach Ansage Radio wieder einschalten, Lautstärke auf alten Wert fahren.
define Func_VolAut_N notify myTTS { \
\
my $Radio = (Value("SRadio"));;\
my $Station = ReadingsVal("SRadio", "StreamURL", "");;\
my $Old_Vol = (OldValue("Dum_Volume_D"));;\
\
if ($Radio eq "playing") { \
fhem("set SRadio STOP ;; set Dum_Volume_D 99");;\
fhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station;;;; set Dum_Volume_D $Old_Vol");;\
} \
if ($Radio eq "stopped") { \
fhem("set Dum_Volume_D 99");;\
fhem("define Vol_Res_A at +00:00:10 set Dum_Volume_D $Old_Vol");;\
} \
}
attr Func_VolAut_N room Radio
Nur diese Zeilen angepasst:
define SRadio StreamRadio /opt/fhem/log/webstreams.txt
attr SRadio telnetport 7080
attr SRadio volume_command amixer cset numid=1 -- %s%%
Der Slider und das StreamRadio können ja nicht den gleichen Namen haben. Ansonsten ist es identisch Dein Code!
Es war so wie ich sagte:
fhem "set Radio VOLUME $vol";;\
muss heißen:
fhem "set SRadio VOLUME $vol";;\
War natürlich ein Fehler aus meinem Code und ich habs in meinem Post gleich korrigiert.
ZitatDer Slider und das StreamRadio können ja nicht den gleichen Namen haben.
Haben sie ja auch nicht, aber der Slider steuert den Parameter "VOLUME" des SRadios.
Gruß
Frank
Danke, nun geht es :)
Gesendet von meinem Z10 mit Tapatalk
Hallo,
das Modul hört sich genau nach dem an was ich brauche.
Leider kriege ich es nicht zum laufen.
mplayer installiert
74_StreamRadio runtergeladen und in /opt/fhem/FHEM kopiert
die Test WebStream.txt in den ordner opt/fhem/log/WebStreams.txt kopiert
wenn ich jetzt im Fhem versuche dies zu definieren mit dem Befehl:
define streamradio StreamRadio /opt/fhem/log/WebStreams.txt
Fehlermeldung:
ZitatCannot load module StreamRadio
Kann jemand helfen ? Danke.
ZitatWebStream.txt
oder
ZitatWebStreams.txt
vielleicht ein Schreibfehler ?
leider nicht. Die Datei heist WebStreams.txt habe mich hier vertippt.
Troztdem danke für den Hinweis.
Hast du seit dem FHEM mal neu gestartet? Falls nicht, ist das Modul noch nicht im System registriert!
Hallo zusammen
Hmm gestern ging es noch
Seit heute morgen bekomme ich dieses
2014.06.29 18:33:22 1: Timeout for StreamRadio_Play reached, terminated process 2208
Hat da jemand ne Idee
Gruss
Markus
Hi Markus,
ich hab das immer. Ist wohl auch normal, da der mplayer- Prozess von Streamradio per "killall" beendet wird. Streamradio ist alles andere als perfekt und wird wohl nicht mehr unterstützt oder weiterentwickelt.
Gruß
Frank
Hallo Frank
Danke dir für den Hinweis ... schade ich fand es gut kennst du ne alternative oder gibt es eine ??
Gruß
Markus
Zitatkennst du ne alternative oder gibt es eine
Momentan benutze ich es ja auch noch. Sieh dir doch mal das Squeezebox- Modul an. Ich glaub damit kann man auch Radio hören.
Hm, prinzipiell ist gemx noch im Forum. Zuletzt vor 1 Woche.
Hallo und guten Abend
ich finde diese Modul so toll, das ich es versucht habe nachzustellen.Leider bleibt bei mir der Lautsprecher stumm :(
text2Speech funktioniert fehlerfrei und set SamsungTablet audioPlay http://mp3.webradio.antenne.de/
auch
genau wie der Eventmonitor alles ordnungsgemäss anzeigt
lautstärke wurde auch nicht auf "Stumm" gestellt
kann oder muss ich in diesem Modul noch irgendwo wie im TTS den Audioausgang angeben?
ich würde mich sehr freuen, wenn mir jemand helfen könnte
Danke im voraus
Gruss tagedieb
Hi tagedieb,
du könntest am Raspi auf der Konsole mal den amixer oder alsamixer starten und gucken, ob die Kanäle auf sind. TTS spricht den direkt an. Zu dem Thema müsste weiter vorn in diesem Fred auch noch was stehen.
Gruß
Frank
Hallo fiedel
vielen Dank für die schnelle Antwort.
ich hoffe das ich mit meinen MINI unixwissen das richtig abgefragt habe
Console: alsamixer und dann erschien die config Möglichkeit - hier sind bis auf den Microfoneingang( ist kein Micro angeschlossen) sind alle Kanäle offen und grün hinterlegt :-[
Gruss tagedieb
So bei mir läuft es auch nicht. Es sieht so aus, als ober der mplayer direkt nach dem Aufruf stirbt.
Manuell auf der console läuft alles top. Ich vermute das Problem liegt im Modul selbst.
Ist der Autor noch verfügbar?
Hi,
habt ihr mal die gepatchte Version aus diesem Post (http://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119) probiert?
Zitat von: balki am 29 Juni 2014, 19:53:15
kennst du ne alternative oder gibt es eine ??
eine Alternative wäre zum Beispiel MPD -> http://forum.fhem.de/index.php/topic,18517.0.html
ZitatIst der Autor noch verfügbar?
24. Juni letztes mal im Forum
23 Januar letzter Post
(Musst nur auf den Nick klicken, dann hast du sein Profil. Ob das mit Tapatalk geht, weiß ich nicht)
Hatte ihm Ende Juni mal ne Mail geschrieben, aber keine Reaktion erhalten.
Ich denke, das Modul ist quasi verwaist :(
Vermutlich ist es sinnvoll, einen neuen Author zu suchen oder aber es nach Contrib zu schieben. Oder Rudi hat eine schlauere Idee dazu?
Wir sollten in Developer posten, und das Modul fuer die Uebernahme anbieten.
Falls sich keiner meldet, dann faellt es auf mich zurueck.
Rince: Koenntest Du das posten (oder gleich das Modul) uebernehmen?
Leider nein.
Ich bin kein fhem Developer :(
Vermutlich reichen meine Kenntnisse dazu im Moment auch noch nicht aus ;)
@ Ringe:
schnap dir das Modul dann bist du einer
Hab gerade diesen Thread durchgelesen: StreamRadio ist nicht eingecheckt, insofern muss man auch keinen offiziellen Nachfolger suchen und ich muss auch nicht das Waisenkind im Notfall uebernehmen :)
Also: Freiwillige vor!
@Rince: man waechst mit der Aufgabe :)
Wenn es ok ist, dass die nächsten Wochen noch nicht viel passieren wird (mein Umzug läuft grade an), dann riskieren wir es mal.
Ja dann gratuliere ich dir
Danke :)
Ich hab die ein oder andere nette Idee.
Wie wäre es mit einem Reading, welches die Restlaufzeit von einem Song beinhaltet (bei einer Playlist)?
So könnte man z.B. bei einer nicht dringlichen TTS Ansage (Wäsche ist fertig) selber festlegen ob man nicht doch lieber erst am Ende des Songs informiert werden will?
Hi Leute,
irgendwie bekomme ich meinem raspi keinen Ton entlockt. :(
Habe den mplayer installiert, funktioniert auch.
Kann mit diesem Befehl über die Console auch mp3s abspielen:
mpg123 /opt/fhem/log/super.mp3
Und hiermit die Lautsärke anpassen:
amixer -c 0 set PCM 300+
Installiert hab ich das Streamradio aus Fiedel`s Post inklusive des Codes, also define und Regler..
Im Radio sehe ich immer nur das unter State "playing" ..kommt aber nix. (siehe Screenshot)
Vll. hat ja jemand eine zündende Idee.. :o
MfG.
Daniel
EDIT: Hab mal die Console ein wenig geloged und mit dem Radio umgespielt in fhem, vielleicht hilft das ja.
pi@raspberrypi /opt/fhem $ Useless use of numeric eq (==) in void context at ./F HEM/74_StreamRadio.pm line 112, <$fh> line 570.
pi@raspberrypi /opt/fhem $ Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 668) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 671) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 673) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 676) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 679) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 682) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 685) line 1.
pi@raspberrypi /opt/fhem $ Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 1377) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 1380) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 1382) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 1385) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 1388) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 1391) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 1394) line 1.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in string ne at ./FHEM/74_StreamRadio.pm line 144.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Can't use an undefined value as a symbol reference at ./FHEM/74_StreamRadio.pm line 213, <$proc> line 12.
MPlayer interrupted by signal 13 in module: open_stream
MPlayer interrupted by signal 13 in module: open_stream
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2075) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2078) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2080) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2083) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2086) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2089) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2092) line 1.
pi@raspberrypi /opt/fhem $ Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
mplayer: no process found
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2783) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2786) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2788) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2791) line 1.
Can't use an undefined value as a symbol reference at ./FHEM/74_StreamRadio.pm line 213, <$proc> line 11.
MPlayer interrupted by signal 13 in module: enable_cache
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2794) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2797) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 2800) line 1.
mplayer: no process found
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
Can't use an undefined value as a symbol reference at ./FHEM/74_StreamRadio.pm line 213, <$proc> line 11.
MPlayer interrupted by signal 13 in module: enable_cache
mplayer: no process found
Can't use an undefined value as a symbol reference at ./FHEM/74_StreamRadio.pm line 213, <$proc> line 11.
MPlayer interrupted by signal 13 in module: enable_cache
mplayer: no process found
Can't use an undefined value as a symbol reference at ./FHEM/74_StreamRadio.pm line 213, <$proc> line 11.
MPlayer interrupted by signal 13 in module: enable_cache
mpg123 /opt/fhem/log/super.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
version 1.14.4; written and copyright by Michael Hipp and others
free software (LGPL/GPL) without any warranty but with best wishes
Directory: /opt/fhem/log/
Playing MPEG stream 1 of 1: super.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Title: Techno Theme Artist: Supermann
Album: TV Themes Techno
Year: 1990 Genre: Random
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 3474) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 3478) line 1.
Note: Illegal Audio-MPEG-Header 0xe7e1b432 at offset 111541.
Note: Trying to resync...
Note: Skipped 116 bytes in input.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 3480) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 3484) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 3488) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 3491) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 3494) line 1.
[0:31] Decoding of super.mp3 finished.
pi@raspberrypi /opt/fhem $ mpg123 /opt/fhem/log/super.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
version 1.14.4; written and copyright by Michael Hipp and others
free software (LGPL/GPL) without any warranty but with best wishes
Directory: /opt/fhem/log/
Playing MPEG stream 1 of 1: super.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
Title: Techno Theme Artist: Supermann
Album: TV Themes Techno
Year: 1990 Genre: Random
Note: Illegal Audio-MPEG-Header 0xe7e1b432 at offset 111541.
Note: Trying to resync...
Note: Skipped 116 bytes in input.
mplayer: no process found
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4201) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4204) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4206) line 1.
Can't use an undefined value as a symbol reference at ./FHEM/74_StreamRadio.pm line 213, <$proc> line 11.
MPlayer interrupted by signal 13 in module: enable_cache
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4209) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4212) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4215) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4218) line 1.
[0:31] Decoding of super.mp3 finished.
pi@raspberrypi /opt/fhem $ mplayer: no process found
Can't use an undefined value as a symbol reference at ./FHEM/74_StreamRadio.pm line 213, <$proc> line 11.
MPlayer interrupted by signal 13 in module: enable_cache
mplayer: no process found
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
Can't use an undefined value as a symbol reference at ./FHEM/74_StreamRadio.pm line 213, <$proc> line 11.
MPlayer interrupted by signal 13 in module: enable_cache
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4907) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4910) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4912) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4915) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4918) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4921) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 4924) line 1.
mplayer: no process found
Couldn't resolve name for AF_INET: streams.ffh.de
pi@raspberrypi /opt/fhem $ Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 5568) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 5571) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 5573) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 5576) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 5579) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 5582) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 5585) line 1.
Couldn't resolve name for AF_INET: www.wdr.de
Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
Couldn't resolve name for AF_INET: streams.ffh.de
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 6229) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 6232) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 6234) line 1.
Argument "12.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 6237) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 6240) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 6243) line 1.
Argument "17.0 M-BM-0C" isn't numeric in multiplication (*) at (eval 6246) line 1.
Hi Daniel,
ändere mal das u.g. Attr. von 1 auf 2. Vielleicht reicht das schon. Die Amixer- Kommandos sind von Version zu Verion anders und das müsste man durch eingabe von "amixer --help" in der Shell erforschen. Ich habe meine Str.Radio- Version mittlerweile "weiterentwickelt", indem ich die Anzeige des Radiotext deakt. habe. Das hatte die vielen Fehlermeld. erzeugt. Ich stelle die Version nachher mal noch hier rein.
attr SRadio volume_command amixer cset numid=2 -- %s%%
Bis auf die Meldung "Timeout for StreamRadio_Play reached, terminated process 11228" beim Radio beenden (geht nicht anderes wegen dem "killall" zum beenden), läuft es bei mir seit Langem problemlos. Ich mache aber gerade eine Ausbildung zum Linuxadmin und kenne mittlerweile "nice- Werte". Vielleicht lässt sich das Ding damit auch noch sanft beenden. Muss demn. mal testen.
Gruß
Frank
Hi Frank,
danke schon mal! Nach auswechseln des Moduls und umstellen auf "numid=2" läuft das Radio jetzt.
Wobei ich das mit der "numid=2" schon selber vorher getestet hatte, naja egal.. :)
Habe aber jetzt noch das Problem, dass ich das Volume nicht anpassen kann in fhem.
Weder über "set Volume" auf dem Radio dummy noch über den Slider lässt es sich regeln.
Über die Konsole kann ich aber mit dem Befehl..
amixer -c 0 set PCM 300+
..die Lautstärke anpassen, hast du auch vielleicht dafür auch noch eine Idee? :)
MfG.
Daniel
edit:
# Stream Radio:
define SRadio StreamRadio /opt/fhem/log/WebStreams.txt
attr SRadio group Radio
attr SRadio room Media
attr SRadio telnetport 7072
attr SRadio volume_command amixer cset numid=1 -- %s%%
# Dummy für Volume- Slider
define Dum_Volume_D dummy
attr Dum_Volume_D alias Volume
attr Dum_Volume_D group Radio
attr Dum_Volume_D room Media
attr Dum_Volume_D setList state:slider,0,1,100
attr Dum_Volume_D webCmd state
..so funktioniert jetzt das Radio und die Lautstärke Regelung über den "set Volume" Befehl, der Slider aber leider nicht.
Irgendwie hat der ja auch gar keine Zuordnung zum Volume, oder sehe ich das falsch?
edit2:
Alles klar, jetzt geht!! Hatte wohl ein bisschen zuviel in der .cfg weg rationalisiert.. ::) ;D
Merci nochmal!
Hallo,
kann mir jemand sagen mit welchen Befehl ich die Datei Webstream.txt in das richtige Verzeichnis meines Raspberry kopiere?
Hi,
für solche Sachen installiere dir am besten den Midn. commander und zum editieren den joe: apt-get install mc joe
Gruß
Frank
Hallo Frank,
danke für diene Antwort. Scheint so als hätte ich auf einmal keine Rechte oder was meinst Du?
Bekomme die Meldung
ZitatE: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
Da müsste ich auch erst frickeln, aber zu dem Thema gibt es viel nachzulesen, z.B. das (http://askubuntu.com/questions/163030/cannot-open-lock-file-var-lib-dpkg-lock-permission-denied-even-using-sudo).
@coolice
Das kam beim installieren vom Midnight Commander, oder?
Bitte stell vor den Befehl ein sudo.
sudo apt-get install mc joe
Ich habe jetzt das Streamradio komplett ans Laufen gekriegt.
Möchte jetzt aber die Lautstärke nicht als absolute Prozentzahl eingeben,
sondern per separaten VolUp/VolDown Tasten um jeweils z.B. 5% erhöhen/verringern.
Dazu habe ich in Anlehnung an den Consolen Befehl
amixer -c 0 set PCM 300-
das attr volume_command bei streamradio geändert in
amixer cset numid=1 -- %s
Aber da war ich wohl wieder zu blauäugig.
Egal ob ich jetzt z.B.
set streamradio VOLUME 30+ (oder 30-, oder 50+, 50-, 100+,100-)
eingebe, ich lande immer sofort bei absoluten 96%/97% Lautstärke,
egal welcher %-Wert vorher per amixer Befehl auf der Console eingestellt war.
Ich sage mal spontan - Syntaxfehler.
Aber wie wäre es richtig?
Gruß
Um dir da zu helfen, müsste ich mich auch erst wieder in die genaue Funktionsweise einarbeiten - ist doch schon etwas her. Aber weiter oben im Thread habe ich einiges zu der Funktion der Lautstärkeeinstellung beschrieben. Vielleicht hilft dir das schon weiter. Außerdem habe ich hier im Thread ein Beispiel von mir reingestellt, mit dem du per Slider im WebIF und per Up/Down- Funk-Taster (biei mir FS20) die Lautstärke regeln kannst. Die Funktion des Tasters bei mir ist: Up kurz -> Radio ein ; Up lang -> Lautst. in Schritten lauter ; Dn kurz -> Radio aus ; Dn lang -> Lautst. in Schritten leiser. Es lohnt sich also vielleicht das ellenlange Ding durchzulesen. ;)
OK, hab's hingekriegt.
Testweise mit "one state" Dummy Tasten, die dann per nortify jeweils ein dimup/dimdown auslösen.
Und als learning_by_doing auch gleich noch mit 'ner "remotecontrol" (ala Hausradio-Thread).
Danke für die Denkanstöße.
Ob ich es dann per Tasten im Frontend realisiere, oder einen FS20 S4A-2 an die Wand nagel,
mal sehen.
Erst mal braucht der Bad-Raspi jetzt WLAN und Aktivlautsprecher.
Gruß
Hallo,
durch meine Frage in Off-Topic (Unterputz-Küchenradio) bin ich dank bergadler auch hier gelandet.
@Rince Glückwunsch zum Developer des Moduls ;)
Ich hab mir jetzt mal die 8 Seiten druchgelesen und wollte grad fleissig loslegen aber ...
vermutlich ist der Beitrag auf der ersten Seite nicht mehr aktuell (letzte Änderung am 16.01) und ich sollte nun welche Modulversion nehmen ???
Hier http://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119 (http://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119)hat es eine von fidelfiedel (sorry :-[ )
und hier http://forum.fhem.de/index.php/topic,18531.msg190223.html#msg190223 (http://forum.fhem.de/index.php/topic,18531.msg190223.html#msg190223)nochmal.
Passt den dann die restliche Erklärung aus dem ersten Post (define des ganzen, Attribute, commands etc.) oder (mal schnell ins Wiki schau - schade kein Eintrag)
wäre es möglich das sich jemand erbarmt und das ins Wiki stellt mit allem drum und dran (nur so für die Nachwelt)?
Ich werd erstmal die zweite Modulversion von fidel versuchen - bin aber hilfreichen Antworten nie abgeneigt ;)
Grüße
Hey Puschl, ;)
das mit dem fidel, das ist der Castro. Bei mir musst du am Besten immer an Musik denken - von mir aus auch an Katzenmusik... ;D
Ist ja ne Schande, dass ich das noch nicht eingewickt habe! ;) Du brauchst genau die Version, die du gerade am Wickel hast. Die nutze ich auch aktuell noch. Für die ganze Konfiguration, Schalterei und Laut/Leise- Stellerei findest du alles in hier in meinen Beiträgen. Das ist auch noch aktuell. Wiki schaffe ich vielleicht Anfang nächste Woche.
Wichtig ist dieser Post (http://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119) um die Attribute richtig zu setzten. Das Modul aus dem Post geht auch, bringt aber wegen der fehlerhaften Textanzeige Fehlermeldungen im Log.
An/Aus/Laut/Leise per FS20 Wandtaster gibt es hier (http://forum.fhem.de/index.php/topic,18531.msg136373.html#msg136373).
Und bei Fragen fiedel fragen! ;)
Finde ich auch ;)
Wenn, sollte fiedel Developer von dem Modul sein, nicht ich.
Ich werde mich über Weihnachten mal an eine komplett neue Version des Moduls wagen, aber nur mit fiedel zusammen, nicht in Konkurrenz.
Hallo,
ZitatUnd bei Fragen fiedel fragen! ;)
Hab meinen Fauxpas grad korrigiert - sorry :-[
Ich dachte Castro ist der mit der Zigarre oder der mit dem atomaren Müll ;D
Für An/Aus bekommt mein Schatz nen HM-Taster und Laut/Leise und Senderwahl darf sie am Tablet machen - wenn schon denn schon ::)
Das ist dann das kleinere "Problem" - das bekomm ich schon hin.
Allerdings würd ich gerne auch BT-Lautsprecher an meinen RasPi hängen - davon hab ich hier schon gelesen.
Wäre nett wenn (Mist, find ich grad nicht) mal schreiben könnte welche BT-Geräte funktionieren.
Ich möcht meinem Schatz nämlich gerne ermöglichen, wenn sie nach dem Plätzchen backen *mjam*, unter die Dusche hüpft im Badezimmer die Musik weiter spielt.
Sprich: RasPi mit BT-Dongle in der Küche - einmal BT-Lautsprecher in der Küche und einmal BT-Lautsprecher im Bad und das per Bewegungsmelder dann umschalten.
Grüße
Edith: @Rince - wer von Euch beiden Developer ist/bleibt/was auch immer ist mir Conchita :P
Ich find nur genial was du/ihr hier abliefert
Edith1: Ist der mplayer immer nochd as Mittel der Wahl oder würdet ihr, wie in den Beiträgen, doch eher einen anderen isntallieren?
ZitatSprich: RasPi mit BT-Dongle in der Küche - einmal BT-Lautsprecher in der Küche und einmal BT-Lautsprecher im Bad und das per Bewegungsmelder dann umschalten.
Hmmmmm
Aus dem Bauch raus würde uch im Moment sagen:
Squeezeplug nebst fhem Modul...
Das ist dafür eher geeignet,
mplayer
Theoretisch schlauer.
Es ist so:
Der mplayer braucht die Definition vom Audiogerät. Damit kann man prinzipiell sehr gut unterschiedliche Lautsprecher (mehrere Bluetooth Lautsprecher und auch mehrere USB Audiosoundkarten) ansteuern.
Dieser Umstand wird in allen fhem Modulen die mir bislang unter gekommen sind, unterschiedlich gelöst. Und richtig erklärt quasi nirgends.
Imho sollten wir uns eher überlegen, ob man nicht ein Hilfsmodul schreibt, welches die entsprechenden mplayer Audiokonfigurationen verwaltet und dann fhem weit zur Verfügung stellt.
Dann könnte man auch bequem mit Aliasen arbeiten, und bräuchte nicht zig mal das gleiche Modul definieren nur weil andere Lautsprecher aktiv sein sollen...
Mischbetriebe würden dann auch einfacher werden...
Sozusagen eine Art mplayer Framework in fhem...
Ich finde den Vorschlag von Ringe super. :)
Wäre es auch möglich ähnliches für Airplay zu implementieren? AirPlay ist ja auch ein weit verbreiteter Standart und bietet die Möglichkeit das Audio Signal in mehreren Räumen synchron abzuspielen. :)
Das ist eine andere Baustelle.
Airplay definiert die Audioübertragung zu einem Server, und wie selbiger Audio an Wiedergabehardware verteilt.
Was mir mit dem mplayer vorschwebt, ist quasi eine fhem Schnittstelle, die den mplayer ordentlich bedient.
Darauf könnten dann andere Module aufbauen. Text2Speech, WebRadio, etc...
D.h. es gäbe dann fhem-weit eine zentrale mplayer Instanz. Der Vorteil bestünde darin, dass man die Gesamtlautstärke aller Audiodienste zentral regeln könnte, sowie die Lautstärken der Dienste untereinander.
Also wenn grade WebRadio läuft, könnte man dessen Wiedergabe leiser drehen, um z.B. dem Text2Speech Modul mehr Gehör zu verschaffen.
Das geht zwar im Prinzip auch schon jetzt, ist aber eine sehr individuelle Bastelei.
Auf der anderen Seite könnte man dann einfach die Audioausgabe von einem Lautsprechersystem auf ein anderes umstellen, ohne das bei jedem Modul einzeln zu regeln :)
Hallo,
ist es möglich einen bestimmten Sender aus der .txt Datei um eine feste Uhrzeit zu starten?
Grüße
Mirco
Na sischer dat! ;D
define Weckradio at *06:00:00 set SRadio PLAY Hitradio FFH
Gruß
Frank
Zitat von: fiedel am 21 November 2014, 16:56:10
Na sischer dat! ;D
define Weckradio at *06:00:00 set SRadio PLAY Hitradio FFH
Gruß
Frank
Danke Frank. Meine Frau war heute morgen begeistert.
Hab gerade deinen Slider eingebaut. Leider arbeitet er nicht wie gewünscht. Wenn ich den Slider auf 0 schiebe geht die Lautstärke auf 0 aber egal ob ich ihn auf 5, 10, 15, 20 ... oder 100 schiebe die Lautstärke ist immer gleich laut. Habe ich etwas übersehen?
Dum_Volume_D {
my $vol = Value("Dum_Volume_D");;
fhem "set Radio_Kueche VOLUME $vol";;
}
Sehr schön! ;) Das ist schon richtig so. Du musst aber jetzt testen welches Attribut für die Lautstärkeeinstellung deines amixers funktioniert. Dazu habe ich weiter oben schon viel geschrieben (http://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119). Ich denke, dass es daran liegt. Zuerst mal muss sich die Lautstärke per "set Radio_Kueche VOLUME 50" in der Eingabezeile beeinflussen lassen. Dann stimmt das Attr. und dann sollte auch der Slider gehen.
Gruß
Frank
Ist da normal das bei von 01 bis 75% eigentlich nur rauschen zu hören ist?
Nö, eigentlich nicht. Schlechter Empfang bei dir??? ;D
Benutzt du BT- Lautsp.? Da soll es Probleme geben. Bei mir hängen passive Portispeaker direkt am Headphone- Out des Dreamplug.
Der amixer hat übrigens auch noch einen Parameter für die Vorverstärkung (Gain). Dazu hab ich im TTS- Thread was geschrieben. Ggf. stimmt damit was nicht bei deinem System.
Falls du weitere Hilfe brauchst, musst du mehr zu deinem System schreiben und was du schon herausgefunden und probiert hast...
Hallo,
ich möchte gerne die Lautstärke des Streamradios über meine HM-RC-12 mit einem langen Tastendruck regeln. Ich schalte das Radio über eine Taste (kurz drücken) an und über die andere aus.
Jetzt habe ich versucht das Ganze so zu lösen CUL_HM_HM_RC_12_1DAD8E_Btn_11:Long.* set Dum_Volume_D -1
Wie ihr euch sicher denken könnt hat es nicht funktioniert. Kann mir jemand verraten wie es aussehen sollte?
Grüße
Mirco
Das hier kennst du ja sicher schon von weiter oben im Thread:
# Radio ein- und ausschalten und Lautstärkeregelung per Dimmfunktion
define Func_Radio_Play_N notify Radio:* { \
\
my $R_State = (ReadingsVal("Radio", "state", "off"));;\
my $Vol_plus = Value("Dum_Volume_D") + 10;;\
my $Vol_minus = Value("Dum_Volume_D") - 10;;\
\
if ($R_State eq "off") { \
fhem("set SRadio PLAY Radio Fritz");;\
} \
if ($R_State eq "on") { \
fhem("set SRadio STOP");;\
} \
if ($R_State eq "dimdown" and $Vol_plus >= 100) { \
fhem("set Dum_Volume_D 100");;\
} \
if ($R_State eq "dimup" and $Vol_minus <= 0) { \
fhem("set Dum_Volume_D 0");;\
} \
if ($R_State eq "dimdown" and $Vol_plus <= 100) { \
fhem("set Dum_Volume_D $Vol_plus");;\
} \
if ($R_State eq "dimup" and $Vol_minus >= 0) { \
fhem("set Dum_Volume_D $Vol_minus");;\
} \
}
Ich mache das ja hier mit einem FS20-4-fach- Wandtaster, von dem ich zwei Buttons dafür nutze. Du musst jetzt nur das "on, off, dimup, dimdown" anpassen, wie dein Sender es liefert. "my $R_State = (ReadingsVal("Radio", "state", "off"))" ist dabei der Wandtaster. Wenn dein Sender nur "short" und "long" liefert, musst du noch eine Abfrage einbauen, ob das Radio gerade ein oder aus ist. Und/oder du unterscheidest anhand des Tasternamens. Leider kenne ich diese FB nicht, aber der Event Monitor hilft dir dabei.
Gruß
Frank
Hallo!
Erstmal Danke für das tolle Modul!
Aber leider funktioniert der Volume Slider noch nicht bei mir, vielleicht habt ihr ja eine Idee woran es liegen könnte.
Die Konstellation ist die folgenden:
-RaspberryPi mit USB SoundCard
-amixer controls:
numid=4,iface=MIXER,name='Headphone Playback Switch'
numid=5,iface=MIXER,name='Headphone Playback Volume'
numid=2,iface=MIXER,name='Mic Playback Switch'
numid=3,iface=MIXER,name='Mic Playback Volume'
numid=6,iface=MIXER,name='Mic Capture Switch'
numid=7,iface=MIXER,name='Mic Capture Volume'
numid=8,iface=MIXER,name='Auto Gain Control'
numid=1,iface=PCM,name='Playback Channel Map'
Die Musik läuft immer mit der vollen Lautstärke, nur das Regeln dieser mittels Slider funktioniert nicht :(
Vielen Dank für eure Hilfe :)
Beste Grüße,
Basti
Hi Basti,
probier mal, ob direkt im Radiomodul die Lautst. funktioniert! Wenn ja, stimmt ggf. der Name im set Vol.- Kommando des Slider nicht.
Gruß
Frank
Hi Frank,
leider nein. Eine Änderung der Lautst. direkt im Radiomodul zeigt keine Auswirkung.
VG,
Basti
Dann müsstest du so lange mit den amixer- Settings rumprobieen, bis das im Radio geht. Mein erster Tipp:
attr SRadio volume_command amixer cset numid=5 -- %s%%
Ansonsten auch mal den amixer deinstallieren und neu installieren oder sowas. Aber das müsste gehen, wenn du die richtige "Zahl" findest. Hier (http://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119) hab ich mich dazu ausgelassen. ;)
Leider auch nicht, dann werde ich noch ein wenig try&error betreiben :)
Trotzdem Vielen Dank!
Hast du diese Modulversion (http://forum.fhem.de/index.php/topic,18531.msg190223.html#msg190223) im Einsatz? Die nehme ich aktuell immer noch. Ansonsten viel Erfolg!
Ich bin am Verzweifeln.
Kriege zwar das Radio zum Laufen aber mit der Lautstärkeeinstelle SET NAME volume ... komme ich kein Stück weiter.
Habe auf einem Notebook den Ubuntuserver laufen und der amixer funktioniert sauber wenn ich das Ganze per ssh auf der Konsole eingebe.
amixer cset numid=1 74
-> Ergebnis:
numid=1,iface=MIXER,name='Master Playback Volume'
; type=INTEGER,access=rw---R--,values=2,min=0,max=74,step=0
: values=74,74
| dBscale-min=-74.00dB,step=1.00dB,mute=0
Wenn ich in FHEM mit SET VOLUME eine Lautstärke eingebe in verschiedenen Versionen (50,100,50%,100%,1000,1000%..) stellt mit der amixer die Lautstärke immer wieder auf 0 runter.
Es sieht so aus, als ob bei der Befehlsübergabe nichts mit übergeben wird, denn wenn ich per ssh "amixer cset numid=1" ohne was eingebe, macht er auch auf 0.
Das richtige numid=1 habe ich eigtl. m.W. erwischt, weil Volumecontrol über ssh geht sauber mit amixer.
amixer controls
->
numid=8,iface=CARD,name='HDMI/DP,pcm=3 Jack'
numid=14,iface=CARD,name='HDMI/DP,pcm=7 Jack'
numid=20,iface=CARD,name='HDMI/DP,pcm=8 Jack'
numid=2,iface=MIXER,name='Master Playback Switch'
numid=1,iface=MIXER,name='Master Playback Volume'
numid=26,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=MIXER,name='Capture Switch'
numid=4,iface=MIXER,name='Capture Volume'
numid=9,iface=MIXER,name='IEC958 Playback Con Mask'
numid=15,iface=MIXER,name='IEC958 Playback Con Mask',index=1
numid=21,iface=MIXER,name='IEC958 Playback Con Mask',index=2
numid=10,iface=MIXER,name='IEC958 Playback Pro Mask'
numid=16,iface=MIXER,name='IEC958 Playback Pro Mask',index=1
numid=22,iface=MIXER,name='IEC958 Playback Pro Mask',index=2
numid=11,iface=MIXER,name='IEC958 Playback Default'
numid=17,iface=MIXER,name='IEC958 Playback Default',index=1
numid=23,iface=MIXER,name='IEC958 Playback Default',index=2
numid=12,iface=MIXER,name='IEC958 Playback Switch'
numid=18,iface=MIXER,name='IEC958 Playback Switch',index=1
numid=24,iface=MIXER,name='IEC958 Playback Switch',index=2
numid=3,iface=MIXER,name='Analog Mic Boost Capture Enum'
numid=7,iface=MIXER,name='Beep Playback Switch'
numid=6,iface=MIXER,name='Beep Playback Volume'
numid=27,iface=MIXER,name='Digital Capture Volume'
numid=13,iface=PCM,name='ELD',device=3
numid=19,iface=PCM,name='ELD',device=7
numid=25,iface=PCM,name='ELD',device=8
Steige auch nicht so ganz durch die Modulkonfig durch.
Wofür steht die Variable beim amixer %s%%?
Die wird ja nirgend gefüllt mit einem Wert.
Sehe nur die Umrechung der Log. Werte in lineare $Vol Variable.
Da fehlt mir der Programmierhintergrund.
Wieso geht das bei den meisten und bei mir wird immer auf 0 gesetzt durch fhem?
Mein fhem User hat auch audio Rechte. Daran kann es auch nicht liegen.
id fhem
uid=999(fhem) gid=20(dialout) Gruppen=20(dialout),29(audio)
In FHEM habe ich einige Notifys mit mpg123 und MP3-Files zur Sprachausgabe als Bestätigungsquittung, die gehen auch 1A sauber.
Woran kann es liegen?
Ist Euer StreamRadio Modul irgendwo verfügbar und besteht die Möglichkeit einer Stummschaltung für den Zeitraum in dem Text2Speech eine Ausgabe macht? In etwa so wie beim Navigationsgerät im Pkw; davon ausgehend dass es fest eingebaut ist.
Aktuell starte ich meinen Stream immer noch per Terminal Eingabe.. mplayer -playlist http://www.rockantenne.de/webradio/channels/classic-perlen.m3u, wobei die Text2Speech Ausgaben leider etwas untergehen.
Gruß!
@duu75: Sieht mir auch nach der "1" aus. Lies dir mal den weiter oben verlinkten Post (http://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119)von mir zu dem Thema durch. Du musst dich da ein Mal mit den amixer- Settings durchwursteln. Wichtig zum Testen ist, das Modul oder FHEM nach Änderungen neu zu laden/starten.
Mit dem Modul das ich in meinem letzten Post verlinkt habe, geht das auf jeden Fall alles.
@DerFrickler: Siehe oben - das hier zuletzt verlinkte Modul geht. Einfach runterladen, in den FHEM- Ordner kopieren, das Radio definieren und FHEM neu starten. Das mit dem "Radio aus bei Meldungen" hab Ich bereits gelöst. Ich glaub das habe ich weiter vorn in diesem Thread schon gepostet (http://forum.fhem.de/index.php/topic,18531.msg136373.html#msg136373). Prinzip ist: Ein "Sounddummy" auf den die Meldungen geschickt werden wie z.B.: "set Sounddummy Ein Fenster ist noch offen" und ein Notify. Das Notify hat als Variable ob das Radio gerade an ist und welchen Sender. Kommt eine Meldung rein, wird der Sender und die Lautstärke gemerkt, das Radio ausgeschaltet (für eine feste Zeit) und die Lautstärke hochgedreht. Danach Radio wieder ein mit altem Sender und Lautstärke. Ungelöst ist nur die Zeit, die das Radio aus ist. Ich habe bisher keinen Weg gefunden eine Rückmeldung zu bekommen, wann das TTS- Modul mit der Ansage fertig ist. Daher verwende ich eine feste Zeit, die in etwa passt.
Ganz schön chaotisch das Ganze. Muss endlich mal den Wikieintrag schaffen... ;) Eigentlich müsste daraus ein Modul "Soundproxy" werden, das zentral alles regelt, was in FHEM Töne produziert. Oder diese Logik könnte auch in TTS eingebaut werden, sodass TTS immer wenn eine Meldung reinkommt, das was gerade dudelt stummschaltet und die Lautstärke anpasst.
Falls die Version 0.5 aktuell ist, dann funktioniert es leider noch nicht "out-of-the-Box". Währenddessen Text2Speech fröhlich weiter brabbelt bleibt das Radio stumm:
Die Definition:
define streamradio StreamRadio /opt/fhem/StreamRadio.txt
attr streamradio room Test
attr streamradio telnetport 7072
attr streamradio volume_command amixer cset numid=1 -- %s%%
Das LogFile nach dem "Einschalten":
2014.12.21 22:48:28 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 262.
2014.12.21 22:48:28 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in index at ./FHEM/74_StreamRadio.pm line 264.
2014.12.21 22:48:28 1: PERL WARNING: Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
2014.12.21 22:48:28 1: PERL WARNING: Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
2014.12.21 22:48:28 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
2014.12.21 22:48:31 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/74_StreamRadio.pm line 144.
2014.12.21 22:48:31 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
2014.12.21 22:48:33 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 18.
Die Events:
22:48:33 streamradio Bitrate: 128kbit/s
22:48:33 streamradio Genre: Rock
22:48:32 streamradio StationName: ROCK ANTENNE Classic Perlen
22:48:31 streamradio playing
22:48:31 streamradio StreamURL: http://www.rockantenne.de/webradio/channels/classic-perlen.m3u
Das LogFile nach dem "Ausschalten":
2014.12.21 22:53:41 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 18.
Die Events:
22:52:21 streamradio stopped
22:52:21 streamradio StreamTitle:
22:52:21 streamradio Bitrate:
22:52:21 streamradio Genre:
22:52:21 streamradio StationName:
22:52:21 streamradio StreamURL:
Vergleiche ich jetzt mal die StreamRadio Definition mit der von Text2Speech, dann springt mir folgender Unterschied gleich ins Auge: define tts.VoiceOutput Text2Speech hw=0.0
Zudem kann ich unter "top" keinen mplayer Prozess erkennen, zumindest keinen andauernden. Dieser erscheint nur zu den Ausgaben von Text2Speech.
Gruß,...
Um die Länger einer WAV Datei rauszufinden, müsste Tobias aktiv werden schätze ich.
Entweder mit dem mplayer (was theoretisch sinnvoll wäre, da der mplayer eh schon installiert ist),
oder z.B. mit http://www.etree.org/shnutils/shntool/.
Alternativ gibt es auch noch Audio::WAV::READ http://search.cpan.org/~npeskett/Audio-Wav-0.06/Wav/Read.pm (http://search.cpan.org/~npeskett/Audio-Wav-0.06/Wav/Read.pm)
Ich denke, die CPAN Variante ist die schönste ;)
Dann wäre es außerdem noch schlau, wenn in den Readings von Text2Speech der Dateiname der abgespielten Datei stünde.
Hey Rince, du hast dir ja schon richtig Gedanken dazu gemacht! :)
Ich hab mal kurz drübergeguckt und gesehen, dass die beiden Tools leider nur WAV können. Aber hast du (und ich auch) nicht auch MP3- Bestandteile in deiner "Soundbibliothek"? Ich wolllte immer schon mal forschen, ob der mplayer nicht was zurückgibt, wenn er mit der Wiedergabe fertig ist. Oder ob man ihn auf "busy/idle" abfragen kann. Naja - wenn mal Zeit dafür ist... ;) Bei nächster Gelegenheit mache ich erst mal den Wikieintrag fürs Radio. Das ist hier mittlerweile viel zu unübersichtlich und ich hab ja keine Rechte um den ersten Post zu editieren.
Hast du schon mal das Squeezebox- Modul ausprobiert? Ich komme leider auch dazu nicht, aber das wäre ggf. eine bessere Alternative zum Streamradio. Das wird auch ständig weiterentwickelt. Ist wohl nur etwas aufwändiger einzurichten, da man ja den Server braucht. Und ein Softwarefrontend, falls man keine SB rumliegen hat.
Das ist sowieso die größte Sauerei in der HIFI- Geschichte, dass die die Touch eingestellt und nicht weiterentwickelt haben. Aber (*Verschwörungstheoriemodus an*) wenn ein Kistchen um die 300 Öcken auf einem Niveau von Linn und Konsorten für Tausende Euro spielt - was muss da schnelltens vom Markt verschwinden!? *Verschwörungstheoriemodus aus* ;D
Gruß
Frank
Hi Frank,
ich bin der Author vom Sonos-Modul, und habe dieses jetzt auch offiziell eingecheckt.
Dort habe ich eine kleine MP3-Info Library mitgebracht, die ich in meinem Modul verwende um die Dauer der Zwischenansagen zu ermitteln (und dort die Tags mit Cover sauber zu setzen).
Da die ja nun da ist, kannst du sie ja auch verwenden...
Code-Auszug für die Längenermittlung (in Sekunden):
my $time;
eval {
use MP3::Info;
my $tag = get_mp3info(<filename>);
if ($tag) {
$time = $tag->{SECS};
}
};
if ($@) {
Log $udn, 2, 'Bei der MP3-Längenermittlung ist ein Fehler aufgetreten: '.$@;
}
Code-Auszug für die Tag-Setzung:
eval {
require MP3::Tag;
my $mp3 = MP3::Tag->new(<filename>);
$mp3->title_set(<durchsagetext>);
$mp3->artist_set('FHEM ~ Sonos');
$mp3->album_set('Sprachdurchsagen');
my $coverPath = <coverfilename>;
my $imgfile = SONOS_ReadFile($coverPath);
$mp3->set_id3v2_frame('APIC', 0, (($coverPath =~ m/\.png$/) ? 'image/png' : 'image/jpeg'), chr(3), 'Cover Image', $imgfile) if ($imgfile);
$mp3->update_tags();
};
if ($@) {
Log $udn, 2, 'Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: '.$@;
}
SONOS_ReadFile liest einfach nur die komplette angegebene Datei (hier das Cover) binär ein...
Da sich das ganze in FHEM/lib befindet, musst du noch eine entsprechende LIB-Anweisung oben machen:
use lib ('./FHEM/lib', './lib');
Vielleicht kannst du das ja gebrauchen...
Grüße
Reinerlein
Hi Reinerlein,
cool, vielen Dank! Ich sehe mir das an und versuche was draus zu machen. Meine Perl-/Prog.-kenntnisse sind zwar nicht berauschend, aber es ist auch nicht aussichtslos. ;)
Gruß
Frank
Guten Morgen @all,
da mir meine SD Karte kaputt gegangen ist und ich nun alles neu aufsetze muss ich nochmal eure Hilfe in Anspruch nehmen. Das Streamradio lief 1a doch habe ich jetzt das Problem das ich keinen Ton habe. Ich habe alle Lösungsansätze die hier besprochen wurden bereits erfolglos getestet.
amixer controls ergibt
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
also müsste doch amixer cset numid=1 -- %s%% richtig sein?!
Hab mal auf Verbose 5 gestellt aber ausser 2014.12.28 12:42:18 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 272.
2014.12.28 12:42:38 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/74_StreamRadio.pm line 144.
steht nichts drin.
Hat einer eine Idee was ich versuchen kann?
Hallo zusammen, beim Feintuning bin ich noch lange nicht...
ich benutze die Modul Version 0.5 vom Februar 2014, gibt es da bereits eine neuere?
Meine Einstellungen:
Internals:
DEF /opt/fhem/StreamRadio.txt
NAME streamradio
NR 787
PLAYLIST /opt/fhem/StreamRadio.txt
STATE playing
TYPE StreamRadio
Readings:
2014-12-28 13:07:12 Bitrate 128kbit/s
2014-12-28 13:07:12 Genre Rock
2014-12-28 13:07:12 StationName ROCK ANTENNE Classic Perlen
2014-12-28 13:07:12 StreamTitle Genesis - Musical Box (live)
2014-12-28 13:07:10 StreamURL http://www.rockantenne.de/webradio/channels/classic-perlen.m3u
2014-12-28 13:07:10 state playing
Helper:
Running_pid:
abortArg
abortFn
finishFn
fn StreamRadio_Play
pid 11050
Attributes:
room Test
telnetport 7072
volume_command amixer cset numid=1 -- %s%%
Ergebnis: kein Ton und der StreamTitle ändert sich auch nicht mehr; in der Prozessliste erscheint der player auch nicht, ausser wenn Text2Speech Nachrichten verlesen werden
Dann noch folgende Fehlermeldungen:
2014.12.28 13:07:05 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 262.
2014.12.28 13:07:05 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in index at ./FHEM/74_StreamRadio.pm line 264.
2014.12.28 13:07:10 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
2014.12.28 13:07:12 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 18.
Für Hilfe währe ich dankbar!
Vielen Dank!
@coolice: vielleicht noch einschalten per: amixer cset numid=2 -- 1 (Konsole)
Kennst du eigentlich dieses Win32- Kopiertool für SD-Karten? Das solltest du mal verwenden. Neu Einrichten ist für mich fast das Schlimmste wo gibt... ;) Ich schreib mir direkt beim Einrichten auch immer noch eine Textdatei, was ich installiert habe und wie ich was eingerichtet und eingestellt habe. Und die Links der Seiten mit den Anleitungen für die komplizierten Sachen. Dann ist es später beim Systemwechsel auch nicht mehr ganz so nervig.
@Frickler: diese Version (http://forum.fhem.de/index.php?action=dlattach;topic=18531.0;attach=17949) ist meine aktuelle (ohne Radiotext weil zu Fehlerhaft). Für die amixer- Einstellungen lies ggf. hier (http://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119) nach. Mehr weiß ich auch nicht. Aber diese Ansätze sind ja ein guter Startpunkt für eigene "Forschungen" bezüglich amixer. ;)
ich habe alles noch mal angepasst... die Definition mit dem Slider hier aus dem Forum genommen und den amixer kontrolliert:
Frickler@raspberrypi ~ $ amixer controls
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
Internals:
DEF /opt/fhem/StreamRadio.txt
NAME SRadio
NR 787
PLAYLIST /opt/fhem/StreamRadio.txt
STATE stopped
TYPE StreamRadio
Readings:
2014-12-28 15:08:44 state stopped
Bitrate:
TIME 2014-12-28 15:08:44
VAL
Genre:
TIME 2014-12-28 15:08:44
VAL
Stationname:
TIME 2014-12-28 15:08:44
VAL
Streamtitle:
TIME 2014-12-28 15:08:44
VAL
Streamurl:
TIME 2014-12-28 15:08:44
VAL
Attributes:
group Radio
room Radio
telnetport 7072
volume_command amixer cset numid=1 -- %s%%
jetzt habe ich folgende Meldungen im Log gefunden:
2014.12.28 15:11:32 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 263.
2014.12.28 15:11:32 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in index at ./FHEM/74_StreamRadio.pm line 266.
2014.12.28 15:11:32 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 272.
Spielt es denn?
leider nicht...
ich habe noch mal neu angefangen:
define SRadio StreamRadio /opt/fhem/StreamRadio.txt
attr SRadio telnetport 7072
attr SRadio volume_command amixer cset numid=1 -- %s%%
attr SRadio room Radio
attr SRadio group Radio
die Einstellung auf numid=1 sollte korrekt sein:
Frickler@raspberrypi ~ $ amixer cget numid=1
numid=1,iface=MIXER,name='PCM Playback Volume'
; type=INTEGER,access=rw---R--,values=1,min=-10239,max=400,step=0
: values=2
| dBscale-min=-102.39dB,step=0.01dB,mute=1
nur was soll dieses mute=1 da? bedeutet das aktuell Stummschaltung?
weiter mit dem Slider
define Dum_Volume_D dummy
attr Dum_Volume_D alias Volume
attr Dum_Volume_D setList state:slider,0,1,100
attr Dum_Volume_D webCmd state
attr Dum_Volume_D room Radio
attr Dum_Volume_D group Radio
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set SRadio VOLUME $vol";;\
}
attr Func_Volume_N room Radio
ich betätige den Slider:
2014-12-28 18:31:01 StreamRadio SRadio VOLUME 74
2014-12-28 18:31:01 dummy Dum_Volume_D 74
und schaue mir amixer an
Frickler@raspberrypi ~ $ amixer cget numid=1
numid=1,iface=MIXER,name='PCM Playback Volume'
; type=INTEGER,access=rw---R--,values=1,min=-10239,max=400,step=0
: values=2
| dBscale-min=-102.39dB,step=0.01dB,mute=1
an dieser Stelle hätte ich mit irgendeiner Veränderung bei den "values" gerechnet, muss ja nicht unbedingt
ich bewege den Regler erneut:
2014-12-28 18:32:15 StreamRadio SRadio VOLUME 100
2014-12-28 18:32:15 dummy Dum_Volume_D 100
immer noch nichts
Frickler@raspberrypi ~ $ amixer cget numid=1
numid=1,iface=MIXER,name='PCM Playback Volume'
; type=INTEGER,access=rw---R--,values=1,min=-10239,max=400,step=0
: values=2
| dBscale-min=-102.39dB,step=0.01dB,mute=1
ich starte das Radio
2014-12-28 18:33:40 StreamRadio SRadio StreamURL: http://www.rockantenne.de/webradio/channels/classic-perlen.m3u
2014-12-28 18:33:40 StreamRadio SRadio playing
auch nichts
Frickler@raspberrypi ~ $ amixer cget numid=1
numid=1,iface=MIXER,name='PCM Playback Volume'
; type=INTEGER,access=rw---R--,values=1,min=-10239,max=400,step=0
: values=2
| dBscale-min=-102.39dB,step=0.01dB,mute=1
haste Das Radio auf HipHop-Only eingestellt? ;)
Viel zu viel auf einmal! ;)
Zuerst muss mplayer und amixer von der Konsole laufen. Z.B.: per "mplayer http://www.motorfm.de/stream-berlin" oder andere Station einen Stream abspielen, hören ob was kommt und falls nicht, auf der Konsole den amixer aufrufen und einstellen, bzw. die Stummschaltung aufheben. Oder für die ersten Tests eine MP3 Datei abspielen. Dann kann der Rest (fhem) nachgezogen werden. Sonst findest du den Fehler nie.
Edit: Yo man! ;D
mplayer http://www.motorfm.de/stream-berlin klappt nicht
pi@raspberrypi ~ $ mplayer http://www.motorfm.de/stream-berlin
Creating config file: /home/pi/.mplayer/config
MPlayer svn r34540 (Debian), built with gcc-4.6 (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing http://www.motorfm.de/stream-berlin.
Resolving www.motorfm.de for AF_INET...
Connecting to server www.motorfm.de[87.106.70.5]: 80...
Server returned 404: Not Found
STREAM_ASF, URL: http://www.motorfm.de/stream-berlin
Resolving www.motorfm.de for AF_INET...
Connecting to server www.motorfm.de[87.106.70.5]: 80...
Server returned 404:Not Found
Failed to parse header.
Failed, exiting.
Resolving www.motorfm.de for AF_INET...
Connecting to server www.motorfm.de[87.106.70.5]: 80...
Server returned 404: Not Found
No stream found to handle url http://www.motorfm.de/stream-berlin
was ganz gut geht ist folgendes:
pi@raspberrypi ~ $ mplayer -playlist http://www.rockantenne.de/webradio/channels/classic-perlen.m3u
Resolving www.rockantenne.de for AF_INET...
Connecting to server www.rockantenne.de[194.97.153.233]: 80...
Cache size set to 320 KBytes
MPlayer svn r34540 (Debian), built with gcc-4.6 (C) 2000-2012 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing http://mp3channels.webradio.rockantenne.de/classic-perlen.
Resolving mp3channels.webradio.rockantenne.de for AF_INET...
Connecting to server mp3channels.webradio.rockantenne.de[195.30.109.21]: 80...
Name : ROCK ANTENNE Classic Perlen
Genre : Rock
Website: http://classicperlen.rockantenne.de/classicperlen
Public : no
Bitrate: 128kbit/s
Cache size set to 320 KBytes
Cache fill: 10.00% (32768 bytes)
Audio only file format detected.
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
libavcodec version 53.35.0 (external)
Mismatching header version 53.32.2
AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
AO: [alsa] 44100Hz 2ch floatle (4 bytes per sample)
Video: no video
Starting playback...
A: 29.2 (29.1) of 0.0 (unknown) 4.9% 45%
ICY Info: StreamTitle='White Lion - Wait';StreamUrl='http://classicperlen.rockantenne.de/classicperlen';
A: 94.5 (01:34.4) of 0.0 (unknown) 4.9% 46%
http://www.rockantenne.de/webradio/channels/classic-perlen.m3u wird übrigens von mir auch im SRadio aufgerufen.
Na also! Weitermachen! ;) Vielleicht ist dein telnet-Port nicht offen oder hat ein Passwort davor?
ja, aber es läuft im StreamRadio nicht, auch wenn ich es wollte. es läuft lediglich als terminal Kommando.
es werden zwar folgende Events generiert, nur kommt kein Audiooutput
Events:
2014-12-28 19:31:38 StreamRadio SRadio StreamURL: http://www.rockantenne.de/webradio/channels/classic-perlen.m3u
2014-12-28 19:31:38 StreamRadio SRadio playing
ja, ich habe ein Passwort davor... das habe ich vor langer Zeit mal gesetzt und nicht mehr daran gedacht. Muss das ganz raus, oder kann das im Modul mit gesetzt werden?
Edit:
Ich habe das Telnet-Passwort mal testweise entfernt, leider immer noch keine Audio-Output.
noch ein Edit:
wenn ich das richtig erkannt habe lautet der Aufruf im Modul: mplayer -really-quiet -nolirc -noconsolecontrols $PLString $aoString $StreamURL
$StreamURL dürfte demnach bei mir http://www.rockantenne.de/webradio/channels/classic-perlen.m3u sein
darf das .m3u am ende enthalten sein? wie ich im code sehen kann fügst du in der sub StreamRadio_Play noch ein .m3u hinzu
mplayer -really-quiet -nolirc -noconsolecontrols -playlist $aoString http://www.rockantenne.de/webradio/channels/classic-perlen.m3u.m3u
wo kommt aoString bzw aoDev her? ich würde den Aufruf mal gerne im Terminal versuchen
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!
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
vielen Dank! das war die Lösung.
Gruß und einen schönen Abend noch!
Bin ja begeistert! ;D Dir auch schönen Abend!
Gruß
Frank
Zitat von: fiedel am 28 Dezember 2014, 14:30:17
@coolice:Kennst du eigentlich dieses Win32- Kopiertool für SD-Karten?
Bin OSX User
Du Ärmster... ;D
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.
Weil es hier in letzter Zeit immer chaotischer wurde, habe ich mir mal etwas Zeit abgeknapst und den lange versprochenen WIKI- Artikel (http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe) angefangen. Bitte testen, ergänzen, oder Fehler und Ergänzungen oder Änderungswünsche hier melden! :)
Viel Spaß!
Frank
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!
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
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.
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
Ich hab auf jeden rpi fhem und Stream Radio installiert steuern kann ich mit fhem2fhem
Also geht es nicht ohne FHEM auf jedem Raspi?
Keine Ahnung für mich war das die einfachste Lösung
Für eine Multiroom- Lösung wäre das Squeezebox- Modul besser geeignet. Dann reicht auf jedem zusätzlichen "Musikraspi" der Squeezebox- Player, der dann vom FHEM- Raspi zentral gesteuert wird.
Ich habe mich jetzt auch mal diesem Modul gewittmet. Nach einigen Anläufen funktioniert es einwandfrei bis jetzt. Was mich aber stutzig macht, das im LOG, beim aktivieren und deaktivieren ständig Fehlermeldungen auftauchen. Ich habe mal ein Teil hier angehangen.
Frage: kann man das vernachlässigen oder sollte ich daran was ändern?
MPlayer interrupted by signal 13 in module: play_audio
2015.02.01 09:28:13 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 19.
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Home directory / not ours.
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
2015.02.01 09:28:21 1: Timeout for StreamRadio_Play reached, terminated process 2640
MPlayer interrupted by signal 13 in module: play_audio
mplayer: no process found
2015.02.01 09:32:02 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 17.
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Home directory / not ours.
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
Gruß aus Köln
Norbert
Vielleicht arbeitet keiner mehr hier in dem Thread aktiv, trotz versuche ich noch mal eine Frage los zu werden. Ich habe definiert:
define streamradio StreamRadio /opt/fhem/log/WebStreams.txt
attr streamradio fp_Radio 400,500,4,
attr streamradio group Stream Radio
attr streamradio room Küche
attr streamradio telnetport 7072
attr streamradio volume_command amixer cset numid=1 -- %s%%
define Dum_Volume_D dummy
attr Dum_Volume_D alias Volume
attr Dum_Volume_D fp_Radio 400,700,4,
attr Dum_Volume_D group Stream Radio
attr Dum_Volume_D room Küche
attr Dum_Volume_D setList state:slider,0,1,100
attr Dum_Volume_D webCmd state
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set streamradio VOLUME $vol";;}
attr Func_Volume_N room Küche
attr Func_Volume_N fp_Radio 400,900,4
Die Darstellung im Dashboard ist einwandfrei, aber auf meiner Radio Floorplanseite wird der Volume Slider nicht dargestellt. Die Sendetabelle und % Angabe für die Lautstärke sind aber vorhanden.
Woran liegt das?
Gruß
nobbi us Kölle am Rhing
Hi Nobbi,
das hat mit SR nichts zu tun, frag ggf. mal im Frontend- Bereich (Floorplan und js). Es gibt da einen Patch von justme. Zu den Fehlermeldungen. Das ist bei SR alles normal. Ist leider nicht perfekt.
Gruß
Frank
Hallo Frank,
danke für den Hinweis, habe gestern umgehend die Frage im Frondend Bereich eingestellt. Ich hoffe justme1968 oder ein Anderer liest sie und kann mir helfen.
gruß
nobbi
Nachrtrag: haben inzwischen viele gelesen, gibt aber noch keine Antwort...mal abwarten.
Hab mal für dich gesucht (Floorplan + Slider von justme1968):
http://forum.fhem.de/index.php/topic,31293.msg243580.html#msg243580
http://forum.fhem.de/index.php/topic,14380.msg91146.html#msg91146
Hoffe es hilft. ;)
der patch für die webcmd und widgets im floorplan ist seit dem 17.01. eingecheckt. damit sollten eigentlich alle fhem widgets über die webcmd auch im floorplan funktionieren.
ist dein fhem aktuell? geht es wenn du einen dummy so definierst:define x dummy
attr x setList state:slider,0,10,100
attr x webCmd state
gruss
andre
Hallo, das Modul habe ich soweit installiert, ebenso den Player. Ich dachte jedoch, dass wenn mir das Radio im Dashboard auf meinem Tablet angezeigt wird, das mir auf dem Tablet die Musik dann zurückgegeben wird? Ist das überhaupt möglich?
@justme1968
Hallo andre,
habe schon ne Menge probiert, habe jetzt auch deine Version probiert, =kein Slider. Fhem ist auch auf dem neusten Stand "update" und zur Sicherheit "update force" gemacht.
So ist mein floorplan definiert. (radio.png ist leer und dem Floorplan habe ich einfach mal die darkstyle zugewiesen)
define Radio FLOORPLAN
attr Radio commandfield 0
attr Radio fp_arrange WEB
#attr Radio fp_backgroundimg fp_Radio.png
attr Radio fp_default 1
attr Radio stylesheet darkstyle.css
und so sieht meine Definition für Streamradio aus:
define streamradio StreamRadio /opt/fhem/log/WebStreams.txt
attr streamradio fp_Radio 400,400
attr streamradio group Stream Radio
attr streamradio room Küche
attr streamradio telnetport 7072
attr streamradio volume_command amixer cset numid=1 -- %s%%
define Dum_Volume_D dummy
attr Dum_Volume_D alias Lautstärke
attr Dum_Volume_D fp_Radio 400,800
attr Dum_Volume_D group Stream Radio
attr Dum_Volume_D room Küche
attr Dum_Volume_D setList state:slider,0,10,100
attr Dum_Volume_D webCmd state
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set streamradio VOLUME $vol";;}
attr Func_Volume_N fp_Radio 400,600
attr Func_Volume_N room Küche
und das kommt dabei raus, siehe StreamRadio.jpg
Mir fällt nix mehr dazu ein???
Gruß
nobbi
@bjoernbo
Ja du solltest dir den Thread mal ganz durchlesen, der Lösungsansatz für das was du möchtest steht weiter vorne und zwar hier:
ZitatAntw:[Neues Modul] StreamRadio
« Antwort #68 am: 12 März 2014, 09:59:24 »
Gruß
nobbi
@fiedel
Danke für deine Suchhilfe, die Links habe ich auch gelesen, da aber, wenn man noch weiter sucht, liest man das einige User kein Problem mit Slidern im Floorplan haben, wobei die Threads sich alle auf Slider mit Dim-Funktion beziehen, nicht auf StreamRadio. Müßte zwar das Selbe sein, geht aber trotzdem nicht. Den Patch für die 95_FLOORPLAN.pm hatte ich vorsorglich mal runtergeladen, wußte aber auf den ersten Blick nicht wie ich damit umgehen soll.
Gruß
nobbi
@cocojambo, jo Danke und wo ist die Lösung?
Ich habe jetzt einen BT-Dongel installiert und BT-Lautsprecher damit verbunden, aber ich bekomme keine Ausgabe hin.
wie setzt du das floorplan attribut im device? du musst typ 2 verwenden damit die commands mit angezeigt werden.
attr <device> fp_xxx 100,100,2
damit gehen in der aktuellen floorplan version die slider ohne irgendwelche sonstigen klimmzüge und änderungen.
gruss
andre
ps: damit longpoll im floorplan geht muss ulim noch einen patch einchecken. siehe hier: http://forum.fhem.de/index.php/topic,33057.msg258894.html#msg258894 (http://forum.fhem.de/index.php/topic,33057.msg258894.html#msg258894)
@bjoernbo
Das mit dem Bluetooth hätte auch gerne, aber besser wäre es das vom Rapi aus zu machen um mehrere Geräte im Haus zu versorgen.
Dazu habe ich aber noch keine Installationslösung gesehen die funktioniert, oder keiner hat mal eine solche hier im Board gepostet.
Auch kein "How to do" für Bluetooth gefunden. Habe es schon probiert, aber bereits bei der Installation des Dongles gings nicht.
Gruß
nobbi
Zitat von: justme1968 am 08 Februar 2015, 14:40:58
wie setzt du das floorplan attribut im device? du musst typ 2 verwenden damit die commands mit angezeigt werden.
attr <device> fp_xxx 100,100,2
damit gehen in der aktuellen floorplan version die slider ohne irgendwelche sonstigen klimmzüge und änderungen.
gruss
andre
ps: damit longpoll im floorplan geht muss ulim noch einen patch einchecken. siehe hier: http://forum.fhem.de/index.php/topic,33057.msg258894.html#msg258894 (http://forum.fhem.de/index.php/topic,33057.msg258894.html#msg258894)
Geht wunderbar. Habe es gerade mal selbst getestet. Thema Bluetooth: Wenn das Modul wieder einen Maintainer bekommen sollte, könnte der das direkt vom TTS- Modul abkupfern. Auch die Ausgabe auf dem Tablet sollte theor. mögl. sein. Ich hab hier im Forum mal was von Soundausgabe auf Tablet gelesen. Glaube bei der Fullscreen App. Da lässt sich bestimmt auch abkupfern oder umleiten.
@justme1968
@fiedel
Ja danke es funktioniert tadellos. Nur der Slider ist was klein geworden. Frage: läßt die Größe des Sliders ändern, so wie es bei den Plotanzeigen mit plotsize geht?
Thema Bluetooth: Hier im Board habe ich mit der Suche schon nach Bluetooth +Raspberry gesucht. Habe aber nix gefunden was in irgend einer Weise umzubauen wäre um Musik über Bluetooth vom Raspi zu senden.
Gruß
nobbi
du kannst die größe per css ändern.
gruss
andre
Hei andre,
Habe alles geändert wie ich es haben wollte, Sliderfeld -position -rahmen und größe und auch den Slider selbst und dessen Größe, Farbe und auch das Aussehen der Texte. Aber das Dropdownfeld wird laut Firebug nicht in der floorplan.css definiert sondern wo anders, wo auch die Einträge in der Dropdownfelder gespeichert werden. Dort wird auch die Größe und Aussehen der Schrift gespeichert. Firebug gibt leider keinen Link raus welche Datei das ist. Die Schriftgrösse kann man zwar manuell ändern aber das wird ja leider nicht gespeichert.
Weißt du in welcher Datei das ist?
Gruß
nobbi
Wie ist das bei euch mit der Lautstärke?
Bei mir ist es bei 70 Lautlos und bei 100 sehr Laut.
Das ist etwas unschön und jetzt wollte ich Fragen ob das Normal ist oder nur ich
was Falsch gemacht oder Vergessen habe.
Gruß Markus
Ist bei mir genauso
Gesendet von meinem iPhone mit Tapatalk
Ich meine mal irgendwo hier im Board in einem anderen Zusammenhang mal gelesen zu haben, das man die Regelung von linear auf logaritmisch umstellen kann. Das gleiche wird bei allen Lautstärkepotentiometern in der Unterhaltungselektronik auch so gemacht. Dort gibt es seit Anfang an nur log.Potis für die Lautstärkeregelung - genau aus diesem Grund. Ich weiß aber nicht wie man das in diesem Modul verwirklichen kann.
Aber mal eine andere Frage, hat jemand mal eine Mute Fiunktion eingebaut, mit der man durch Betätigen die Lautstärke mutet und bei Erneutem tippen wieder auf den alten Wert zurücksetzt?
Gruß
nobbi
Danke coolice dann bin ich wenigstens nicht Alleine ;-)
Gruß Markus
Probiert das angeh. Modul mal aus (habe es selbst nicht geprüft)! Ich habe die Zeile 128 von my $vol =$a[0];
nach my $vol = log($vol_in +1) / log(101) * 100;
zurückgeändert. Das hatte ich damals rausgeschmissen, weil das direkte regeln der Lautst. bei mir besser funktioniert hatte. Soll auch ein Ansatz zum selbst forschen sein, da ich momentan wenig Zeit habe. Es ist die Version ohne Radiotext.
Gruß
Frank
Zitat von: fiedel am 13 Februar 2015, 19:33:22
Probiert das angeh. Modul mal aus
Der Stellbereich für die Lautstärke ist damit besser, jetzt ist es bei VOLUME=30 (statt 70) ziemlich leise.
Sehr schön! :) Wenn es keine negativen Meldungen dazu gibt, setzte ich das geänderte Modul in den Wiki- Link und ändere auch das Modul mit Radiotext auf log. Regelung.
Modul funktioniert über Stunden hinweg einwandfrei. Lautstärkeregelung ist jetzt 100%ig zu gebrauchen. Super.
Ich habe mal eine Frage zum Streamradio, paßt vielleicht nicht ganz hierher aber...:
Ich schalte mit
define Radio_onoff notify streamradio { if (ReadingsVal ("streamradio", "state", "playing") eq "playing") { fhem ("set Test_ST1_FS20 on")} else { fhem("set Test_ST1_FS20 off")}}
den Verstärker der am Raspi hängt ein und aus. Das funktioniert auch einwandfrei. Aber ich habe beim Senderwechsel ein Problem.
Das Modul sendet während das Senderwechsels ganz kurz einen "stopped" Befehl, der dann den Verstärker aus und einschaltet und deshalb kann ich den nicht zu Steuerung der Funksteckdose verwenden. Gibt es eine Möglichkeit diesen "stopped" Befehl beim Senderwechsel zu ignorieren oder gibt es eine andere Möglichkeit einen Befehl des Streamradio auszuwerten für das Ein und Ausschalten des Verstärkers, der keinen Einfluß auf das Umschalten hat?
Oder kann mir jemand sagen was ich an der Abfrage vielleicht ändern könnte um dieses Ziel zu erreichen (evtl. den kurzen Befehl ignorieren)?
Gruß
nobbi
Das müsste mit einem "at" oder "watchdog" zu machen sein. Prinzip: Dein Stopp- Befehl definiert ein at, welches nach ca. 5 sek. den Verst. abschaltet. Wenn vor Ablauf der 5 Sek. das Radio wieder ein "on" hat, wird das at gelöscht und der Verst. bleibt an. Quasi eine Abschaltverzögerung, bzw. Impulsverlängerung. Mit Watchdog geht es sicher noch einfacher.
@fiedel
Hast du das neue Modul schon verlinkt?
Ich hab das "Problem" das ich die Lautstärke nicht ändern kann.
Ein
set SRadio VOLUME 100
ist gleich laut wie ein
set SRadio VOLUME 0
Ich hab das Modul allerdings bereits vor 2 Tagen aus dem Link gezogen und schon mit den Anpassungen hier (Zeile 128 in 74_StreamRadio.pm) gearbeitet:
Zitatmy $vol =log($vol_in +1) / log(101) * 100; # fiedel: bei Vol- Angabe in "0%...100%" nicht benoetigt: $a[0]; # Da der amixer logarithmisch reagiert, hier die Anpassung
Leider keine Änderung.
StreamRadio läuft bei mir auf einem RasPi B+ und es klappt alles wunderbar.
Ok, zur Zeit nutze ich nur das Ein-Ausschalten und die Senderumschaltung per HM-WM55 - aber das klappt einwandfrei.
Ich hab lt. Wiki auch mal einen Dummy erstellt um die Lautstärke zu ändern aber - nüscht :'(
Das notify auf den Dummy passt aber - aber selbst wenn ich direkt das set SRadio VOLUME ausführe ist es dem Modul conchita (also wurscht aka egal ;D ).
Hast du noch eine Idee wo ich ansetzen könnte?
Musik und auch Text2Speech wird über das Hifiberry DAC+ einwandfrei wiedergegeben nur Lautstärke mag mich nicht.
Danke.
Grüße
Hi Puschel,
Conchita- da läuft es mir kalt den Rücken runter... ;D Also das Mod. mit der log.- Änderung ist noch nicht verlinkt. Aber Lautst. müsste trotzdem immer gehen. Das liegt vermutl. an der mplayer/amixer- Einstellung. Lese die doch mal aus wie im Wiki unter 5. beschrieben und versuche auch mal das Ändern der Lautst. in der Shell, wie dort gezeigt. So, muss mich jetzt rasieren, sonst fühle ich mich den ganzen Tag wie Herr/Frau Wurst. ;D
Gruß
Frank
Hallo,
danke für deine Antwort.
Ich dachte schon ich hab was übersehen 8)
ZitatLese die doch mal aus wie im Wiki unter 5. beschrieben und versuche auch mal das Ändern der Lautst. in der Shell, wie dort gezeigt.
Hab ich natürlich bei der Einrichtung gemacht - Ergebniss siehe Screenshot.
Wenn ich den Player starte - wie im Wiki angegeben - kann ich mit den Tasten / und * die Lautstärke ändern.
Die Zuordnung von FHEM zu den Gruppen habe ich auch nach Wiki vorgenommen und kontrolliert:
fhem: dialout mail sudo audio
Grüße
Edith: im Logfile findet sich keine Meldung ausser:
Zitat2015.02.18 18:17:26 3: 24
2015.02.18 18:50:56 1: Timeout for StreamRadio_Play reached, terminated process 4917
Die 24 kommen aus dem notify - als Kontrolle ob das notify überhaupt triggert.
Edith2: Grad nochmal mit der Änderung in der 74_StreamRadio.pm gespielt:
my $vol =log($vol_in +1) / log(101) * 100;
0 ist dann etwas leiser und 100 etwas lauter - so klappt es halb über FHEM.
Edith3: Wenn ich über die Konsole die Lautstärke ändere bekomme ich ab 50% etwas zu hören - darunter ist nur rauschen, 100% machen natürlich Krach wie ab.
Der Lautsprecher selbst steht natürlich auf "Volle Pulle".
Ahaaaaaaaaaaaaaa! ;) Deine amixer- Version hat offenbar einige neue Funktionen. Die numid für die normale Lautstärke ist bei dir die 2. Das ist ja auch Standart im SRadio. Aber die 14 und 15 sind mir z.B. neu. Damit solltest du ggf. mal experimentieren. Ansonsten ist zum testen in FHEM die beste Möglichkeit im Webinterface auf das SRadio draufklicken und dann über das "set"- Pulldownmenü "Volume" auswählen und einen Wert zuweisen.
Gruß
Frank
Hallo,
allsoo - ich hab folgendes gemacht:
Lautstärkeregler am Lautsprecher selbst auf ca. 75% gedreht.
StreamRadio ist aus.
Über die Konsole
sudo mplayer -ao alsa http://fritz.de/livemp3
ausgeführt.
Lautstärke lässt sich mit / und * zwischen 0 % - 100 % regeln (logischerweise).
Von 0% - 69 % = Stille im Walde.
Ab 72 % hört man im Lautsprecher Musik.
100 % = meinem Empfinden nach die volle Lautstärke die der Lautsprecher auch direkt an der Stereoanlage bringt.
Lautstärke auf 100 % stehen gelassen und den mplayer in der Konsole gestoppt (Strg - C).
Über FHEM denselben Sender eingeschaltet - Musik läuft.
Gefühlte Lautstärke = wie vorher über die Konsole mit 100%.
Diese Zeile in der 74_StreamRadio Zeile 128:
my $vol =log($vol_in +1) / log(101) * 100;
Lautstärke steht in FHEM auf 100% - der Schieberegler funktioniert!
Wenn ich nun den Schieber auf 0% schiebe wird die Musik hörbar leiser aber nicht wirklich brauchbar da immer noch zu laut.
Musik gestoppt.
Zeile 128 geändert:
my $vol =$a[0];
74_StreamRadio per WinSCP auf den RasPi geschoben - in FHEM ein
reload 74_StreamRadio
Im FHEM-Logfile keine Auffälligkeiten.
Player mit dem selben Sender gestartet.
Musik läuft.
Schieber von 100 % auf 0 % gestellt - siehe oben - es wird leicht leiser.
Selbiges habe ich auch über die Detailansicht des StreamRadio gemacht und dort direkt VOLUME ausgewählt und 0 und 100 eingegeben.
Da das notify nichts anderes macht natürlich selbes Ergebniss 8)
ZitatAber die 14 und 15 sind mir z.B. neu. Damit solltest du ggf. mal experimentieren.
Wenn dann 12 - 15 ;)
Ist gut, werd ich machen und berichten.
Heut hab ich ja zum Glück etwas Zeit also wird das heut noch was :P
Bevor nachfragen oder Hinweise kommen - ich passe die numid lt Wiki an:
ZitatHinweis: Das attr. "volume_command" steht standartmäßig (undefiniert) auf "amixer cset numid=2 -- %s%%".
Sollte sich die Lautstärke nicht verstellen lassen, kann die numid entsprechend angepasst werden.
Dazu bitte die Ausgabe von "sudo amixer controls" wie oben gezeigt heranziehen.
d.h. ich mach einfach ein amixer cset numid=12 -- %s%% und schau was passiert.
Grüße
Edith: Alle 4 numid-Werte interessieren den mplayer nicht d.h. Lautstärke ändert sich garnicht.
Im Logfile auch nichts zu sehen - ok, ich hab kein verbose 5 drauf.
Aber
man amixer
in der Konsole brachte mir - siehe Sreenshot.
Ok, kurz erschlagen mit den Möglichkeiten - ich muss mich mal einlesen.
Zitat von: Puschel74 am 20 Februar 2015, 18:42:12
Bevor nachfragen oder Hinweise kommen - ich passe die numid lt Wiki an:
ZitatHinweis: Das attr. "volume_command" steht standartmäßig (undefiniert) auf "amixer cset numid=2 -- %s%%".
Sollte sich die Lautstärke nicht verstellen lassen, kann die numid entsprechend angepasst werden.
Dazu bitte die Ausgabe von "sudo amixer controls" wie oben gezeigt heranziehen.
d.h. ich mach einfach ein amixer cset numid=12 -- %s%% und schau was passiert.
Hey Puschel du großer Radiopionier ;) ,
hast ja schon richtig viel geforscht! Das ist gut und kann zur Lösung führen. 8)
Allerdings musst du den oben zitierten Versuch anders machen: Der numid- Wert im SRadio muss auf 2 bleiben (denn das ist und bleibt dein amixer- Lautstärkeparameter) und du musst parallel in der Konsole dem amixer Befehle geben, die Werte die du ausprobieren möchtest, zu ändern. Beispiel aus dem Wiki, wie das geht:
user@debian:~# sudo amixer cset numid=1 -- 1
Dabei musst du die numid nun auf z.B. 15 setzen und den Wert auf etwas Sinvolles (siehe manpage oder sudo amixer --help).
ZitatEdith: Alle 4 numid-Werte interessieren den mplayer nicht d.h. Lautstärke ändert sich garnicht.
Also keine Panik: Das konnte bisher nicht gehen, da du die 2 aus dem SRadio- Attr. entfernt hattest. ;)
Am Besten du machst das ganze "Experiment" in der Konsole, ganz ohne FHEM. Denn du sagst ja selbst, dass schon bei dem Test mit Radio in der Konsole die Lautst. erst ab ca. 70% hörbar wird. Erst wenn du es in der Konsole so hinbekommen hast, dass der Lautstärkebereich brauchbar ist, kannst du in FHEM weiter machen. Falls es garnicht klappen sollte, können wir ggf. eine Lösung finden, dass FHEM die 70% Konsolenlautstärke als Null nimmt und 100 als 100. Dann spreizen wir den real zur Verfügung stehenden Bereich quasi auf und haben so wieder einen gut funktionierenden Regelbereich.
Gruß und viel Erfolg!
Frank
Hallo,
ZitatHey Puschel du großer Radiopionier ;) ,
Ja, der schon mit der Manpage "überfordert" ist :-[
ZitatAllerdings musst du den oben zitierten Versuch anders machen:
Ja das habe ich mir beinahe gedacht - den Mund mal wieder zu voll genommen 8)
Ich werd mal nach deiner Anleitung "weiterforschen" und berichten - zum Glück haben wir heute "Sauwetter".
2becontinued ...
Grüße
Ich habe da im Log noch etwas, was da bestimmt nicht sein sollte ;-)
2015.03.06 14:43:23 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 262.
2015.03.06 14:43:23 1: PERL WARNING: Use of uninitialized value $pls{"\n"} in index at ./FHEM/74_StreamRadio.pm line 264.
2015.03.06 14:43:23 1: PERL WARNING: Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
2015.03.06 14:43:23 1: PERL WARNING: Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
2015.03.06 14:43:23 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
Hallo,
so, oder besser -so nicht >:(
In der Hoffnung alle Möglichkeiten durchprobiert zu haben muss ich erkennen - der amixer hat mich im Griff (und nicht umgekehrt).
Zur Zeit leben wir mit einer Durchschnittslautstärke auf allen Lautsprecher da ich es immer noch nicht geschafft habe die Lautstärke vernünftig geregelt zu bekommen.
Wer noch Ideen hat was ich probieren könnte - immer her damit.
Selbst mit dB-Angaben hat sich der amixer nicht überreden lassen lauter oder leiser zu werden.
Grüße
Ist es irgendwie möglich eine andere Senderliste zu erstellen. Das Dropdown Menue erfordert immer die Definition des Streamradios und den Start des Modus. Da mein Streamradio aber auf einem Remote-RasPi läuft würde ich gerne eine andere Art der Senderauflistung wählen. Ich habe es mal mit eigenen Senderbuttons im Floorplan versucht. Das geht auch, erfordert aber für jeden Sender eigene Dummy-Definitionen. Kann man sowas z.B. in der Art einer Tabelle (ähnlich Readings) machen oder einfacher gestalten mit den Buttons? oder hat jemand mal eine andere Idee oder Lösungsvorschlag oder hat einer vielleicht schon sowas ähnliches erstellt?
Gruß aus Köln
Norbert
Hallo,
Zitat von: cocojambo am 09 März 2015, 20:26:18
Das geht auch, erfordert aber für jeden Sender eigene Dummy-Definitionen.
... oder hat jemand mal eine andere Idee oder Lösungsvorschlag oder hat einer vielleicht schon sowas ähnliches erstellt?
hatten wir das nicht schon mal?
Ein Dummy "set Radio_Schalter 1 oder 2 oder 3 (drei Sender) und die Selektion/Sender umschalten
in der modifizierten "Func_Radio_Play_N"
http://forum.fhem.de/index.php/topic,33668.msg260886.html#msg260886 (http://forum.fhem.de/index.php/topic,33668.msg260886.html#msg260886)
Gruß
Nachtrag:
Zitat von: cocojambo am 09 März 2015, 20:26:18Kann man sowas ... einfacher gestalten mit den Buttons?
Ja, z.B. per remotecontrol.
Gruß
Ja das Bild habe ich schon an Anfang im Thread gesehen, leider aber ohne Beschreibung. Ich muß mal im Board stöbern, wie das mit remotecontrol funktioniert. Habe ich noch nie drüber nachgedacht. Danke.
Gruß
nobbi
Oder gleich im Wiki nachblättern, kuxtu:
http://www.fhemwiki.de/wiki/Remotecontrol (http://www.fhemwiki.de/wiki/Remotecontrol)
Gruß
Ja, habe ich bereits gefunden und auch schon durchprobiert. Was in dem Artikel fehlt ist, wie man die einzelnen Tasten mit der auszuführenden Funktion belegen kann. Denn da geht man immer davon aus das zB. ein Samsung Tv bedient wird und die Definition in einer anderen Datei steht. Ich müßte also bei jeder Taste immer eine Funktion wie zB. "set streamradio_dummy AltstadtRadio ein" eingeben und die Tasten lassen sich nicht mit Sendernamen beschriften und gehen nur bis 9. Ein anderes Layout der Tasten müßte man sich auch noch selber erstellen. Ich hatte an sowas gedacht, wie eine Liste mit Sender mit den Sendernamen, die man, ähnlich wie im Dashboard die Funktionen, einfach anklickt, ohne erst eine Liste zu suchen um den Stationsnamen zu finden und dann noch zweistellige Ziffern eintippen muß. Oder eben beschriftete Buttons (WDR), die man im Floorplan anordnen kann - das ginge auch.
Gruß
nobbi
Zitat von: cocojambo am 10 März 2015, 13:40:25
Was in dem Artikel fehlt ist, wie man die einzelnen Tasten mit der auszuführenden Funktion belegen kann.
Nö, steht doch da.
# Beispiel:
attr rc1 row00 play:PLAY # als Befehl wird play gesendet, als icon wird PLAY verwendet"
Da kannst Du selbst definieren, was Du willst.
ZitatIch müßte also bei jeder Taste immer eine Funktion wie zB. "set streamradio_dummy AltstadtRadio ein" eingeben
Nein, (siehe den anderer Thread).
Ich sende 1,2,3, oder dimup,dimdown,off.
Und in der schon so oft erwähnten "Func_Radio_Play_N"wird geschaltet:
if var=1 starte WDR Stream
if var=2 starte Antenne Bayern
if var=3 starte NDR2
.
.
Zitatund die Tasten lassen sich nicht mit Sendernamen beschriften
Doch, siehe Anhang.
ZitatEin anderes Layout der Tasten müßte man sich auch noch selber erstellen.
Ja, etwas "müßte" man auch noch selbst machen. ;)
Und zweistellige Ziffern braucht man auch nicht tippen, die remotecontrol läßt sich seehr groß basteln.
Gruß
Frage,
Habe ein RPI un da lauft der Stream über meine 3,5 Inch Output mit diesem Kommando prima:
sudo mplayer -ao alsa http://fritz.de/livemp3
Wenn ich allerdings innerhalb FHEM die gleiche Sender aufrufe, höre ich gar nichts und habe ich diese Fehler:
Zitat
2015.03.14 21:45:35 1: PERL WARNING: Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
2015.03.14 21:45:35 1: PERL WARNING: Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
2015.03.14 21:45:35 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
2015.03.14 21:48:59 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/74_StreamRadio.pm line 144.
2015.03.14 21:50:31 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
2015.03.14 21:50:36 1: PERL WARNING: Use of uninitialized value $vol_in in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 127.
2015.03.14 21:50:36 1: PERL WARNING: Use of uninitialized value $vol_in in addition (+) at ./FHEM/74_StreamRadio.pm line 128.
Ich habe schon viele Einstellungen überprüft die hier im Forum angegeben sind:
Einstellungen FHEM:
Zitattelnetport
7072
deleteattr
volume_command
amixer cset numid=1 -- %s%%
deleteattr
Einstellungen RPI:
Zitatnumid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
Zitatuser@debian:~# sudo addgroup fhem dialout
user@debian:~# sudo addgroup fhem mail
user@debian:~# sudo addgroup fhem audio
user@debian:~# sudo addgroup fhem sudo
Überprüfen kann man die Zuordnung mit:
user@debian:~# sudo groups fhem
fhem : dialout mail sudo audio
Bearbeiten der sudo- Konfiguration (damit fhem bei sudo- Zugriffen kein Passwort liefern muss):
user@debian:~# sudo visudo
Im nun geöffneten Editorfenster unter den ggf. bereits vorhandenen Einträgen folgende Zeile einfügen:
fhem ALL=NOPASSWD: ALL
Hat allerdings alles nichts geholfen.
Was kann es sein?
Habe es selbst gefunden!
Die Datei 74_StreamRadio auf seite 1 geht nicht mann muss die hier von der Seite nehmen:
http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe
Schade das dies nicht geändert ist, ich habe da viel zeit gebraucht um das raus zu finden, also Bitte anderen auf Seite 1 , Danke!
Der Ersteller des Threads ist leider nicht mehr im Forum aktiv und somit kann niemand den ersten Post ändern. Ja, schade - so wie dir wird es sicher vielen gehen.
Gruß
Frank
Du könntest einen neuen thread eröffnen und von hier verlinken dann wäre dieses Problem vom Tisch?
Warum kann der Admin das hier nicht anderen (die erste Beitrag), der hat doch die Berechtigung?!
Zitat von: Von-XS1-Nach-FHEM am 15 März 2015, 10:10:18
Warum kann der Admin das hier nicht anderen (die erste Beitrag), der hat doch die Berechtigung?!
Dann würde ich den Admin mal bitten den Owner zu ändern (so er das kann).
So langweilig ist es den Admins nicht das sie hier ständig alle Beiträge anpassen und auf Änderungen achten.
Habe ich schon gemacht 8)
Andere Frage:
Wenn ich wahrend ein Radio Stream ein TTS Aussprache abspiel geht mein Volume erst aus was gut ist aber danach geht es immer wieder nach 99 obwohl ich diese ganze Datei ins FHEM habe:
Zitat# Bei TTS- Meldung Radio unterbrechen, Lautstärke hochfahren,
# nach Ansage Radio wieder einschalten, Lautstärke auf alten Wert fahren.
define Func_VolAut_N notify myTTS { \
\
my $Radio = (Value("SRadio"));;\
my $Station = ReadingsVal("SRadio", "StreamURL", "");;\
my $Old_Vol = (OldValue("Dum_Volume_D"));;\
\
if ($Radio eq "playing") { \
fhem("set SRadio STOP ;; set Dum_Volume_D 99");;\
fhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station;;;; set Dum_Volume_D $Old_Vol");;\
} \
if ($Radio eq "stopped") { \
fhem("set Dum_Volume_D 99");;\
fhem("define Vol_Res_A at +00:00:10 set Dum_Volume_D $Old_Vol");;\
} \
}
attr Func_VolAut_N room Radio
Hier die Daten nach Verbose 5:
Zitatmy $vol = Value("Dum_Volume_D");;
fhem "set SRadio VOLUME $vol";;
}
2015.03.15 14:01:40 5: Cmd: >{
my $vol = Value("Dum_Volume_D");
fhem "set SRadio VOLUME $vol";
}<
2015.03.15 14:01:40 5: Cmd: >set SRadio VOLUME 75<
2015.03.15 14:01:40 5: Request volume to set 75 %
2015.03.15 14:01:40 5: Real volumne to set is 75 %
2015.03.15 14:01:40 5: Using volume command =amixer cset numid=1 -- 75%
2015.03.15 14:01:40 5: Triggering SRadio (1 changes)
2015.03.15 14:01:40 5: Notify loop for SRadio VOLUME 75
2015.03.15 14:01:40 4: eventTypes: StreamRadio SRadio VOLUME 75 -> VOLUME .*
2015.03.15 14:01:40 4: eventTypes: dummy Dum_Volume_D 75 -> .*
2015.03.15 14:01:40 4: eventTypes: dummy Dum_Volume_D state: 75 -> state: .*
2015.03.15 14:01:40 5: Triggering global (1 changes)
2015.03.15 14:01:40 5: Notify loop for global DELETED Radio_Comeback_A
2015.03.15 14:01:40 5: Cmd: >{Text2Speech_Done('MyTTS|1|cache/851c1260cb459d64948896826b04c797.mp3')}<
2015.03.15 14:01:40 5: exec at command Vol_Res_A
2015.03.15 14:01:40 5: Cmd: >set Dum_Volume_D 99<
2015.03.15 14:01:40 4: dummy set Dum_Volume_D 99
2015.03.15 14:01:40 5: Triggering Dum_Volume_D (1 changes)
2015.03.15 14:01:40 5: Notify loop for Dum_Volume_D 99
2015.03.15 14:01:40 5: Triggering Func_Volume_N
2015.03.15 14:01:41 4: Func_Volume_N exec {
my $vol = Value("Dum_Volume_D");;
fhem "set SRadio VOLUME $vol";;
}
2015.03.15 14:01:41 5: Cmd: >{
my $vol = Value("Dum_Volume_D");
fhem "set SRadio VOLUME $vol";
}<
2015.03.15 14:01:41 5: Cmd: >set SRadio VOLUME 99<
2015.03.15 14:01:41 5: Request volume to set 99 %
2015.03.15 14:01:41 5: Real volumne to set is 99 %
2015.03.15 14:01:41 5: Using volume command =amixer cset numid=1 -- 99%
2015.03.15 14:01:41 5: Triggering SRadio (1 changes)
2015.03.15 14:01:41 5: Notify loop for SRadio VOLUME 99
2015.03.15 14:01:41 4: eventTypes: StreamRadio SRadio VOLUME 99 -> VOLUME .*
2015.03.15 14:01:41 4: eventTypes: dummy Dum_Volume_D 99 -> .*
2015.03.15 14:01:41 4: eventTypes: dummy Dum_Volume_D state: 99 -> state: .*
2015.03.15 14:01:41 5: Triggering global (1 changes)
2015.03.15 14:01:41 5: Notify loop for global DELETED Vol_Res_A
Was mache ich falsch?
Sollte gehen, bei mir geht das auch noch (hab gerade ein Update gezogen). Stelle mal dein Vol. auf einen niedrigen Wert und gib dann in die Kommandozeile "save" ein. Dann nochmal probieren. Sieht so aus, als ob die 99 noch als OldValue gespeichert waren.
Nein das hat leider nicht geholfen :-[
http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe
Aus dem Wiki habe ich diese Code benutzt:
Zitat# Bei TTS- Meldung Radio unterbrechen, Lautstärke hochfahren,
# nach Ansage Radio wieder einschalten, Lautstärke auf alten Wert fahren.
define Func_VolAut_N notify myTTS { \
\
my $Radio = (Value("SRadio"));;\
my $Station = ReadingsVal("SRadio", "StreamURL", "");;\
my $Old_Vol = (OldValue("Dum_Volume_D"));;\
\
if ($Radio eq "playing") { \
fhem("set SRadio STOP ;; set Dum_Volume_D 99");;\
fhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station;;;; set Dum_Volume_D $Old_Vol");;\
} \
if ($Radio eq "stopped") { \
fhem("set Dum_Volume_D 99");;\
fhem("define Vol_Res_A at +00:00:10 set Dum_Volume_D $Old_Vol");;\
} \
}
attr Func_VolAut_N room Radio
Schaue ich zu diese zeilen:
Zitatmy $Old_Vol = (OldValue("Dum_Volume_D")); >>>>> set Dum_Volume_D 99 >>> set Dum_Volume_D $Old_Vol
Dan kann das auch nicht gut sein?? Volume wird auf 99 gesetzt und danach wieder aufgerufen, oder verstehe ich das falsch?
Haben Sie die gleiche code?
Ich habe es glaube ich gefunden!
da der "Notify myTTS........hallo......." ist und nicht begrenzt ist auf ein teil der text wird das Script sehr oft aufgerufen, dementsprechend der text lang ist. Ich habe das selber gelöscht durch am ende jeder text eine ! zusetzen und nur darauf zu achten.
ZitatMyTTS:.*!.*
Also:
ZitatMyTTS:.*!.* {
my $Radio = (Value("SRadio"));
my $Station = ReadingsVal("SRadio", "StreamURL", "");
my $Old_Vol = (OldValue("Dum_Volume_D"));....
.......
......
......
Hat jemand da noch ein anderes besseres Idee?
Hallo,
habe noch probleme bei der einrichtung vom streamradio...
folgendes hab ich gemacht:
# StreamRadio
define SRadio StreamRadio /opt/fhem/WebStreams.txt
attr SRadio telnetport 7072
# attr SRadio volume_command amixer cset numid=2 -- %s%%
attr SRadio room Radio
attr SRadio group Radio
# Dummy für Volume- Slider
define Dum_Volume_D dummy
attr Dum_Volume_D alias Volume
attr Dum_Volume_D setList state:slider,0,1,100
attr Dum_Volume_D webCmd state
attr Dum_Volume_D room Radio
attr Dum_Volume_D group Volume
# Notify für Volume- Slider
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set SRadio VOLUME $vol";;\
}
attr Func_Volume_N room Radio
logfile sagt mir
2015.03.20 12:50:03 1: PERL WARNING: Use of uninitialized value $current in index at ./FHEM/74_StreamRadio.pm line 264.
2015.03.20 12:50:03 1: PERL WARNING: Use of uninitialized value $current in string ne at ./FHEM/74_StreamRadio.pm line 264.
2015.03.20 12:50:03 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 270.
2015.03.20 12:50:12 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/74_StreamRadio.pm line 144.
2015.03.20 12:50:12 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
2015.03.20 12:50:13 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 17.
2015.03.20 12:50:18 1: PERL WARNING: Use of uninitialized value $vol_in in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 127.
2015.03.20 12:50:18 1: PERL WARNING: Use of uninitialized value $vol_in in addition (+) at ./FHEM/74_StreamRadio.pm line 128.
2015.03.20 12:50:40 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 32.
Radio läuft, jedoch wenn ich den slider betätige geht die lautstärke auf null und lässt sich nicht mehr ändern nur mit:
amixer cset numid=1 1
kommt wieder der ton...
amixer controls
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
was muss ich noch ändern oder beachten??
danke
Zitat# attr SRadio volume_command amixer cset numid=2 -- %s%%
Stelle das auf "numid=1" um, denn das ist dein Lautstärkeregler.
Ich hätte dort noch 2-3 Korrekturvorschläge für die Variante ohne Radiotext.
Vielleicht mag die ja jemand einbauen.
- if (index("://",$StreamURL)==-1) {
+ if (index($StreamURL,"://")==-1) {
- open my $proc, '-|', "mplayer -really-quiet -nolirc -noconsolecontrols $PLString $aoString $StreamURL"; #fiedel: Arg. fuer weniger Logeintraege erg.
+ open my $proc, '-|', "mplayer -really-quiet -nolirc -noconsolecontrols $aoString $PLString $StreamURL"; #fiedel: Arg. fuer weniger Logeintraege erg.
- my $args="$hash->{NAME}|$StreamURL|$attr{$hash->{NAME}}{telnetport}|".AttrVal($hash,"aodev","");
+ my $args="$hash->{NAME}|$StreamURL|$attr{$hash->{NAME}}{telnetport}|".AttrVal($hash->{NAME},"aodev","");
- $found==1;
+ $found=1;
- my $Playlist = index($StreamURL, ".m3u");
- if ($Playlist > -1){ $PLString="-playlist"};
+ if ((index($StreamURL, ".m3u") > -1) || (index($StreamURL, ".pls") > -1)) { $PLString="-playlist";}
P.S.: Habe keine Ahnung von Perl - das ist mehr durch try & error erarbeitet.
Anbei meine (hoffentlich) etwas fehlerbereinigtere Variante der 74_StreamRadio.pm ( mit Radiotext).
- Enthalten sind die oben aufgeführten Änderungen.
- Zusätzlich werden beim Start noch nicht initialisierte Variablen abgefangen um Fehlermeldungen zu vermeiden.
- mplayer wird mit Parameter -quiet aufgerufen um das Chaos in der Konsole zu minimieren.
Änderungen sind mit dem Tagesdatum "2015-04-19" bzw. 2015-04-22 markiert.
Vielleicht hat noch jemand eine Idee was man mit der fehlerhaften Zeichencodierung beim Radiotext machen kann.
Die Texte scheinen vom Mplayer in Latin-1 zurückgegeben zu werden, während Fhem in utf-8 läuft.
Sieht gut aus. Läuft bis jetzt ohne Fehler
Hallo
Habe mich auch mal am Streamradie versucht .
Leider bekomme ich beim installieren vom mplayer folgenden fehler .
The following packages have unmet dependencies:
mplayer : Depends: libavcodec53 (>= 6:0.8.3-1~) but it is not going to be installed or
libavcodec-extra-53 (>= 6:0.8.16) but it is not going to be installed
Depends: libavformat53 (>= 6:0.8.3-1~) but it is not going to be installed
Depends: libdvdnav4 (>= 4.2.0+20120524) but it is not going to be installed
Depends: libx264-123 but it is not installable
E: Unable to correct problems, you have held broken packages.
Nun weiss ich nicht weiter :-(
Gruß
Markus
Hey zusammen, soweit klappt es bei mir ganz gut mit dem Radio. Danke an die Macher !
Ich kriege es leider nur nicht mit dem Control hin.
Amixer Control Ausgabe ist diese hier:
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
Wie bekomme ich es jetzt hin, das in Fhem ich Lautstärke verändern kann ?
Sicherlich ne Kleinigkeit und ich krieg das nicht hin.
Hallo zusammen!
Ich habe bei meiner FHEM-Installation folgendes Problem:
Ich bekomme das RadioModul nicht zum laufen... Ich habe inzwischen diesen Thread einmal von oben bis unten und wieder zurück durchgeackert, aber keine Lösung gefunden. Ein User hatte mal das selbe Problem - leider wurde das nicht weiterverfolgt,also auch hier keine Hilfe :/
Im Logfile bekomme ich folgenden Fehler angezeigt: "Error messages while initializing FHEM: configfile: Unknown module StreamRadio"
Das ganze läuft auf einem Raspberry Pi 2 mit der FHEM Version 5.6
Ich habe mich an die Anleitung aus dem FHEM Wiki http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe#Definition_unter_FHEM (http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe#Definition_unter_FHEM) gehalten. Der MPlayer als solches läuft auch, Schreibfehler in der "WebStreams.txt" hab ich auch nicht (5 mal gecheckt). Update hab ich in fhem laufen lassen und auch den ganzen Pi mehrfach neu gestartet...
Im Moment bin ich ziemlich Ratlos :-[
Grüsse,
Alex
Hi ihr,
@arieker: Du brauchst die 1 für das Attribut (ist dein Lautstärkeregler) und die 2 musst du ggf. von Hand wieder auf 1 setzten (siehe Wiki).
@NeckCheck: Das könnte ein Rechteproblem sein. Vergleiche mal die Dateirechte und Besitzer des Moduls mit denen einiger anderer "nativer" Module. Dann ggf. genau so einstellen. Ich nehme dazu den Midnight Commander (apt get install mc).
Gruß
Frank
Ok, ich hab meinen Fehler entdeckt... :-\
ich hab das Modul in den Ordner "/opt/fhem/FHEM" einkopiert - aus der Anleitung ging das meiner Meinung nach nicht so genau hervor - oder ich habs einfach nur falsch gelesen... (was durchaus auch sein kann) ... aber jetzt funktioniert's :)
Danke für die Hilfe ^^ da ich mich jetzt intensiver damit beschäftige, könnte es sein, das wir uns öfter lesen in Zukunft ;D
Hallo,
nachdem das Streamradio seit Wochen einwandfrei auf 2 Raspis lief auch mit Fhem2Fhem, kommen seit gestern beim aktivieren des Radios diese Fehlermeldungen im LOG:
W: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Permission denied
Home directory / not ours.
W: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Permission denied
2015.06.03 08:40:45 1: Timeout for StreamRadio_Play reached, terminated process 5354
Home directory / not ours.
Weiß jemand was das zu bedeuten hat und wie ich es abstellen kann? falsche Berechtigungen oder Ordner,Treiber,etc?
Gruß aus Köln
nobbi
Hi
bei mir läuft alles soweit gut.
Ich hab heute im wiki gelen und den code zum unterbrechen bei TTS gefunden.
eingepflegt und wenn ich nun eine TTS ansage abspiele bekomme ich diese Fehlermeldung:
2015.06.11 16:45:56 3: define Vol_Res_A at +00:00:10 set Dum_Volume_D 99 : Vol_Res_A already defined, delete it first
2015.06.11 16:45:56 3: Func_VolAut_N return value: Vol_Res_A already defined, delete it first
2015.06.11 16:45:57 3: define Vol_Res_A at +00:00:10 set Dum_Volume_D 99 : Vol_Res_A already defined, delete it first
2015.06.11 16:45:57 3: Func_VolAut_N return value: Vol_Res_A already defined, delete it first
Vol_Res_A ist aber nur in diesem code definiert?!
hier der code aus dem wiki
# Bei TTS- Meldung Radio unterbrechen, Lautstärke hochfahren,
# nach Ansage Radio wieder einschalten, Lautstärke auf alten Wert fahren.
define Func_VolAut_N notify MyTTS { \
\
my $Radio = (Value("SRadio"));;\
my $Station = ReadingsVal("SRadio", "StreamURL", "");;\
my $Old_Vol = (OldValue("Dum_Volume_D"));;\
\
if ($Radio eq "playing") { \
fhem("set SRadio STOP ;; set Dum_Volume_D 99");;\
fhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station;;;; set Dum_Volume_D $Old_Vol");;\
} \
if ($Radio eq "stopped") { \
fhem("set Dum_Volume_D 99");;\
fhem("define Vol_Res_A at +00:00:10 set Dum_Volume_D $Old_Vol");;\
} \
}
attr Func_VolAut_N room hidden
von mit wurde nur TTS und der room angepasst.
Zitat von: WarLord am 11 Juni 2015, 16:51:55
von mit wurde nur TTS und der room angepasst.
Hi,
entweder hast du versehentlich gesaved, als das at gerade defined war. Dann steht es unten in der CFG, oder im Raum Everything, bzw. Unsorted und muss gelöscht werden. Oder es kommt ein neuer Befehl für TTS rein, bevor das at abgelaufen ist. Da hilft der Event Monitor (im Menü links ganz unten). Ggf. kannst du das Notify so anpassen, dass keine neuen Befehle angenommen werden, wenn das at noch defined ist. Das geht per:
if (!$defs{test_at})
"Wenn test_at nicht existiert..." oder
if ($defs{test_at})
"Wenn test_at existiert..." Viel Spaß und Erfolg!
Gruß
Frank
Hmm, ich habe das gleiche Problem wie WarLord.
Die Automatik funktioniert wenn das Radio vor dem TTS ausgeschaltet war. Der Slider springt dann korrekt um.
Wenn das Radio allerdings eingeschaltet war, springt der Slider auf 99, geht aber nicht mehr zurück.
Der TTS scheint abgearbeitet zu werden, aus dem Lautsprecher kommt aber nichts raus.
Nach einer Zeit springt dann das Radio wieder an, allerdings auf Lautstärke 99.
Im Log steht folgendes:
2015.07.23 22:55:05.019 3: define Vol_Res_A at +00:00:10 set du_Volume 99 : Vol_Res_A already defined, delete it first
2015.07.23 22:55:05.019 3: no_Volume_Automatik return value: Vol_Res_A already defined, delete it first
Das finde ich bisschen komisch, das Radio war ja vorher an, daher sollte doch die Schleife mir dem "Vol_Res_A" garnicht durchlaufen werden?
Oder? Sorry... bin Anfänger ???
//Edit
Zweites Problem: Scheinbar wird davon ausgegangen, dass die TTS Nachricht nur max 10 Sekunden lang ist. Danach schaltet das Radio wieder ein. Sofern TTS dann noch nicht fertig ist, gibt es auch wieder Probleme und der Ton vom Radio kommt erst nach manuellem Neustart des Radios
Niemand eine Idee? Sollte ich die Frage besser im Anfängerbereich posten?
Hallo,
das SRadio funktioniert bei mir mit 3,5er Klinke einwandfrei. (Danke für das Modul)
Jetzt möchte ich allerdings die Musik auf einen Bluetooth logitech Audio Adapter streamen. (Text2Speech ist schon umgestellt und funktioniert)
In der Konsole funktioniert folgender Befehl inc. Lautstärkenregelung:
mplayer -ao alsa:device=btlogitech -softvol http://fritz.de/livemp3
Einen Teilerfolg hab ich mit einer Änderung in der "74_StreamRadio.pm" Zeile 207
von open my $proc, '-|', "mplayer -really-quiet -nolirc -noconsolecontrols $PLString $aoString $StreamURL";
auf open my $proc, '-|', "mplayer $aoString -nolirc $PLString $StreamURL";
erreichen können. Der Stream läuft aber ich erhalte keinen Ton.
Liegt wohl an "attr SRadio volume_command amixer cset numid=1 -- %s%%" welches ja nicht stimmt.
Die Lautstärkenregelung in der Konsole funktioniert nur mit -softvol, da das Bluetoohgerät im Mixer nicht angezeigt wird.
Vielleicht hat ja noch jemand eine Idee wie ich weiter komme.
Danke
Folgende Fehler werden gezeigt:
2015.08.05 16:50:50 1: PERL WARNING: Odd number of elements in hash assignment at /opt/fhem/FHEM/74_StreamRadio.pm line 227, <$proc> line 17.
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Home directory / not ours.
W: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Permission denied
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
Home directory / not ours.
W: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Permission denied
Fhem
# Stream Radio:
define SRadio StreamRadio /opt/fhem/radio/WebStreams.txt
attr SRadio aodev alsa:device=btlogitech
attr SRadio group Radio
attr SRadio room Wohnzimmer
attr SRadio telnetport 7072
attr SRadio volume_command amixer cset numid=1 -- %s%%
# Dummy für Volume- Slider
define Dum_Volume_D dummy
attr Dum_Volume_D alias Volume
attr Dum_Volume_D group Radio
attr Dum_Volume_D room Wohnzimmer
attr Dum_Volume_D setList state:slider,0,1,100
attr Dum_Volume_D webCmd state
# Notify für Volume- Slider
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set SRadio VOLUME $vol";;\
}
attr Func_Volume_N group Radio
attr Func_Volume_N room Wohnzimmer
# Bei TTS- Meldung Radio unterbrechen, Lautstärke hochfahren,
# nach Ansage Radio wieder einschalten, Lautstärke auf alten Wert fahren.
define Func_VolAut_N notify MyTTS { \
\
my $Radio = (Value("SRadio"));;\
my $Station = ReadingsVal("SRadio", "StreamURL", "");;\
my $Old_Vol = (OldValue("Dum_Volume_D"));;\
\
if ($Radio eq "playing") { \
fhem("set SRadio STOP ;; set Dum_Volume_D 99");;\
fhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station;;;; set Dum_Volume_D $Old_Vol");;\
} \
if ($Radio eq "stopped") { \
fhem("set Dum_Volume_D 99");;\
fhem("define Vol_Res_A at +00:00:10 set Dum_Volume_D $Old_Vol");;\
} \
}
attr Func_VolAut_N group Radio
attr Func_VolAut_N room Wohnzimmer
/etc/asound.conf
pcm.btlogitech {
type plug
slave {
pcm {
type bluetooth
device C8:84:47:XX:XX:XX
profile "auto"
}
}
hint {
show on
description "BT Logitech"
}
}
ctl.btlogitech {
type bluetooth
}
aplay -L
pi@fhem ~ $ aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
Playback/recording through the PulseAudio sound server
btlogitech
BT Logitech
sysdefault:CARD=ALSA
bcm2835 ALSA, bcm2835 ALSA
Default Audio Device
aplay -l
pi@fhem ~ $ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
Sub-Geräte: 8/8
Sub-Gerät #0: subdevice #0
Sub-Gerät #1: subdevice #1
Sub-Gerät #2: subdevice #2
Sub-Gerät #3: subdevice #3
Sub-Gerät #4: subdevice #4
Sub-Gerät #5: subdevice #5
Sub-Gerät #6: subdevice #6
Sub-Gerät #7: subdevice #7
Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
mixer controls
pi@fhem ~ $ amixer controls
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
die folgenden Fehler konnte ich auflösen:
ZitatW: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Permission denied
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
W: [pulseaudio] core-util.c: Failed to open configuration file '//.pulse//daemon.conf': Permission denied
W: [pulseaudio] daemon-conf.c: Failed to open configuration file: Permission denied
Run pulseaudio systemwideFor some reasons is it a good thing to chose for a single pulseaudio daemon instead of one per logged in user
This is how you do it:
-add to every user on the system the groups 'pulse' and 'pulse-access'
-edit /etc/pulse/daemon.conf
change 'deamonize = no' to 'deamonize = yes'
change 'system-instance = no' to 'system-instance= yes'
-edit etc/default/pulseaudio
change 'PULSEAUDIO_SYSTEM_START=0' to 'PULSEAUDIO_SYSTEM_START=1'
-delete .pulse in your home directory and do the same fore other users
-reboot the system
http://community.linuxmint.com/tutorial/view/1137 (http://community.linuxmint.com/tutorial/view/1137)
Bleibt also noch das Proplem mit dem Ton :'( sowie folgende Fehlermeldung:
2015.08.05 19:18:08 1: PERL WARNING: Odd number of elements in hash assignment at /opt/fhem/FHEM/74_StreamRadio.pm line 227, <$proc> line 17.
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Home directory / not ours.
Mühsam nährt sich das Eichhörnchen....
/etc/asound.conf erweitert
pcm.btlogitech_softvol
{
type softvol
slave.pcm "btlogitech"
control.name "BTMixer"
control.card 0
}
amixer controls zeigt jetzt auch den neuen Mixer an
pi@fhem ~ $ amixer controls
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=7,iface=MIXER,name='BTMixer'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
mit "attr SRadio volume_command amixer -D hw:0 cset numid=7 -- %s%%" hab ich jetzt im Fhem zugriff auf die Lautstärke über Bluetooth.
Leider immer noch kein Ton im Fhem mittels Streamradio
UPDATE:
Endlich, es funktioniert nun endlich über Bluetooth
die 74_StreamRadio abermals angepasst.
open my $proc, '-|', "mplayer -ao alsa:device=btlogitech_softvol -quiet -nolirc -noconsolecontrols $PLString $StreamURL";
warum auch immer füllt sich der String "$aoString" nicht richtig.
Ich hab zwar noch kleine Fehlermeldungen im Fhem aber wirklich stören tut's net.
2015.08.06 18:32:00 1: PERL WARNING: Odd number of elements in hash assignment at /opt/fhem/FHEM/74_StreamRadio.pm line 226, <$proc> line 17.
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Home directory / not ours.
Mein Problem ist gelöst. Wahrscheinlich nciht 100% sinnvoll, aber es geht.
Wenn man im Wiki Code die Zeile:
fhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station;;;; set Dum_Volume_D $Old_Vol");;\
aufteilt in zwei Befehle:
fhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station");
fhem("define Radio_Volume_Comeback_A +00:00:15 set Dum_Volume_D $Old_Vol");
funktioniert es einwandfrei. Scheinbar hat FHEM Probleme mehrere Befehle gleichzeitig auszuführen?
Zitat von: Leinad am 08 August 2015, 11:27:23
Scheinbar hat FHEM Probleme mehrere Befehle gleichzeitig auszuführen?
Nein, hat FHEM nicht. Die Auswirkungen der unterschiedlichen Anzahl von Semikola in Deinem fhem.cfg-Code für Direktediterer
Zitatfhem("define Radio_Comeback_A at +00:00:10 set SRadio PLAY $Station;;;; set Dum_Volume_D $Old_Vol");;\
findest Du an einem Beispiel erklärt in http://www.fhemwiki.de/wiki/Escapen_in_Perlbefehlen.
Bingo... das wars... danke!
Sorry, ich bins schon wieder...
Zerbreche mir gerade den Kopf, wie ich mit einem Befehl zum nächsten Sender in der Liste springen kann.
Hat jemand eine Idee wie man das umsetzen könnte?
Ich möchte das Radio mit einem Wandtaster bedienen und mit kurzem Tastendruck den nächster Sender auswählen.
Du könntest z.B. eine Variable inkrementieren und je nach erreichtem Wert einen anderen Befehl abstzen (Radio spiele Sender X).
Hier mal ein Beispiel von mir, womit ich 3 Lampen nacheinander mit einem Taster durchschalte. Da ist sogar noch die Log- Funktion zum weiterentwickeln dabei. Wichtig: "l_state" muss bei "attr global userattr ..." eingetragen werden. Die Variable mit "-1" wird nicht verwendet, die kannst du aber nutzen um mit 2 Tastern auf und ab zu schalten. Kannst dein Programm dann ja auch wieder hier reinstellen.
# Weiterschaltfunktion Licht mit Taster
define Func_FBHM1_Btn_1PS notify FB_HM_1_Btn_01.Short.* { \
\
my $light_state = AttrVal("Func_FBHM1_Btn_1PS","l_state",2) ;;\
my $light_cntup = AttrVal("Func_FBHM1_Btn_1PS","l_state",2) + 1 ;;\
my $light_cntdn = AttrVal("Func_FBHM1_Btn_1PS","l_state",2) - 1 ;;\
Log 1, "light_state:$light_state , light_cntup:$light_cntup , light_cntdn:$light_cntdn ";; \
\
if(!$defs{Res_l_stateS_A}) { \
fhem("define Res_l_stateS_A at +00:00:30 attr Func_FBHM1_Btn_1PS l_state 1") ;;\
}\
if ($light_state == 1) { \
fhem("attr Func_FBHM1_Btn_1PS l_state 2") ;;\
fhem("set Beleuchtung_Gar_02 on-for-timer 300") ;;\
}\
elsif ($light_state >= 4) { \
if($defs{Res_l_stateS_A}) {fhem("delete Res_l_stateS_A")} ;;\
fhem("attr Func_FBHM1_Btn_1PS l_state 1") ;;\
fhem("set Beleuchtung_Gar_04 off") ;;\
}\
elsif ($light_state >= 2) { \
fhem("attr Func_FBHM1_Btn_1PS l_state $light_cntup") ;;\
fhem("set Beleuchtung_Gar_0$light_state off") ;;\
fhem("set Beleuchtung_Gar_0$light_cntup on-for-timer 300") ;;\
}\
}
attr Func_FBHM1_Btn_1PS l_state 1
Danke! Absolut cool... habs irgendwie hinbekommen! (Obwohl ich eine Zeile im Code nicht verstehe ::) Habe ich unten angehängt... vielleicht kannst es mir kurz erklären?)
Also... kurzer Tastendruck hoch, schaltet die Sender durch... oder wenn das Radio aus war, schaltet der Tastendruck den alten Sender wieder ein.
Kurzer Tastendruck runter schaltet das Radio aus, wiederholter Tastendruck runter schaltet das Radio auf dem alten Sender wieder ein.
Hier meine zwei notifys... vielleicht kann ja jemand was damit anfangen:
Func_SRadio_weiterschalten
Wandtaster_1_Btn1:Short.* {
my $Radio_state = AttrVal("Func_SRadio_weiterschalten","R_state",2);
my $Radio_cntup = AttrVal("Func_SRadio_weiterschalten","R_state",2) + 1;
}
if ($SRadio_state <1 ){
fhem("attr Func_SRadio_weiterschalten R_state 1") ;
}
if ($Radio_state == 1) {
fhem("attr Func_SRadio_weiterschalten R_state $Radio_cntup") ;
fhem("set SRadio PLAY SWR1") ;
}
elsif ($Radio_state == 2) {
fhem("attr Func_SRadio_weiterschalten R_state $Radio_cntup") ;
fhem("set SRadio PLAY SWR3") ;
}
elsif ($Radio_state == 3) {
fhem("attr Func_SRadio_weiterschalten R_state $Radio_cntup") ;
fhem("set SRadio PLAY Bayern3") ;
}
elsif ($Radio_state == 4) {
fhem("attr Func_SRadio_weiterschalten R_state $Radio_cntup") ;
fhem("set SRadio PLAY DasDing") ;
}
elsif ($Radio_state == 5) {
fhem("attr Func_SRadio_weiterschalten R_state $Radio_cntup") ;
fhem("set SRadio PLAY FFH 80er") ;
}
elsif ($Radio_state >= 6) {
fhem("attr Func_SRadio_weiterschalten R_state 1") ;
fhem("set SRadio PLAY Hitradio FFH") ;
}
}
Func_SRadio_aus
Wandtaster_1_Btn2:Short.* {
my $Radio_cntdn = AttrVal("Func_SRadio_weiterschalten","R_state",2) -1;
if ((Value("SRadio")) eq "playing") {
fhem ("set SRadio STOP");
fhem ("attr Func_SRadio_weiterschalten R_state $Radio_cntdn") ;
}
else {
fhem ("trigger Wandtaster_1_Btn1 Short");
}
}
Was ich nicht verstehe sind folgende Zeilen:
if(!$defs{Res_l_stateS_A}) { \
fhem("define Res_l_stateS_A at +00:00:30 attr Func_FBHM1_Btn_1PS l_state 1") ;;\
Warum machst du das? Und was passiert da genau? l_state müsste doch schon einen Wert haben?
In meinem Beispiel will ich ja den alten Wert behalten... damit ich nicht irgendwie einen undefinierten Zustand bekomme habe ich Werte <1 abgefangen. Ist das nötig?
Hey, cool dass du es hinbekommen hast! Sowas hatte ich für das Radio auch diffus im Hinterkopf, aber im Moment wirklich null Zeit zum tüfteln. Vielen Dank fürs reinstellen!
Die ominöse Zeile macht folgendes: Wenn Res_l_stateS_A nicht bereits vorhanden ist ( if(!$defs{Res_l_stateS_A} ) -> definiere dieses at und setze damit in 30 sek den Wert von "l_state" auf 1. Also quasi eine Initialisierungsfunktion für das Zählwerk. Damit stelle ich sicher, dass wenn ich 1 mal drücke und Lampe 1 geht an, beim nächsten Mal wieder zuerst Lampe 1 an geht und nicht Lampe 2.
Ok, jetzt ist es klar... danke!
Ich habe nun noch die Sendernamen mit ivona.com/ als .mp3 gespeichert und lasse mir diese ansagen, damit ich auch eine Rückmeldung über den eingestellten Sender habe.
Einfach klasse was alles möglich ist :D
Danke nochmal für deine Hilfe.
Jetzt mal ne andere doofe Frage:
Warum schaffe ich es nicht den Room "Radio" mit einem Icon auszustatten?
Werd bald blöd bei so einem Kinderkram ;D
Zitat von: accessburn am 17 September 2015, 17:42:29
Jetzt mal ne andere doofe Frage:
Warum schaffe ich es nicht den Room "Radio" mit einem Icon auszustatten?
Werd bald blöd bei so einem Kinderkram ;D
- weil es das icon nicht gibt ?
- weil es bei "attr WEBxxxx roomIcons...." falsch angegeben ist .
zeig doch mal die def´s
Hallo zusammen,
ich war bis hierhin stiller Mitleser und möchte mich nun auch mal zu Wort melden... ;D
Folgende Konstallation habe ich bisher nachgebaut:
Voraussetzungen für StreamRadio auf dem Pi ausserhalb von FHEM --> Funktioniert soweit über die Konsole, Musik wird über meinen Bluetoothlautsprecher wiedergegeben.
StreamRadio in FHEM eingerichtet --> Funktioniert soweit auch, Musik wird ebenfalls über die Bluetoothlautsprecher wiedergegeben
TTS in FHEM eingerichtet (gem. Wiki aber den Klinkenanschluss ignoriert) --> Funktioniert nur bedingt über Bluetooth, da die Ausgabe nur abgehakt ausgegeben wird und etwas vom Anfang und Ende fehlt. In beiden Modulen habe ich das aodev über alsa:device=bluetooth definiert.
Nach der TTS Einrichtung wollte ich das Radio wieder benutzen und nun habe ich sporadisch Fehler welche sich wie folgt darstellen:
FHEM gibt beim Radio keinen Mucks mehr von sich
Putty Konsole probiert einen Stream zu starten und anstatt: starting playback... endet es mit Audio: no audio
Neustart vom Pi und erneuter Versuch den Stream zu starten funktioniert. Bis er irgendwann wieder mit obrigen Fehler abbricht.
Ich habe die Vermutung ob es evtl. daran liegen könnte, dass ich über diesen einen Bluetoothdongle gleichzeitig PRESENCE, TTS und STREAMRADIO nutze? Kann das sein?
Wenn jemand weitere Informationen benötigt und mir helfen möchte, reiche ich auch gerne noch benötigte Logeinträge oder Konfigurationen nach. Wollte den Post nur nicht direkt ellenlang aufblasen und mit vielleicht unnötigen Infos überschwemmen... ;)
Vielen Dank vorweg.
Niemand eine Idee? ;)
Übergangsweise nutze ich derzeit Online Radio über meine Tablet UI als direkten Streamzugriff.
Somit wird die Musik sofort auf dem genutzten Endgerät (Wand-Tablet, Handy oder Notebook) wiedergegeben. Lautstärkeregeleung erfolgt ebenfalls über das Endgerät selbst.
Somit auch eine prima Sache, aber das StreamRadio-Bluetooth-Problemchen möchte ich auf Dauer doch noch beseitigen wenn es geht...
Vielen Dank für eure Unterstützung!
@ChristianR
Ich hatte/habe die gleichen Probleme nachdem ich ein paar mal TTS benutze. Ausserdem wurden beim TTS über BT immer Wörter am Anfang/Ende "verschluckt".
Mittlerweile nutze ich das Squeezeboxmodul mit dem LMS (Logitech Media Server) welches mir mehr möglichkeitet bietet und auch TTS mitbringt. (http://forum.fhem.de/index.php?topic=17667.0 (http://forum.fhem.de/index.php?topic=17667.0))
Jetzt kann ich in allen Räumen BT-radio syncron streamen , z.B. Wetterdurchsagen machen und die Anwesenheitserkennung über PRESENCED läuft auch.
Gruß Andreas
Hi Andreas,
danke für den Hinweis!
Klingt interessant und werd ich mir mal anschauen. Bei Bedarf komme ich sicher nochmal auf dich zurück. ;)
Gruß Christian
Zitat von: Atze am 14 Oktober 2015, 16:52:45
@ChristianR
Ich hatte/habe die gleichen Probleme nachdem ich ein paar mal TTS benutze. Ausserdem wurden beim TTS über BT immer Wörter am Anfang/Ende "verschluckt".
Mittlerweile nutze ich das Squeezeboxmodul mit dem LMS (Logitech Media Server) welches mir mehr möglichkeitet bietet und auch TTS mitbringt. (http://forum.fhem.de/index.php?topic=17667.0 (http://forum.fhem.de/index.php?topic=17667.0))
Jetzt kann ich in allen Räumen BT-radio syncron streamen , z.B. Wetterdurchsagen machen und die Anwesenheitserkennung über PRESENCED läuft auch.
Gruß Andreas
Hi Andreas,
kannst du mir bitte etwas über deine genutzte Hardware in dieser Kombination berichten, bzw. als Beispiel deine Integration in FHEM erläutern/posten?
Habe noch nicht ganz durchschaut was ich an zusätzlichen Geräten evtl. noch benötige...
FHEM läuft bei mir auf nem RasPi2 im Keller (dort angeschlossen der Bluetoothdongle). Der connected sich mit einem ganz billigen Bluetoothlautsprecher (S10).
Zum testen reicht das erstmal, bevor ich ihn gegen einen Leistungsstärkeren eintausche der dann das Badezimmer im EG "beschallen" soll. ;)
Danke für deine Mühe,
Gruß Christian
auch wenn es hier nichts mit dem eigentlichen Thema zu tun hat, der Admin möge mir verzeihen ) ::)
@ChristianR
Hallo Christian,
Zusätzliche Hardware (ausser BT-Dongle und Lautsprecher) brauchst du nicht.
Ich geh mal davon aus das dein BT-Lautsprecher mit dem rpi verbunden ist.
- Installation LMS & player : http://www.gerrelt.nl/RaspberryPi/wordpress/tutorial-stand-alone-squeezebox-server-and-player-for-bbq/
Danach ist der Mediaserver unter http://<DEINE-IP>:9000 zur konfiguration oder Bedienung erreichbar
- Einbindung in Fhem : http://www.fhemwiki.de/w/index.php?title=Squeezebox_Modul&redirect=no#Erstmalig und hier http://forum.fhem.de/index.php/topic,17667.0.html
Ich hab 2 rpi's mit fhem2fhem verbunden, so kann ich in 3 Räumen unterschiedliche oder sync. Musik hören
MASTER > LMS & Player mit Bluetooth zur Stereoanlage
SLAVE > 2 x Player. Einer per Klinke und einer per Bluetooth
Gruss Andreas
PS: der Wavemaster Mobi-2 ist ein relativ guter günstiger Lautsprecher
Danke für die schnelle Rückmeldung und verzeiht die OT Anfrage... ;)
Ich gelobe Besserung!
Hi,
danke für eure Arbeit, das Modul funktioniert bei mir problemlos.
Ein Stolperstein war die Mixer Einstellung, deshalb hatte die Lautstärkeeinstellung nicht direkt funktioniert.
Das lies sich aber mit der Wiki Einrichtungshilfe aber leicht lösen.
Ich habe zwar eine ähnliche Eigenart wie auch schon andere hier beschrieben haben, Lautstärke bis 60% stille und erst ab dann wird es lauter, finde ich aber nicht weiter schlimm.
Ein nächster Schritt wird wohl das Remotemodul sein, dass man Tasten für Sender, Start, Stop und Lautstärke hat. Buttons finde ich "handlicher als ein Dropdownmenu und Slider, ist aber Geschmacksache. Hat das jemand schon so bei sich umgesetzt? Es gab hier irgendwo ein Screenshot, allerdings ohne Code.
Außerdem habe ich den Wunsch, das Modul als Wecker zu benutzen.
Die Funktion soll ähnlich dem wakeup-light sein. Es soll eine Rampe ablaufen, die in vorgegebener Zeit das Radio von ganz leise immer lauter werden lässt. Leider habe ich dazu als Anfänger noch keine Idee wie eine Umsetzung aussehen könnte. Möglicherweise geht es mit einer modifizierten selbst geschriebenen Funktion des wakeup-lights in der 99_myultis Datei.
Für Ideen oder Hinweise wäre ich euch sehr dankbar.
Das Problem habe ich auch.
Liegt daran, dass auch bei meinen Ubuntusystem die Lautstärkeregelung logarithmisch und nicht lienar ist.
Mein brauchbarer Regelbereich ist auch nur so von 65-100%.
Wobei der Sprung von 90 auf 100 dann schon recht groß ist.
Damit kann ich aber leben.
Hi,
schönes Modul. Macht genau das, was es soll ;)
Das "Problem" mit der Lautstärkenregelung habe ich auch.
Weiterhin versuche ich mir die Sender, die im Dropdown Menü angezeigt werden über das WebCmd in die FHEM Remote iPhone App zu bekommen, sodass ich den Sender aus der App wählen kann.
define WebRadio StreamRadio /opt/fhem/log/WebStreams.txt
attr WebRadio fp_PlanWohnung 10,360,2,,
attr WebRadio icon it_radio
attr WebRadio room Radio,Wohnzimmer
attr WebRadio telnetport 7072
attr WebRadio volume_command amixer cset numid=1 -- %s%%
attr WebRadio webCmd state
Muss ich ein anderes Attribut für den webCmd nehmen?
Viele Grüße
Thema log. Lautstärke:
Der ursprüngliche Modulersteller hatte so eine Funktion im Code drin. Ich hatte sie rausgeschmissen, weil sie bei mir und vielen Anderen eher gestört, oder nichts gebracht hatte. Sie ist im Code aber nur auskommentiert (glaube ich mich zu erinnern), oder auf jeden Fall im ursprüngl. Modul noch drin (erster Post). Wer möchte kann versuchen es im Code wieder zu aktivieren. Ich glaube ich hatte die Stelle auch kommentiert. Ist schon ewig her... 8)
Gruß
Frank
Hey Leute.
Ich hätte auch mal eine Frage zum Modul.
Hab es nun in fhem integriert und läuft auch alles super.
Nun aber mein problem.
Ich nutze als Oberfläche das TabletUI.
Wie lautet der Code dass ich das Modul da anzeigen lassen kann ?
Danke im vorraus.
Weiß keiner nen rat ? :'(
Zitat von: Dasus am 16 November 2015, 08:33:30
Ich nutze als Oberfläche das TabletUI.
Wie lautet der Code dass ich das Modul da anzeigen lassen kann ?
Stell doch die Frage mal im Frontends-Ordner mit nem passenden Betreff.
Ok, ich versuchs mal
... und wie schauts bei meinem Problem aus? ;)
Nutzt das Modul keiner in Verbindung mit der iPhone FhemRemote App?
Hallo zusammen,
da ich bei der Einrichtung des Modules so manche Probleme hatte, habe ich das Modul etwas gefixt/erweitert.
Changelog:
- fixed aodev parameter
- changed volume_command setter to volume_set_command and volume_get_command
to add volume read functionality from mixer
- changed default volume device to "master"
- added setter for default stream when calling "play" without parameter
(by default always the first element in hash is used)
- added current volume, current stream and streams to readings/internals
Durch die Anpassungen ist es möglich das Modul recht einfach an die Tablet-Ui anzubinden.
Wie das ganze aussieht, dazugehöriges html und meine geänderte 74_StreamRadio.pm sind angehängt.
Da perl zum glück nicht meine Muttersprache ist, sind nötige Refactorings und Bugs nicht ausgeschlossen.
Falls es etwas gibt, bitte einfach kurz bescheid geben.
Gruß
Ben
Da die Nachfrage kam, hier noch das komplette Dashboard..
Gruß
Ben
Hallo,
danke für die Anpassungen. Ich habe Probleme mit dem Modul. Die Streams werde nicht immer korrekt gestartet. Hier mal ein Auszug aus dem Logfile:
File not found: 'WDR'
Failed to open WDR.
2015.12.27 12:28:49 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 109.
2015.12.27 12:28:49 1: BlockingInformParent (SYSMON_blockingFinish): Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
mplayer: no process found
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
2015.12.27 12:28:58 1: telnet SSL/HTTPS error: No such file or directory
2015.12.27 12:28:59 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 281, <$proc> line 18.
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Home directory / not ours.
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
2015.12.27 12:29:49 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 109.
2015.12.27 12:29:49 1: BlockingInformParent (SYSMON_blockingFinish): Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
2015.12.27 12:29:55 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 281, <$proc> line 33.
2015.12.27 12:30:29 1: Timeout for StreamRadio_Play reached, terminated process 7391
MPlayer interrupted by signal 15 in module: play_audio
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
2015.12.27 12:30:29 1: telnet SSL/HTTPS error: No such file or directory
File not found: 'NDR'
Failed to open NDR.
2015.12.27 12:30:49 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 109.
2015.12.27 12:30:49 1: BlockingInformParent (SYSMON_blockingFinish): Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'
mplayer: no process found
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
2015.12.27 12:31:21 1: telnet SSL/HTTPS error: No such file or directory
File not found: 'FFH'
Failed to open FFH.
Kann es sein, dass es an den Leerzeichen im Streamname liegt?
File not found: 'WDR'
Failed to open WDR.
Ich habe kein "WDR" Stream, dafür aber einen "WDR 2" Stream.
File not found: 'FFH'
Failed to open FFH.
Ich habe kein "FFH" Stream, dafür aber einen "FFW Weihnachtsradio" Stream.
Viele Grüße
Hallo,
ja es liegt an dem Leerzeichen im namen, konnte es bei mir nachstellen.
Muss sicher nur irgendwo escaped werden, kann ich mir später gerne mal anschauen.
Als schneller workaround einfach ein "-" oder "_" statt dem Leerzeichen im namen nehmen.
Gruß
Ben
Hi,
ich habe heute morgen mal mein pi mit dem neuen jessy neu aufgesetzt. jetzt habe ich alles soweit wieder am laufen, jedoch stürzt das fhem immer ab, wenn ich einen Webstream über das Drop-Down Menü auswähle.
Der Stream wird dann zwar abgespielt, aber das Webinterface des FHEM ist nicht mehr erreichbar. Neu ein Neustart des PI hilft...
Hat da jemand ne Idee, woran es liegen könnte?
Bin nach dem Wiki vorgegangen
http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe
Und im Fhem ist es folgendermaßen eingerichtet (per copy and paste aus der alten config datei in die fhem.cfg eingefügt):
define WebRadio StreamRadio /opt/fhem/log/WebStreams.txt
attr WebRadio fp_PlanWohnung 10,360,2,,
attr WebRadio icon it_radio
attr WebRadio room Radio,Wohnzimmer
attr WebRadio telnetport 7072
attr WebRadio volume_get_command amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
attr WebRadio volume_set_command amixer cset numid=1 -- %s%%
Allerdings kann ich mich nicht erinnern, diesen Eintrag dort eingefügt zu haben
attr WebRadio volume_get_command amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
Wie kommt der dahin?
Viele Grüße
Vermutlich hast du meine Version vom stream radio verwendet und dann im FHEM portal auf "save config" geklickt.
Dadurch kommt der Eintrag in deiner config.
Das Problem mit dem hängenden FHEM hatte ich bei mir auch schon, passiert wenn amixer blockiert, dann blockiert der ganze FHEM Prozess.
Warum amixer manchmal blockiert habe ich noch nicht herausgefunden, scheint ein bug zu sein.
Ich habe gerade mal die originale Version des Moduls genutzt. Mit der funktioniert es ebenso wenig:
Der Stream wird abgespielt, aber dann ist Ende mit FHEM
2015.12.29 06:47:17 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 163.
SSL_cert_file ./certs/server-cert.pem does not exist at /usr/share/perl5/IO/Socket/SSL.pm line 2009.
Cache fill: 0.00% (0 bytes)
Cache fill: 0.00% (0 bytes)
2015.12.29 06:47:20 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 23.
A: 0.0 (00.0) of -0.0 (unknown) ??,?% 38%
A: 0.1 (00.0) of -0.0 (unknown) ??,?% 37%
A: 0.2 (00.1) of -0.0 (unknown) 2.5% 36%
.
.
. immer weiter, ca 100-200 Einträge
.
.
A: 67.2 (01:07.1) of -0.0 (unknown) 3.4% 37%
A: 67.3 (01:07.2) of -0.0 (unknown) 3.4% 36%
A: 67.4 (01:07.3) of -0.0 (unknown) 3.4% 36%
Entweder habe ich eine Einstellung falsch oder es Funktioniert mit Jessie nicht mehr.
Hat es einer von euch mit Jessie am Laufen?
Viele Grüße
Hallo zusammen,
(... siehe unten, warum auch immer, es geht jetzt. Vllt. hilfts aber trotzdem, sonst lösche ich auch gerne meinen Beitrag)
ich bin am verzweifeln ;-( Keine Chance das Modul ans laufen zu bekommen. Habe alle 74_StreamRadio.pl probiert (wiki und hier aus Seite 17). Mittlerweile nutze ich die mit Textanzeige. Der Stream wird auch ausgelesen und ich bekomme den Text angezeigt.
Rechte habe ich alle gesetzt und überprüft.
Aufruf des Streams aus der Console geht ohne murren.
Meine volume_control liegt auf numid=1 und ist auch als attr eingefügt.
ABER: ich bekomme auf Teufel komm raus keinen Ton. Per slider, per set volume, mit/ohne %, sudo amixer cset numid=2 -- 1 (2=playback switch) ... Geht einfach nicht.
Ich höre aber ein knaxen, wenn ich an der Lautstärke spiele. Und der Text wird ja auch angezeigt...
Mein Log (verbose 5) schreibt
2015.12.31 15:42:46 4: FHEMWEB:192.168.1.100:43572 POST /fhem?XHR=1&cmd.SRadio=set%20SRadio%20PLAY%20http://streaming01.sr-online.de/unserding_2.m3u&fw_id=967; BUFLEN:0
2015.12.31 15:42:46 5: Cmd: >set SRadio PLAY http://streaming01.sr-online.de/unserding_2.m3u<
2015.12.31 15:42:46 4: StreamURL http://streaming01.sr-online.de/unserding_2.m3u does not seem to be a valid URL so we check if it is a station name from the playlist...
2015.12.31 15:42:46 4: Hmm, no station with the name found so we just try to play it.
2015.12.31 15:42:46 5: CheckTerminate...HASH(0x207e9f8)
2015.12.31 15:42:46 5: MPlayer PID is 2922
mplayer: Kein Prozess gefunden
2015.12.31 15:42:46 5: Triggering SRadio (6 changes)
2015.12.31 15:42:46 5: Notify loop for SRadio StreamURL:
2015.12.31 15:42:46 5: Triggering SRadio (1 changes)
2015.12.31 15:42:46 5: Notify loop for SRadio StreamURL: http://streaming01.sr-online.de/unserding_2.m3u
2015.12.31 15:42:46 4: BlockingCall (StreamRadio_Play) created child (2937), uses telnetForBlockingFn to connect back
2015.12.31 15:42:46 5: Triggering SRadio (1 changes)
2015.12.31 15:42:46 5: Notify loop for SRadio playing
2015.12.31 15:42:46 5: MPlayer start. PID is 2937
2015.12.31 15:42:46 4: name: /fhem?XHR=1&cmd.SRadio=set%20SRadio%20PLAY%20http://streaming01.sr-online.de/unserding_2.m3u&fw_id=967 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2015.12.31 15:42:46 4: Connection accepted from telnet:127.0.0.1:42085
2015.12.31 15:42:47 5: Cmd: >setreading SRadio StationName UnserDing Livestream<
2015.12.31 15:42:47 5: Triggering SRadio (1 changes)
2015.12.31 15:42:47 5: Notify loop for SRadio StationName: UnserDing Livestream
2015.12.31 15:42:47 5: Key= StreamTitle
2015.12.31 15:42:47 5: Value= Ihr hört "Foo Fighters" mit "Saint Cecilia".
2015.12.31 15:42:47 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 225, <$proc> line 16.
2015.12.31 15:42:47 5: Cmd: >setreading SRadio StreamTitle Ihr hört "Foo Fighters" mit "Saint Cecilia".<
2015.12.31 15:42:47 5: Triggering SRadio (1 changes)
2015.12.31 15:42:47 5: Notify loop for SRadio StreamTitle: Ihr hört "Foo Fighters" mit "Saint Cecilia".
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
[AO_ALSA] alsa-lib: confmisc.c:768:(parse_card) cannot find card '0'
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:392:(snd_func_concat) error evaluating strings
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:1251:(snd_func_refer) error evaluating name
[AO_ALSA] alsa-lib: conf.c:4241:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[AO_ALSA] alsa-lib: conf.c:4720:(snd_config_expand) Evaluate error: No such file or directory
[AO_ALSA] alsa-lib: pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
[AO_ALSA] Playback open error: No such file or directory
Failed to initialize audio driver 'alsa'
[AO SDL] Unsupported audio format: 0x1d.
[AO SDL] Unable to open audio: No available audio device
Failed to initialize audio driver 'sdl:aalib'
Could not open/initialize audio device -> no sound.
2015.12.31 15:42:49 4: Connection closed for FHEMWEB:192.168.1.100:43570: EOF
2015.12.31 15:42:49 4: FHEMWEB:192.168.1.100:43572 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-12.log; BUFLEN:0
2015.12.31 15:42:51 4: FHEMWEB:192.168.1.100:43571 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-12.log; BUFLEN:0
Was ist mir aufgefallen:
1. PID des Mplayer gibt es nicht.
2a. die IP endet auf .100 - verstehe ich gar nicht. mein fhem läuft aktuell unter .103, aber die .100 kann ich trotzdem anpingen.
2b. Hängt es evtl. mit der IP und EOF zusammen?
3. amixer: Mixer attach default error: No such file or directory ??
Hat jmd ne Idee? Ich bin im try and error Modus unterwegs, bekomme aber nur errrrrooooorrr ;-) Ein kleiner Schubs scheint noch zu fehlen.
cfg:
# Stream Radio:
define SRadio StreamRadio /opt/fhem/WebStreams.txt
attr SRadio telnetport 7072
#http://forum.fhem.de/index.php/topic,18531.msg129936.html#msg129936
#evtl. wieder auskommentieren
#aber es steht auch im log verbose 5: 2015.12.31 00:33:28 4: StreamURL http://www.wdr.de/wdrlive/media/einslive.m3u does not seem to be a valid URL so we check if it is a station name from the playlist...
#und: Home directory /root not ours.
#nach einem sudo amixer controls ist volume numid 1, nicht 2(wars vorher)
attr SRadio volume_command amixer cset numid=1 -- %s%%
attr SRadio room Radio
attr SRadio group Radio
EDIT:
uups... hab gerade gesehen, dass mit der 74_Streamradio.pl mit Text ein neuer Fehler bzgl. Audio-Device kommt. Das hatte ich vorher (.pl ohne Text) nicht. Komisch, mein TTS geht ja auch. -> Weiter probieren...
EDIT2:
Mmh... rpi neugestartet. Keine Ahnung warum, aber jetzt geht es:
74_StreamRAdio.pl mit Text,
attr numid mit 1 = playback Volume.
Nutzt jetzt einer das Modul mit Rapsian Jessie??
Falls ja, geht bei euch alles problemlos?
Viele Grüße
Hi Zusammen,
war leider die letzen tage etwas inaktiv, sry.
Also ich nutze fhem auf einem Debian wheezy (nicht rpi).
Der Inhalt meiner fhem.cfg bzgl. SRadio sieht so aus:
# Stream Radio
define SRadio StreamRadio /opt/fhem/WebStreams.txt
attr SRadio telnetport 7072
attr SRadio room Radio
attr SRadio group Radio
Die Datei /opt/fhem/WebStreams.txt:
1Live|http://www.wdr.de/wdrlive/media/mp3/1live.m3u
SWR3|http://mp3-live.swr3.de/swr3_m.m3u
YouFM|http://metafiles.gl-systemhaus.de/hr/youfm_2.m3u
Ich benutze die defaults für volume_set_command und volume_get_command, deshalb ist davon nicht in der fhem.cfg
Die defaulst sind:
volume_set_command="amixer set Master %s%%";
volume_get_command="amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'";
Prüft bitte mal ob ihr eure amixer aufrufe in der console mit dem user mit dem euer fhem läuft ausführen könnt.
In meinem Fall ist es:
sudo -u fhem bash -c "amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'"
Der Aufruf sollte eine Zahl zurück geben. Das ist wichtig, da diese Zahl direkt an das Volume-Widget gebunden ist. Sollte nichts oder Keine Zahl zurück gegeben werden, müsst ihr den Aufruf an euer System anpassen.
Hier helfe ich euch gern, falls ihr mit der Syntax Probleme habt. Ihr müsst mir nur euren amixer output für das device schicken.
Grüße
Ben
Hi Spezies,
ich habe das neue Modul mal eingespielt, weil ich nach StreamRadio für Tablet-UI gesucht habe.
Es funzt auch schon.
Super Arbeit ;)
Was bei mir nicht geht, ist die Auswahl von Streams/Sendern.
Das Reading "Streams" ist bei mir nicht vorhanden - vielleicht habe ich auch die Funktionalität falsch verstanden.
Ich nehme an, dass "Streams" eine Liste von Sendern enthält.
Liege ich da falsch?
Ein Reading Streams gibt es nicht, aber das Internal STREAMS.
Da stehen, getrennt durch Doppelpunkt, die Sender.
Leerzeichen im Sendernamen können ein Problem sein....
Zitat von: vidi am 06 Januar 2016, 00:32:45
Prüft bitte mal ob ihr eure amixer aufrufe in der console mit dem user mit dem euer fhem läuft ausführen könnt.
In meinem Fall ist es:
sudo -u fhem bash -c "amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'"
Der Aufruf sollte eine Zahl zurück geben. Das ist wichtig, da diese Zahl direkt an das Volume-Widget gebunden ist. Sollte nichts oder Keine Zahl zurück gegeben werden, müsst ihr den Aufruf an euer System anpassen.
Hier helfe ich euch gern, falls ihr mit der Syntax Probleme habt. Ihr müsst mir nur euren amixer output für das device schicken.
Grüße
Ben
Moin,
bei mir schmeisst er "amixer: Unable to find simple control 'Master',0"
Meine Einstellungen in der FHEM-Config sind:
define WebRadio StreamRadio /opt/fhem/log/WebStreams.txt
attr WebRadio fp_PlanWohnung 10,360,2,,
attr WebRadio icon it_radio
attr WebRadio room Radio,Wohnzimmer
attr WebRadio telnetport 7072
attr WebRadio volume_command amixer cset numid=1 -- %s%%
#attr WebRadio volume_get_command amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
#attr WebRadio volume_set_command amixer cset numid=1 -- %s%%
Viele Grüße
Zitat von: kumue am 06 Januar 2016, 09:44:31
Ein Reading Streams gibt es nicht, aber das Internal STREAMS.
Da stehen, getrennt durch Doppelpunkt, die Sender.
Leerzeichen im Sendernamen können ein Problem sein....
mmmmh!
Bei meinen Internals ist kein "STREAMS" aufgelistet:
Internals:
DEF /opt/fhem/WebStreams.txt
NAME SRadioKueche
NR 21
PLAYLIST /opt/fhem/WebStreams.txt
STATE stopped
STREAM http://www.surfmusik.de/m3u/rtl-die-besten-hits-aller-zeiten,997.m3u
TYPE StreamRadio
VOLUME 37
Habe ich das Device evtl. falsch angelegt?
[EDIT]
ALLES ZURÜCK ...ich habe das Radio gerade neu angelegt - funktioniert alles wie beschrieben :D
Zitat von: slecram am 06 Januar 2016, 10:05:17
Moin,
bei mir schmeisst er "amixer: Unable to find simple control 'Master',0"
...
Ich habe das Radio auf mehreren RPIs am Laufen - der aMixer liefer nicht aus allen Geräten "Master".
Ich bin nicht sicher, ob es allgemein gültig ist, aber so hat's bei mir geklappt:
- amixer ausgeben
- Zeile mit Simple mixer control enthält zwischen den Apostrophen den benötigten Wert
- Test mit amixer get PCM
- Volume-Get mit PCM anpassen
~:/opt/fhem# amixer
Simple mixer control 'PCM',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback -10239 - 400
Mono: Playback -2365 [74%] [-23.65dB] [on]
~:/opt/fhem# amixer get PCM
Simple mixer control 'PCM',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
Playback channels: Mono
Limits: Playback -10239 - 400
Mono: Playback -2365 [74%] [-23.65dB] [on]
~:/opt/fhem# amixer get PCM | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
74
~:/opt/fhem#
amixer get PCM | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
Funktioniert und liefert bei mir den Wert 0.
pi@pi-fhem:~ $ amixer get PCM | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
0
pi@pi-fhem:~ $
...
sudo -u fhem bash -c "amixer get PCM | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'"
liefert ebenfalls den Wert 0
pi@pi-fhem:~ $ sudo -u fhem bash -c "amixer get PCM | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'"
0
pi@pi-fhem:~ $
Muss der Eintrag in der fhem.cfg jetzt
define WebRadio StreamRadio /opt/fhem/log/WebStreams.txt
attr WebRadio fp_PlanWohnung 10,360,2,,
attr WebRadio icon it_radio
attr WebRadio room Radio,Wohnzimmer
attr WebRadio telnetport 7072
attr WebRadio volume_get_command amixer get PCM | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
attr WebRadio volume_set_command amixer set PCM -- %s%%
sein? Beim Speichern der fhem.cfg erscheint folgendes:
WebRadio: unknown attribute volume_get_command. Type 'attr WebRadio ?' for a detailed list. WebRadio: unknown attribute volume_set_command. Type 'attr WebRadio ?' for a detailed list.
Muss der Eintrag in der fhem.cfg jetzt
...
attr WebRadio volume_get_command amixer get PCM | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
sein? Beim Speichern der fhem.cfg erscheint folgendes:
...
[/quote]
ich bin zwar auch fast noch "Neuling", aber vom direkten Schreiben in die fhem.cfg wird an vielen Stellen dringend abgeraten.
Die Datei-Fassung ist nicht immer synchron mit der Web-Oberfläche.
Falls das SChreiben bei Dir nicht eingeschaltet ist:
attr WEB editConfig 1
Danach kannst Du die Einstellungen direkt über den Modul-Dialog des Radio-Devices vornehmen.
Sollte dann immer noch die Fehlermeldung kommen, solltest Du prüfen, ob Du die aktualisierte Verison von 74_StreamRadio.pm hast.
Falls die Datei aktuell ist (mit der neuen Funktionalität von vidi), fehlte evtl. noch ein reload 74_StreamRadio.pm
@obiwangi zu deinem Problem:
ich vermute du hast die WebStreams.txt angelegt und danach nicht FHEM neugestartet oder das Modul neu geladen.. Richtig?
Die Datei wird nämlich nur einmal am Anfang geladen und dann baue ich die Liste der Streams zusammen.
Gruß
Ben
Zitat von: vidi am 06 Januar 2016, 17:16:32
@obiwangi zu deinem Problem:
ich vermute du hast die WebStreams.txt angelegt und danach nicht FHEM neugestartet oder das Modul neu geladen.. Richtig?
Die Datei wird nämlich nur einmal am Anfang geladen und dann baue ich die Liste der Streams zusammen.
Lag wohl in der Kategorie "Anfängerfehler" ;)
Ich habe mal 2 Punkte eingearbeitet:
# Version = 0.7 (obiwangi)
# - added command REFRESHSTREAMS. Populates STREAMS with current entrieis of
# PLAYLIST (/opt/fhem/WebStreams.txt)
# - (hot-)fixed error when sender name contains blanks
# Replace blanks with underscore; only for STREAMS.
# PLAYLIST now can contain sendernames with blank characters.
Feedback nehme ich gerne an :)
Besser geht immer 8)
@slecram
Hast du evtl. die Originalversion der 74_StreamRadio.pm verwenden und nicht die Modifizierte?
Zitat von: vidi am 06 Januar 2016, 18:56:28
@slecram
Hast du evtl. die Originalversion der 74_StreamRadio.pm verwenden und nicht die Modifizierte?
Ja, habe auch schon getauscht.
ich habe aber immer noch Probleme, dass mein FHEM abstürzt :(
Schaffe es derzeit nicht einmal ein Ton aus dem Pi zu locken, selbst wenn ich das hier mache:
sudo mplayer -ao alsa http://fritz.de/livemp3
Er zeigt mir an, dass der Steam läuft und ich kann die Laustärke über / und * ändern, aber kein Ton. Bin grad auf Fehlersuche. Wenn das läuft, gehts in FHEM weiter^^
Danke schon einmal für eure Hilfe.
Habe das Gefühl, dass es was mit dem Jessie zu tun hat :/
Name : Fritz vom rbb live h▒ren - www.fritz.de (c) Rundfunk Berlin-Brandenburg
Website: http://www.fritz.de
Public : no
Bitrate: 128kbit/s
Cache size set to 320 KiB
Cache fill: 0.00% (0 bytes)
ICY Info: StreamTitle='Fritz - Und das hört man';
Detected file format: Audio only
Selected audio codec: MPEG 1.0/2.0/2.5 layers I, II, III [mpg123]
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
[AO_ALSA] Unable to find simple control 'Master',0.
Video: no video
Starting playback...
Das "[AO_ALSA] Unable to find simple control 'Master',0." macht mich stutzig...
Ich glaube ich habe eine Idee, könnte es sein das du keinen Pulseaudio installiert hast?
Ich glaube nicht das es mit Jessie zutun hat. Wahrscheinlich ist einfach nur dein ALSA nicht richtig konfiguriert.
Kannst du bitte mal versuchen "alsamixer" auf der console zu starten. Und schau mal wie da deine Regler eingestellt sind.
Hier die Ausgabe von alsamixer
Edit:
PulseAudio installiert. Regler in alsamixer hochgestellt. Jetzt bekomme ich schon einmal wieder einen Ton raus. Jetzt mal gucken obs in FHEM läuft.
AHA!
Drück mal "m".
Gern geschehen. ;-)
Sry "00" heißt aktiviert. Kann man mit der "m" taste umschalten.
Mach bitte mal lauter.
Pfeil-Hoch -> lauter
Pfeil-Runter -> leiser
Super, danke.
PulseAudio installiert. Regler in alsamixer hochgestellt. Jetzt bekomme ich schon einmal wieder einen Ton raus.
In FHEM kann ich jetzt den Stream starten, aber danach ist das FHEM tot. Es geht nichts mehr.
Das liegt jetzt vermutlich daran das irgendwas blockiert.
Wie sehen deine
volume_set_command
volume_get_command
attrs aus?
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#********************************************************************************************************
#********************************************************************************************************
# Online Radio using module 74_Streamradio
#********************************************************************************************************
#********************************************************************************************************
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
define WebRadio StreamRadio /opt/fhem/log/WebStreams.txt
attr WebRadio fp_PlanWohnung 10,360,2,,
attr WebRadio icon it_radio
attr WebRadio room Radio,Wohnzimmer
attr WebRadio telnetport 7072
attr WebRadio volume_get_command amixer get PCM | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
attr WebRadio volume_set_command amixer set PCM -- %s%%
Hmm. Von wo/worüber startest du den Stream. Und wie verhält es sich dann genau?
Ich klicke hier z.B. auf Einslive, der Stream startet und FHEM ist weg. KEine Seitenaktualisierung mehr möglich. Das Linux ist noch da, der Stream läuft, der Ton wird ausgegeben.
Linux muss neu gestartet werden, sodass man wieder ans FHEM kommt.
Ok, geht es über die tablet-ui?
Wenn du die mit ps axuf
die Prozesse anzeigen lässt, dann den mplayer Prozess raussuchst, und diesen dann mit kill -9 PID_VOM_MPLAYER_PROCESS
killst, geht dann FHEM wieder ohne Neustart?
Bringt ein Neustart von FHEM mit
service fhem stop && service fhem start
nichts?
Musst du immer den Rechner komplett neustarten?
Hi,
"ps axuf" liefert folgendes:
fhem 2139 1.5 0.8 158532 7628 ? Sl 20:52 0:00 /usr/bin/pulseaudio --start --log-target=syslog
fhem 2142 0.1 2.9 36364 28404 ? S 20:52 0:00 perl fhem.pl fhem.cfg
fhem 2148 6.9 3.2 154256 30432 ? Sl 20:52 0:01 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrli
fhem 2150 0.1 1.6 77136 15244 ? S 20:52 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/w
Dann mache ich
sudo kill -9 2148
FHEM noch immer tot. Ein erneutes "ps axuf" liefert
fhem 2142 0.0 2.9 36364 28404 ? S 20:52 0:00 perl fhem.pl fhem.cfg
fhem 2150 0.1 1.6 77136 15244 ? S 20:52 0:00 mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/m
Dann mache ich
sudo kill -9 2150
FHEM noch immer tot.
Und restart vom fhem service?
Zitat von: vidi am 06 Januar 2016, 19:44:43
Bringt ein Neustart von FHEM mit
service fhem stop && service fhem start
nichts?
Sorry, übersehen.
Nein ein stop und start hilft nicht.
Nach dem stop und start:
fhem 1925 0.8 0.8 158532 7644 ? Sl 22:10 0:00 /usr/bin/pulseaudio --start --log-target=syslog
fhem 1928 0.0 2.9 35876 28000 ? S 22:10 0:00 perl fhem.pl fhem.cfg
fhem 1934 4.0 3.2 154244 30692 ? Rl 22:10 0:03 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.ndr.de/resou
fhem 1936 0.1 1.5 77044 15052 ? S 22:10 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.ndr.de/r
fhem 2075 13.3 2.9 32932 28052 ? S 22:11 0:04 perl fhem.pl fhem.cfg
Edit:
Doch! Jetzt geht FHEM wieder. Hat etwas gedauert.
fhem 1925 0.7 0.8 158532 7644 ? Sl 22:10 0:01 /usr/bin/pulseaudio --start --log-target=syslog
fhem 1928 0.0 2.9 35876 28000 ? S 22:10 0:00 perl fhem.pl fhem.cfg
fhem 1934 3.9 3.2 154244 30692 ? Sl 22:10 0:08 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.ndr.de/resou
fhem 1936 0.1 1.5 77044 15052 ? S 22:10 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.ndr.de/r
fhem 2075 3.4 3.2 35468 30492 ? S 22:11 0:05 perl fhem.pl fhem.cfg
Ok, also musst Linux nicht neustarten.
Hast du die tablet-ui installiert? Wenn ja mal über mein Dashboard versucht?
Zitat von: vidi am 06 Januar 2016, 22:16:08
Ok, also musst Linux nicht neustarten.
Hast du die tablet-ui installiert? Wenn ja mal über mein Dashboard versucht?
Ja habe ich. Gleiches verhalten :(
Ich versteh es nicht :-/
Zitat von: vidi am 06 Januar 2016, 23:19:09
Ich versteh es nicht :-/
Und ich als Linux Einsteiger erst recht nicht. Irgendwie scheint der FHEM Dienst blockiert zu werden..?
Hallo! Ich nutze das Radio schon seit längerer Zeit, was über Audiokabel auch immer zuverlässig lief. Nun jedoch der Versuch über Bluetooth: Sprachausgabe und MP3-Dateien werden schon ausgegeben, das Radio gibt jedoch noch keinen Ton von sich. Folgende Definition:
define Radiostream StreamRadio /opt/fhem/log/WebStreams.txt
attr Radiostream group Radio
attr Radiostream icon rc_RADIO
attr Radiostream room Wohnzimmer
attr Radiostream telnetport 7072
attr Radiostream volume_command amixer cset numid=2 -- %Volume%
attr Radiostream aodev -ao alsa:device=bluetooth
Die Logdatei zeigt ein starting Playback. Nur Ton gibts keinen. Daher denke ich dass es mit der Lautstärke zusammenhängen könnte und numid=2 nicht passt. Ähnlich wie bei Atze am 06. August hier in dem Thread. Ich habe es aber nicht hinbekommen, dass in der amixer Auflistung die Bluetooth-Lautstärke eingestellt werden kann. Hier mein Versuch dazu in der etc/asound.conf (pcm.bluetooth hatte ich zuerst definiert und darüber laufen auch Sprachausgabe und Liedwiedergabe):
pcm.bluetooth{
type bluetooth
device AA:AA:AA:AA:AA:AA
profile "auto"
}
pcm.bluetooth_softvol{
type softvol
slave.pcm "bluetooth"
control.name "BTVol"
control.card 0
}
Ist control.card 0 überhaupt richtig? Muss ich noch einen Schritt durchführen um bei amixer eine neue numid zu sehen? :-\
Guten Tag,
ich scheitere schon an der mplayer Installation.
nach: sudo apt-get install mplayer kommt:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mplayer : Depends: libavcodec53 (>= 6:0.8.3-1~) but it is not going to be installed or
libavcodec-extra-53 (>= 6:0.8.16) but it is not going to be installed
Depends: libavformat53 (>= 6:0.8.3-1~) but it is not going to be installed
Depends: libdvdnav4 (>= 4.2.0+20120524) but it is not going to be installed
Depends: libjpeg8 (>= 8c) but it is not installable
Depends: libx264-123 but it is not installable
E: Unable to correct problems, you have held broken packages.
Woran könnte es liegen?
Danke
Marek
Hallo,
ich benutze das Radio per Stream auf meine Bose Lautsprecher.
Ich musste auch lange rumspielen bis es funktioniert hat. Hat aber nicht direkt was mit dem Radio zutun.
Installieren musste ich bluez, alsa und pulseaudio.
Das muss in die /etc/pulse/default.pa oder system.pa jenachdem wie es bei dir konfiguriert ist:
load-module module-alsa-sink device=btheadset
in /etc/bluetooth/audio.conf habe ich die enabled:
Enable=Source,Sink,Headset,Gateway,Control,Socket,Media
Meine /etc/asound.conf:
#/etc/asound.conf
pcm.btheadset {
type plug
slave {
pcm {
type bluetooth
device "08:DF:1F:XX:XX:XX"
profile "auto"
}
}
hint {
show on
description "BT Headset"
}
}
ctl.btheadset {
type bluetooth
}
Danach pairen:
bt-device -c 08:DF:1F:XX:XX:XX
Das Gerät als "trusted" makieren:
bluez-test-device trusted 08:DF:1F:XX:XX:XX yes
Und verbinden:
bt-audio -c 08:DF:1F:XX:XX:XX
Danach konnte ich alles zum Lautsprecher streamen. Ist leider etwas fummelig aber ich hoffe, ich konnte dir etwas weiterhelfen.
Gruß
Ben
Zitat von: ChHerrm am 16 Januar 2016, 14:32:24
Hallo! Ich nutze das Radio schon seit längerer Zeit, was über Audiokabel auch immer zuverlässig lief. Nun jedoch der Versuch über Bluetooth: Sprachausgabe und MP3-Dateien werden schon ausgegeben, das Radio gibt jedoch noch keinen Ton von sich. Folgende Definition:
define Radiostream StreamRadio /opt/fhem/log/WebStreams.txt
attr Radiostream group Radio
attr Radiostream icon rc_RADIO
attr Radiostream room Wohnzimmer
attr Radiostream telnetport 7072
attr Radiostream volume_command amixer cset numid=2 -- %Volume%
attr Radiostream aodev -ao alsa:device=bluetooth
Die Logdatei zeigt ein starting Playback. Nur Ton gibts keinen. Daher denke ich dass es mit der Lautstärke zusammenhängen könnte und numid=2 nicht passt. Ähnlich wie bei Atze am 06. August hier in dem Thread. Ich habe es aber nicht hinbekommen, dass in der amixer Auflistung die Bluetooth-Lautstärke eingestellt werden kann. Hier mein Versuch dazu in der etc/asound.conf (pcm.bluetooth hatte ich zuerst definiert und darüber laufen auch Sprachausgabe und Liedwiedergabe):
pcm.bluetooth{
type bluetooth
device AA:AA:AA:AA:AA:AA
profile "auto"
}
pcm.bluetooth_softvol{
type softvol
slave.pcm "bluetooth"
control.name "BTVol"
control.card 0
}
Ist control.card 0 überhaupt richtig? Muss ich noch einen Schritt durchführen um bei amixer eine neue numid zu sehen? :-\
Hallo Marek,
mal
apt-get update && apt-get upgrade && apt-get install -f
probiert?
Zitat von: Marekh am 16 Januar 2016, 23:06:46
Guten Tag,
ich scheitere schon an der mplayer Installation.
nach: sudo apt-get install mplayer kommt:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mplayer : Depends: libavcodec53 (>= 6:0.8.3-1~) but it is not going to be installed or
libavcodec-extra-53 (>= 6:0.8.16) but it is not going to be installed
Depends: libavformat53 (>= 6:0.8.3-1~) but it is not going to be installed
Depends: libdvdnav4 (>= 4.2.0+20120524) but it is not going to be installed
Depends: libjpeg8 (>= 8c) but it is not installable
Depends: libx264-123 but it is not installable
E: Unable to correct problems, you have held broken packages.
Woran könnte es liegen?
Danke
Marek
...noch immer keine Antwort auf die Frage, ob das Modul einer mit Raspbian Jessie benutzt? Oder nutzt ihr "alle" noch Raspbian Wheezy?
Habe meinen Server mittlerweile auf Jessie aktualisiert. Keine Probleme bisher. Ist aber auch kein Rasp..
Zitat von: slecram am 18 Januar 2016, 12:28:48
...noch immer keine Antwort auf die Frage, ob das Modul einer mit Raspbian Jessie benutzt? Oder nutzt ihr "alle" noch Raspbian Wheezy?
Ich würde gerne mal wissen ob einer mein Problem mit einem PI2 und Raspian Jessie nachstellen kann....?
Danke Vidi, hatte ich versucht, ändert nichts.
Zitatapt-get update && apt-get upgrade && apt-get install -f
Ich benutze einen cubietruck 3
Marek
Zitat von: slecram am 18 Januar 2016, 12:45:51
Ich würde gerne mal wissen ob einer mein Problem mit einem PI2 und Raspian Jessie nachstellen kann....?
Hallo,
hatte jetzt ein ähnliches Problem, bei mir lag es daran das für den user fhem alle Aufrufe von "amixer.." immer blockiert haben. Und das passiert genau beim Starten des Moduls zum lesen der aktuellen Lautstärke.
Als root hat es immer funktioniert bzw. der Aufruf ist direkt mit einem Fehler beendet worden.
Änder bitte in FHEM/74_StreamRadio.pm die Zeile
$attr{$hash->{NAME}}{volume_get_command}="amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'";
in
$attr{$hash->{NAME}}{volume_get_command}="echo 50";
Danach den rasp einfach mal neu booten.
Gruß
Ben
Hi,
kannst du mir jetzt nochmal das aktuelle Modul zur Verfügung stellen? Bei den ganzen hin und her weiss ich garnicht mehr, welche Version jetzt aktuell ist.
Viele Grüße
? ;)
Ich verwende zurzeit das hier..
Hallo Zusammen,
Super, danke für das Modul. Bei mir funktioniert das Radio auf dem FHEM auch einwandfrei.
Bei mir läuft FHEM auf einem Rasberry PI2 mit Tablet UI. Wenn ich direkt im Tablet UI einen Webradio URL starte wird der Sound immer auf dem Gerät abgespielt wo ich den Link starte. d.h. wenn ich den FHEM auf IMAC starte kommt der Sound auf dem Mac Lautsprecher, wenn auf auf dem iPad auf dem iPad.
Aber wenn ich hier die Sender auswähle uns starte dann höre ich leider nix auf dem Gerät. :(
Gibt es hier eine Möglichkeit ?
Gruss, Markus
Hallo Zusammen,
Super, danke für das Modul. Bei mir funktioniert das Radio auf dem FHEM auch einwandfrei.
Bei mir läuft FHEM auf einem Rasberry PI2 mit Tablet UI. Wenn ich direkt im Tablet UI einen Webradio URL starte wird der Sound immer auf dem Gerät abgespielt wo ich den Link starte. d.h. wenn ich den FHEM auf IMAC starte kommt der Sound auf dem Mac Lautsprecher, wenn auf auf dem iPad auf dem iPad.
Aber wenn ich hier die Sender auswähle uns starte dann höre ich leider nix auf dem Gerät. :(
Gibt es hier eine Möglichkeit ?
Gruss, Markus
Zitat von: vidi am 05 Februar 2016, 22:48:00
Ich verwende zurzeit das hier..
super, danke. Jetzt bitte nochmal deine Einträge zum Streamradio aus der fhem.cfg :)
Danke
Hi,
auch mit deiner Version klappt es nicht. Also der Stream läuft, aber das FHEM geht nicht mehr.
Ich habe mir nochmal im Terminal mir "ps -aux" die aktiven Dienste anzeigen lassen (siehe Bild im Anhang oder unten im Code-Feld).
Sieht da einer Auffälligkeiten?
Sieht das bei euch in etwa genau so aus?
Taucht bei euch der Eintrag mit dem "mplayer" auch zweimal auf?
Vielleicht kann das Ganze ja mal einer mit Raspian Jessie nachtesten????
Glaube mittlerweile wirklich, dass es ein Jessie Problem ist. Vorher mit Wheezy hat es ja auch funktioniert. Leider bin ich nicht der Linux Freak... :(
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.5 0.4 5428 3900 ? Ss 20:11 0:05 /sbin/init
root 2 0.0 0.0 0 0 ? S 20:11 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 20:11 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 20:11 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/u8:0]
root 7 0.0 0.0 0 0 ? S 20:11 0:00 [rcu_sched]
root 8 0.0 0.0 0 0 ? S 20:11 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S 20:11 0:00 [migration/0]
root 10 0.0 0.0 0 0 ? S 20:11 0:00 [migration/1]
root 11 0.0 0.0 0 0 ? S 20:11 0:00 [ksoftirqd/1]
root 13 0.0 0.0 0 0 ? S< 20:11 0:00 [kworker/1:0H]
root 14 0.0 0.0 0 0 ? S 20:11 0:00 [migration/2]
root 15 0.0 0.0 0 0 ? S 20:11 0:00 [ksoftirqd/2]
root 17 0.0 0.0 0 0 ? S< 20:11 0:00 [kworker/2:0H]
root 18 0.0 0.0 0 0 ? S 20:11 0:00 [migration/3]
root 19 0.0 0.0 0 0 ? S 20:11 0:00 [ksoftirqd/3]
root 21 0.0 0.0 0 0 ? S< 20:11 0:00 [kworker/3:0H]
root 22 0.0 0.0 0 0 ? S< 20:11 0:00 [khelper]
root 23 0.0 0.0 0 0 ? S 20:11 0:00 [kdevtmpfs]
root 24 0.0 0.0 0 0 ? S< 20:11 0:00 [netns]
root 25 0.0 0.0 0 0 ? S< 20:11 0:00 [perf]
root 26 0.0 0.0 0 0 ? S 20:11 0:00 [khungtaskd]
root 27 0.0 0.0 0 0 ? S< 20:11 0:00 [writeback]
root 28 0.0 0.0 0 0 ? S< 20:11 0:00 [crypto]
root 29 0.0 0.0 0 0 ? S< 20:11 0:00 [bioset]
root 30 0.0 0.0 0 0 ? S< 20:11 0:00 [kblockd]
root 31 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/1:1]
root 32 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/2:1]
root 33 0.0 0.0 0 0 ? S< 20:11 0:00 [rpciod]
root 34 0.0 0.0 0 0 ? S 20:11 0:00 [kswapd0]
root 35 0.0 0.0 0 0 ? S 20:11 0:00 [fsnotify_mark]
root 36 0.0 0.0 0 0 ? S< 20:11 0:00 [nfsiod]
root 42 0.0 0.0 0 0 ? S< 20:11 0:00 [kthrotld]
root 43 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/0:1]
root 44 0.1 0.0 0 0 ? S< 20:11 0:01 [VCHIQ-0]
root 45 0.0 0.0 0 0 ? S< 20:11 0:00 [VCHIQr-0]
root 46 0.0 0.0 0 0 ? S< 20:11 0:00 [VCHIQs-0]
root 47 0.0 0.0 0 0 ? S< 20:11 0:00 [iscsi_eh]
root 48 0.0 0.0 0 0 ? S< 20:11 0:00 [dwc_otg]
root 49 0.0 0.0 0 0 ? S< 20:11 0:00 [DWC Notificatio]
root 51 0.0 0.0 0 0 ? S 20:11 0:00 [VCHIQka-0]
root 52 0.0 0.0 0 0 ? S< 20:11 0:00 [SMIO]
root 53 0.0 0.0 0 0 ? S< 20:11 0:00 [deferwq]
root 54 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/u8:2]
root 55 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/3:1]
root 56 0.0 0.0 0 0 ? S 20:11 0:00 [mmcqd/0]
root 57 0.0 0.0 0 0 ? S 20:11 0:00 [jbd2/mmcblk0p2-]
root 58 0.0 0.0 0 0 ? S< 20:11 0:00 [ext4-rsv-conver]
root 59 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/1:2]
root 60 0.0 0.0 0 0 ? S< 20:11 0:00 [ipv6_addrconf]
root 74 0.0 0.0 0 0 ? S< 20:11 0:00 [kworker/3:1H]
root 98 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/3:2]
root 107 0.0 0.2 9948 2780 ? Ss 20:11 0:00 /lib/systemd/systemd-journald
root 109 0.0 0.3 11880 3012 ? Ss 20:11 0:00 /lib/systemd/systemd-udevd
root 206 0.0 0.0 0 0 ? S 20:11 0:00 [kworker/2:2]
root 472 0.0 0.2 5548 2516 ? Ss 20:11 0:00 /usr/sbin/cron -f
root 479 0.0 0.2 3852 2404 ? Ss 20:11 0:00 /lib/systemd/systemd-logind
root 480 0.0 0.0 2564 232 ? Ss 20:11 0:00 /sbin/dhcpcd -q -b
avahi 484 0.0 0.2 3876 2580 ? Ss 20:11 0:00 avahi-daemon: running [pi-fhem.local]
message+ 486 0.0 0.3 5604 3048 ? Ss 20:11 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
nobody 496 0.0 0.1 2292 1456 ? Ss 20:11 0:00 /usr/sbin/thd --daemon --triggers /etc/triggerhappy/triggers.d/ --socket /var/run/thd.socket --pidfile /var/run/thd.pid --user nobody /dev/input/event*
avahi 503 0.0 0.1 3876 1428 ? S 20:11 0:00 avahi-daemon: chroot helper
root 506 0.0 0.0 0 0 ? S< 20:11 0:00 [kworker/1:1H]
root 513 0.0 0.2 32144 2700 ? Ssl 20:11 0:00 /usr/sbin/rsyslogd -n
root 519 0.0 0.4 7860 4404 ? Ss 20:11 0:00 /usr/sbin/sshd -D
root 539 0.0 0.1 4528 1756 tty1 Ss+ 20:11 0:00 /sbin/agetty --noclear tty1 linux
ntp 540 0.0 0.4 5768 3836 ? Ss 20:11 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -c /var/lib/ntp/ntp.conf.dhcp -u 107:112
root 541 0.0 0.2 4348 1972 ? Ss+ 20:11 0:00 /sbin/agetty --keep-baud 115200 38400 9600 ttyAMA0 vt102
root 549 0.0 0.5 12072 5052 ? Ss 20:11 0:00 sshd: pi [priv]
pi 557 0.0 0.3 4976 3268 ? Ss 20:11 0:00 /lib/systemd/systemd --user
pi 562 0.0 0.1 6784 1264 ? S 20:11 0:00 (sd-pam)
pi 566 0.0 0.3 12208 3424 ? R 20:11 0:00 sshd: pi@pts/0
pi 569 0.0 0.4 7040 4468 pts/0 Ss 20:11 0:00 -bash
root 632 0.0 0.9 44384 9388 ? Ssl 20:11 0:00 /usr/lib/packagekit/packagekitd
root 636 0.0 0.6 36680 6140 ? Ssl 20:11 0:00 /usr/lib/policykit-1/polkitd --no-debug
root 643 0.0 0.0 0 0 ? S< 20:11 0:00 [kworker/0:1H]
root 969 0.0 0.0 0 0 ? S 20:22 0:00 [kworker/0:2]
fhem 978 0.7 0.8 158552 7692 ? Sl 20:22 0:02 /usr/bin/pulseaudio --start --log-target=syslog
rtkit 979 0.0 0.2 21376 2084 ? SNsl 20:22 0:00 /usr/lib/rtkit/rtkit-daemon
fhem 984 0.0 2.8 35264 27304 ? S 20:22 0:00 perl fhem.pl fhem.cfg
fhem 990 4.1 3.3 154356 31548 ? Sl 20:22 0:12 mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
fhem 992 0.1 1.6 77236 15328 ? S 20:22 0:00 mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
root 994 0.0 0.0 0 0 ? S< 20:22 0:00 [kworker/2:1H]
root 1000 0.0 0.0 0 0 ? S 20:26 0:00 [kworker/3:0]
root 1001 0.0 0.0 0 0 ? S 20:26 0:00 [kworker/3:3]
pi 1003 0.0 0.2 5216 2188 pts/0 R+ 20:27 0:00 ps aux
Ich möchte doch nur, dass mein Radio wieder funktioniert :'(
Irgendwie glaub ich das mit Jessie nicht. Auf meinem Server läut auch Jessie.
Mein "ps axuf" sieht so aus:
fhem 4586 0.2 1.2 30284 25836 ? S Jan29 71:03 perl fhem.pl fhem.cfg
fhem 21479 0.0 1.1 30284 24716 ? S 21:13 0:00 \_ perl fhem.pl fhem.cfg
fhem 21480 2.2 0.4 125176 8944 ? S 21:13 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
fhem 21490 0.0 0.1 59276 2512 ? S 21:13 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
fhem 21491 0.5 0.1 20800 2168 ? S 21:13 0:00 \_ /usr/bin/pulseaudio --start --log-target=syslog
fhem 21494 0.0 0.0 20800 504 ? Ss 21:13 0:00 \_ /usr/bin/pulseaudio --start --log-target=syslog
fhem 21495 0.6 0.1 88456 3136 ? S 21:13 0:00 \_ /usr/bin/pulseaudio --start --log-target=syslog
Benutzt du die tablet-ui oder nur fhem?
Benutze ich ://xxx.xxx.xxx.xxx:xxxx/fhem?room=Radio friert es bei mir auch selten ein. Wenn ich dann die mplayer prozesse beende, funktioniert es wieder.
Hier noch meine fhem.cgf:
# Stream Radio
define SRadio StreamRadio /opt/fhem/WebStreams.txt
attr SRadio telnetport 7072
attr SRadio room Radio
attr SRadio group Radio
Moin,
ich rufe das Ganze auch direkt über den Raum in FHEM auf.
TabletUI läuft auf dem FHEM ebenfalls.
Hier meine Prozesse:
fhem 655 0.7 0.8 158552 7672 ? Sl 06:37 0:00 /usr/bin/pulseaudio --start --log-target=syslog
...
fhem 666 0.2 2.8 35208 27372 ? S 06:37 0:00 perl fhem.pl fhem.cfg
fhem 672 10.3 3.2 154356 30752 ? Sl 06:37 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
fhem 674 0.1 1.5 77236 15156 ? S 06:37 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
Radio läuft. Fhem steht.
Gebe ich dann
sudo kill 655
ein, stoppt der Stream. Fhem funktioniert immer noch nicht. Die Prozesse:
fhem 666 0.0 2.8 35208 27372 ? S 06:37 0:00 perl fhem.pl fhem.cfg
fhem 672 4.0 3.2 154356 30752 ? Sl 06:37 0:05 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
fhem 674 0.1 1.5 77236 15156 ? S 06:37 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
Also Neustart vom ganzen System. Ausgangslage ist wieder
fhem 655 0.7 0.8 158552 7672 ? Sl 06:37 0:00 /usr/bin/pulseaudio --start --log-target=syslog
...
fhem 666 0.2 2.8 35208 27372 ? S 06:37 0:00 perl fhem.pl fhem.cfg
fhem 672 10.3 3.2 154356 30752 ? Sl 06:37 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
fhem 674 0.1 1.5 77236 15156 ? S 06:37 0:00 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
Radio läuft. Fhem steht.
Gebe ich dann
sudo kill 674
ein, stoppt der Stream. Fhem funktioniert immer noch nicht. Die Prozesse:
fhem 655 0.7 0.8 158552 7672 ? Sl 06:37 0:00 /usr/bin/pulseaudio --start --log-target=syslog
...
fhem 666 0.0 2.8 35208 27372 ? S 06:37 0:00 perl fhem.pl fhem.cfg
fhem 672 4.0 3.2 154356 30752 ? Sl 06:37 0:05 \_ mplayer -quiet -nolirc -noconsolecontrols -playlist http://www.wdr.de/wdrlive/media/mp3/1live.m3u
Gebe ich dann
sudo kill 672
ein, verschwindet (komischerweise??) auch der andere FHEM Prozess. Es ist dann nur noch folgendes mit FHEM zu sehen:
fhem 655 0.4 0.7 93012 7224 ? Sl 06:37 0:01 /usr/bin/pulseaudio --start --log-target=syslog
Viele Grüße
slecram :)
Hallo liebe StreamRadio Freunde,
Ich habe heute durch Zufall noch mal in diesen Tread gesehen und mir mal versuchsweise die neuste Version des StreamRadios heruntergeladen. Bei lief noch eine ältere Version. Die Änderungen für die "attr"s habe ich gemacht. StreamRadio geht auch, aber ich habe zwei Fragen dazu, weil ich im Thread keinen Ansatz dafür gefunden habe.
1.) Die Lautstärkeregelung fängt erst richtig an bei fast 80%-100%. Davor kann ich die Lautstärke nur ganz gering regeln. War bei der Vorgängerversion noch in Ordnung. Was muß da geändert werden?.
2.) Der Radio Text mit Umlauten ist machmal kaum zu lesen. (zB. bei dem Sender "Radio Altstadtwelle" der hier in Köln fast jeden Titel mit vielen Umlauten spielt. (kölsch bedingt). Was muß da zusätzlich installiert werden, das die Darstellung Umlaute kann?
Ich hoffe Ihr könnt mir weiterhelfen. Im Anhang der Auszug aus der fhem.cfg
define streamradio StreamRadio /opt/fhem/log/WebStreams.txt
attr streamradio alias Lieber FERNSEH-müde als RADIO-aktiv!
attr streamradio fp_Radio 20,150,1,,
attr streamradio group Stream Radio
attr streamradio telnetport 7072
attr streamradio volume_get_command amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
attr streamradio volume_set_command amixer cset numid=1 -- %s%%
define Func_Volume notify Dum_Volume {\
my $vol = Value("Dum_Volume");;\
fhem "set streamradio VOLUME $vol"}
define Dum_Volume dummy
attr Dum_Volume alias Lautstärke
attr Dum_Volume fp_Radio 400,384,2,,
attr Dum_Volume setList state:slider,0,1,100
attr Dum_Volume webCmd state
#attr Dum_Volume group Stream Radio
#attr Dum_Volume room Küche
define streamradio_dummy dummy
define Radio_Url_notify notify streamradio { my $url = (ReadingsVal("streamradio", "StreamURL", ""));; fhem ("set streamradio_dummy PLAY $url")}
Vielen Dank und Gruss aus Kölle
Norbert
Hi Norbert,
die Änderungen für die Lautst. habe ich weiter vorne im Thread beschrieben und im "alten" Modul kommentiert (im Modul nach "fiedel" suchen). Das mit den Umlauten ist scheinbar schwer zu lösen. Ich konnte es damals nicht, was aber nicht bedeutet, dass es nicht geht... ;)
Gruß
Frank
Hallo Zusammen,
also auf meinem wheezy läufts super... hilft hier wahrscheinlich nicht.
Ich habe ein anderes Anliegen: Habe mir auf dem pi nen Ordner für Musik angelegt. Auf die schnelle habe ich mir auf einen Taster den Systembefehl
system("sh /opt/fhem/musik/ck/musik.sh &")
gelegt, wobei musik.sh einfach nur
mplayer -novideo -quiet -shuffle /opt/fhem/musik/ck/*
ausführt.
...Läuft auch ganz fein ;-)
Da bei einer TTS Ansage aber das mit der Lautstärke nicht will - kann nicht wie beim Radio ausmachen und wieder anmachen, -> sehr laute Musik zusammen mit Ansage ;-( -, habe ich einfach mal in der WebStreams.txt
Test CK|/opt/fhem/musik/ck/*
eingefügt.
--> Starten tuts, aber es "hängt" beim abspielen. Als wenn ich an den Turntables immer wieder mal den Finger drauf halte ;-)
Jmd. ne Idee, Zugriffszeiten auf die Datei oder so kanns ja schlecht sein, das skript macht ja prinzipiell nichts anderes?
Wenn das so mal läuft, werde ich mich demnächst mal mit Perl beschäftigen und Musik aus Verzeichnis einbinden. Vllt. sehe ich ja auch vor lauter Bäumen den Wald nicht und das gibts eh schon. Dann bitte schupsen - finds nämlich net.
Hallo zusammen!
Ich habe heute mal mit dem Modul gespielt und bin ziemlich beeindruckt! Läuft auf Anhieb super und ohne Macken.
Gibt es einen Trick, die Musik auf Pause statt auf Stopp oder Mute zu stellen?
Hintergrund: Bei TTS Ansagen speichere ich die alte Lautstärke, stoppe das Radio und aktiviere alles wieder mit den alten Werten nach der Ansage.
Klappt soweit wunderbar. Nachteil ist nur, dass bei einigen Radiostreams beim erneuten Verbinden direkt erst mal wieder Werbung geschaltet wird.
Vielleicht hat ja jemand eine Idee, wie man das umgehen kann?
Gruß, Martin
Zitat von: cocojambo am 24 Februar 2016, 13:17:35
2.) Der Radio Text mit Umlauten ist machmal kaum zu lesen. (zB. bei dem Sender "Radio Altstadtwelle" der hier in Köln fast jeden Titel mit vielen Umlauten spielt. (kölsch bedingt). Was muß da zusätzlich installiert werden, das die Darstellung Umlaute kann?
Das Problem habe ich (zumindest für die WDR Sender) lösen können.
Der Sendername wird im HTTP-Header ISO8859-1 codiert gesendet, die laufenden ICY-Infos sind dagegen in UTF8 codiert.
Deshalb müssen nur die Daten aus dem Header umcodiert werden, geht in perl mit
use Encode qw(decode encode);
...
$sendername = encode('utf8', decode('ISO-8859-1', $sendername);
Ich habe die StreamRadio_Play Funktion noch weiter geändert, daher hier nochmal komplett:
ub StreamRadio_Play($) {
my ($a)=@_;
my ($name,$StreamURL,$telnetPort,$aodev)=split("\\|",$a);
my $PLString ="";
my $Playlist = index($StreamURL, ".m3u");
if ($Playlist > -1){ $PLString="-playlist"};
my $aoString="";
if ($aodev ne "") { $aoString="-ao $aodev"; }
my $addr="localhost:$telnetPort";
my $telnetClient=IO::Socket::INET->new(PeerAddr => $addr);
open my $proc, '-|', "mplayer -msglevel all=0:network=4:demuxer=4 -nolirc -noconsolecontrols $aoString $PLString $StreamURL";
# open my $proc, '-|', "mplayer -really-quiet -nolirc -noconsolecontrols $PLString $aoString $StreamURL"; #fiedel: Arg. fuer weniger Logeintraege erg.
# fiedel:Arg.: -really-quiet oder -quiet verwenden um Logausgaben zu verringern!
#somehow find the correct charset alt latin1
#binmode $proc,':encoding(utf8)';
while (<$proc>) {
my $line=$_;
if (index($line,"Name :")==0) {
my $stat_name = encode('utf8', decode('ISO-8859-1', LTrim($line,9)));
syswrite($telnetClient, "setreading $name StationName ".$stat_name."\n");
}
if (index($line,"Genre :")==0) {
my $genre = encode('utf8', decode('ISO-8859-1', LTrim($line,9)));
syswrite($telnetClient, "setreading $name Genre ".$genre."\n");
}
if (index($line,"Bitrate:")==0) {
syswrite($telnetClient, "setreading $name Bitrate ".LTrim($line,9)."\n");
}
if (index($line,"ICY Info")==0) {
#$line=substr($line,10,length($line)-10);
$line=substr($line,10);
my @items=split(";",$line);
foreach my $item (@items) {
if (substr($item, 0, 12) eq 'StreamTitle=') {
my $value = substr($item, 12);
syswrite($telnetClient,"setreading $name StreamTitle ".TrimTagValue($value)."\n");
Log3 $name, 5, "Value= ".TrimTagValue($value)."\n";
}
}
}
}
}
Hallo,
ich habe heute auch mal das Radio in FHEM implementiert. Klappt bisher tadellos. Das einzige, dass mir aufgefallen ist, dass der Volume-Slider keine Zwischenwerte in der Lautstärke zulässt.
Er schaltet entweder komplett ein oder aus, egal ob ich 20%, 30% oder 99% eingebe.
Ich habe die Installation komplett nach Anleitung durchgeführt.
Das einzige was mir hierzu einfallen könnte: Ich habe vor Wochen schon den MPlayer installiert um ihn zu testen, und hierbei mit der Lautstärke herumgespielt. Kann es sein, dass vllt im Mixer eine feste Lautstärke vorgegeben ist, die von FHEM nicht angewählt werden kann?
In der Raspi-Console kann ich den Lautstärke-Wert mit folgendem Befehl problemlos ändern: amixer -c 0 set PCM 300-
In FHEM klappt die Lautstärke-Änderung leider nicht.
Habt Ihr vielleicht eine Idee?
Viele Grüße
amixer: Unable to find simple control 'Master',0
2016.05.29 21:34:57 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_StreamRadio.pm line 201.
amixer: Unable to find simple control 'Master',0
2016.05.29 21:35:00 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 281, <$proc> line 17.
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
amixer: Unable to find simple control 'Master',0
Bei mir funktioniert es leider auch nicht mit der Lautstärke, der Sender schein gestreamt zu werden aber zu hören ist nichts ....
In den Readings ist Volume auch leer.
Muss ich auf dem Pi noch irgendwelche Rechte vergeben oder sonst was triggern?
Vielen Dank
Ich habe das gleiche Problem. Kein Ton. Kämpfe schon seit Tagen. Habe schon alles Mögliche gelesen. Bisher hat nichts geholfen.
OK. Den Ton habe ich jetzt, kann aber die Lautstärke nicht einstellen. Das passt alles vorne und hinten nicht. Gibt es denn keine vollständig funktionsfähige Lösung?
nach Stundenlangem Suchen und Lesen erledigt.
bekomme die Liste der Sender nicht ins Tablet UI...
<div data-type="select" data-device="streamradio" data-list="STREAMS" data-get="STREAM" data-set="STREAM" class="cell w3x select"></div>
auf der normalen Fhem Seite klappt alles ..
Hallo Gemeinde,
habe auch das Problem mit der Senderliste im FTUI. Gibt es dafür schon eine Lösung?
EDIT:
Warum auch immer - einen Tag später geht es. = ERLEDIGT
Danke für das Modul.
Super!!
Ich habe die Änderungen von Kaihs eingefügt und nun klappts mit den Umlauten :) Allerdings hör ich nix :(
Rufe ich mplayer manuel lauf, klappts, mit fhem hör ich aber nix :(
su fhem -c "/usr/bin/mplayer -msglevel all=0:network=4:demuxer=4 -nolirc -ao alsa:device=hw=/dev/snd/controlC3 http://fritz.de/livemp3"
Name : Fritz vom rbb live h�ren - www.fritz.de (c) Rundfunk Berlin-Brandenburg
Website: http://www.fritz.de
Public : no
Bitrate: 128kbit/s
Cache size set to 320 KBytes
ICY Info: StreamTitle='Fritz - Und das hört man';
Audio only file format detected.
So ist es in fhem definiert:
Internals:
CFGFN
DEF /opt/fhem/74_StreamRadio_WebStreams.txt
NAME SR_EG_WZ
NR 1096
PLAYLIST /opt/fhem/74_StreamRadio_WebStreams.txt
STATE stopped
TYPE StreamRadio
Readings:
2016-08-30 20:20:56 Bitrate
2016-08-30 20:20:56 Genre
2016-08-30 20:20:56 StationName
2016-08-30 20:20:56 StreamTitle
2016-08-30 20:20:56 StreamURL
2016-08-30 20:20:56 state stopped
Helper:
Attributes:
DbLogExclude .*
aodev alsa:device=hw=/dev/snd/controlC3
room 99_Devices
telnetport 7072
verbose 5
volume_command amixer cset numid=1 -- %s%%
Allerdings gibt das fhem log nix brauchbares aus:
Cannot find HOME directory.
2016.08.30 18:59:34 5: Value= Fritz - Und das hört man
2016.08.30 19:00:07 1: Timeout for StreamRadio_Play reached, terminated process 15691
MPlayer interrupted by signal 15 in module: play_audio
Gibts die aktuellste Version immer im FHEM Contrib?
Allerdings, in den Internals habe ich auch kein STREAMS..... bin ratlos warum nicht...
Hier mal eine erweiterte Version. die letzte hatte noch viele bugs. Jetzt funktioniert es auch mit TabletUI sauber...
<div class="hbox row">
<div data-type="select"
data-device="SR_EG_Flur"
data-list="STREAMS"
data-get="Stream"
data-set="PLAY"
class="w3x top-space select">
</div>
<div data-type="push"
data-device="SR_EG_Flur"
data-icon="fa-stop"
data-background-icon="-"
data-set-on="STOP"
class="big">
</div>
</div>
<div data-type="label" data-device="SR_EG_Flur" data-get="StreamTitle" class="row"></div>
<div data-type="label" class="row bold top-space-2x">Volume</div>
<div data-type="slider"
data-device='SR_EG_Flur'
data-set="VOLUME"
data-get="Volume"
data-min="0"
data-max="100"
class="row centered w2x top-space horizontal squareborder" >
</div>
</li>
Internals:
DEF /opt/fhem/74_StreamRadio_WebStreams.txt
NAME SR_EG_Flur
NR 187
PLAYLIST /opt/fhem/74_StreamRadio_WebStreams.txt
STATE playing
STREAMS Eins Live:FFH 80er:FFH Top 40:Hitradio FFH:Radio Fritz:Sputnik
TYPE StreamRadio
Readings:
2016-09-02 10:17:20 Bitrate
2016-09-02 10:17:20 Genre
2016-09-02 10:18:06 StationName MDR Sputnik
2016-09-02 10:18:05 Stream Sputnik
2016-09-02 10:28:44 StreamTitle MDR SPUTNIK - Einfach die beste Musik und Null Werbung.?
2016-09-02 10:18:05 StreamURL http://www.sputnik.de/m3u/live.hi.m3u
2016-09-02 10:18:05 Volume 95
2016-09-02 10:18:05 state playing
Helper:
Running_pid:
abortArg
abortFn
arg SR_EG_Flur|http://www.sputnik.de/m3u/live.hi.m3u|7072|alsa:device=hw=/dev/snd/controlC4
bc_pid 204
finishFn
fn StreamRadio_Play
pid 27941
timeout
Attributes:
DbLogExclude .*
aodev alsa:device=hw=/dev/snd/controlC4
room 99_Devices
telnetport 7072
verbose 5
volume_command amixer -c4 cset numid=2 -- %s%%
Bitte mal testen...
Mein Problem mit dem Absturz des Fhem, wenn ich einen Stream starte, besteht immer noch. Wäre einer von euch so nett und könnte sich das ganze mal angucken?
Würde das komplette SD-Karten Image zur Verfügung stellen.
Bitte um PN, danke schon einmal vorab :)
Hi @gemx,
damit dein Modul mit anderen Anwendungen funktioniert wäre es nett wenn du die setList mit den verfügbaren Kommandos anpassen könntest.
Aktuell sieht das so aus:
<StreamRadio_LIST>
<StreamRadio name="streamradio" state="stopped" sets="PLAY STOP VOLUME"
Volume ist aber bestimmt nicht nur ein einfaches Kommando, sondern benötigt einen nachfolgenden Wert. Also wäre ein Slider toll. Was ist mit Kanalumschaltung? Gehört das nicht auch in die setList - inkl. der verfügbaren Kanäle? Also ein group Attribut.
Eine Doku zu den verfügbaren Werten findest du hier:
http://www.fhemwiki.de/wiki/DevelopmentModuleIntro#X_Set
Vielen Dank,
Matthias
Dank dem Modulupdate vom 02. September funktioniert bei mir endlich der Radiotext wieder!
Vielen Dank dafür! :D
Huhu, kennt das jemand? Es funktioniert alles, jedoch ist das Log damit voll:
Zitat2016.10.22 13:17:21 1: PERL WARNING: Useless use of numeric eq (==) in void context at /opt/fhem//FHEM/74_StreamRadio.pm line 112, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Subroutine StreamRadio_Initialize redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 349, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Subroutine StreamRadio_Define redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 360, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Subroutine StreamRadio_Undefine redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 377, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Useless use of numeric eq (==) in void context at /opt/fhem//FHEM/74_StreamRadio.pm line 404, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Subroutine StreamRadio_Set redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 383, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Subroutine CheckPlay redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 436, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Subroutine CheckTerminate redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 457, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Subroutine TrimTagValue redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 478, <$fh> line 183.
2016.10.22 13:17:21 1: PERL WARNING: Subroutine LTrim redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 484, <$fh> line 183.
2016.10.22 13:17:22 1: PERL WARNING: Subroutine StreamRadio_Play redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 491, <$fh> line 183.
2016.10.22 13:17:22 1: PERL WARNING: Subroutine StreamRadio_Shutdown redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 539, <$fh> line 183.
2016.10.22 13:17:22 1: PERL WARNING: Subroutine StreamRadio_summaryFn redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 547, <$fh> line 183.
2016.10.22 13:17:22 1: PERL WARNING: Subroutine GetPlaylist redefined at /opt/fhem//FHEM/74_StreamRadio.pm line 571, <$fh> line 183.
Mm, ich setze es auch ein, habe aber diese Fehler definitiv nicht
Gesendet von meinem Leap mit Tapatalk
Ich weiß auch nicht was es bedeutet. Nur das eigentlich nichts betroffen ist, außer das Log wird vollgestopft :D
Ich hätte da mal eine kurze Frage zur Playlist. Kann man mehrere mp3's hintereinander abspielen?
Als Beispiel: Test|http://xxx.xxx.x.x/test1.mp3;http://xxx.xxx.x.x/test2.mp3;...
Hi,
ich habe das neue Modul auch im Betrieb.
Abspielen ist OK, aber bei mir gibt es in den Internals keine STREAMS, wie hier
STREAMS Eins Live:FFH 80er:FFH Top 40:Hitradio FFH:Radio Fritz:Sputnik
meine WebStreams.txt sieht so aus:
MDR Thueringen|http://avw.mdr.de/livestreams/mdr_thueringen_live_128.m3u
Eins Live|http://www.wdr.de/wdrlive/media/einslive.m3u
Hitradio FFH|http://streams.ffh.de/radioffh/mp3/hqlivestream.m3u
FFH Top 40|http://streams.ffh.de/ffhchannels/mp3/hqtop40.m3u
FFH 80er|http://streams.ffh.de/ffhchannels/mp3/hq80er.m3u
Radio Fritz|http://fritz.de/livemp3
RadioTextAnzeige am TabletUI ist ok.
Hat jemand eine Idee
Fehler gefunden, hatte zwar das Modul auf der Platte, aber scheinbar nicht ordentlich geladen.
Eine Neuanlage des StreamRadio-Devices hat das Problem gehoben.
Hallo,
bei mir werden die ganzen Readings nicht gesetzt, mir kommt es so vor als ob die ganzen "syswrite" befehle nicht gesetzt werden.
Die Variablen werden alle richtig gefüllt.
Hat jemand das selbe Problem oder weiß jemand woran es liegt?
Gruppen fhem: fhem : dialout mail sudo audio
Internals:
DEF /opt/fhem/WebStreams.txt
NAME SRadio
NR 165
PLAYLIST /opt/fhem/WebStreams.txt
STATE playing
STREAMS Eins_Live:FFH 80er:FFH Top 40:Hitradio_FFH:Radio Fritz:Sputnik
TYPE StreamRadio
Readings:
2017-01-04 11:33:05 Bitrate
2017-01-04 11:33:05 Genre
2017-01-04 11:33:05 StationName
2017-01-04 11:33:05 Stream Sputnik
2017-01-04 11:33:05 StreamTitle
2017-01-04 11:33:05 StreamURL http://www.sputnik.de/m3u/live.hi.m3u
2017-01-04 11:33:05 state playing
Helper:
Running_pid:
abortArg
abortFn
arg SRadio|http://www.sputnik.de/m3u/live.hi.m3u|7072|alsa:device=hw=/dev/snd/controlC0
bc_pid 31
finishFn
fn StreamRadio_Play
pid 799
timeout
Attributes:
aodev alsa:device=hw=/dev/snd/controlC0
room Radio
telnetport 7072
verbose 0
volume_command amixer cset numid=1 -- %s%%
Habs selbst herausgefunden: es lag am Telnet Passwort.... wer lesen kann ;)
hmm, nach viel herumprobieren läuft nun Stream auf FHEM. (nutze übrigends Version 0.6 der pm)
Was nicht funktioniert ist TabletUI.
Stream Volume: geht
Stream Stoppen: geht
Stream auswählen: geht
Stream starten: geht nicht. FHEM zeigt mir zwar an, dass der Stream angeblich läuft, tuts aber ned.
Das kommt nur über TabletUI, Wenn ich den Stream dann in Fhem änder, geht alles . . .
fhem.cfg
# Stream Radio:
define SRadio StreamRadio /opt/fhem/webstream.txt
attr SRadio group Radio
attr SRadio room Radio
attr SRadio telnetport 7072
attr SRadio volume_get_command amixer get Master | egrep -o '[0-9]+%' | head -1 | sed -e 's/%//'
attr SRadio volume_set_command amixer set Master %s%%
# Dummy für Volume- Slider
define Dum_Volume_D dummy
attr Dum_Volume_D alias Volume
attr Dum_Volume_D group Volume
attr Dum_Volume_D room Radio
attr Dum_Volume_D setList state:slider,0,1,100
attr Dum_Volume_D webCmd state
# Notify für Volume- Slider
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set SRadio VOLUME $vol";;\
}
attr Func_Volume_N room Radio
tabletui index.html
<header>MULTIMEDIA</header>
<div class="container">
<div class="left">
<div data-type="select" data-device="SRadio" data-list="STREAMS" data-get="STREAM" data-set="STREAM" class="cell"></div>
<div data-type="switch" data-device="SRadio" data-set-on="PLAY" data-set-off="STOP" data-get-on="playing" data-get-off="stopped" data-icon="fa-music" data-on-color="white" class="cell"></div>
</div>
<div class="right">
<marquee><div data-type="label" data-device="SRadio" data-get="StreamTitle" class="cell big thin"></div></marquee>
<div data-type="volume" data-device='Dum_Volume_D' data-cmd="set" data-set="VOLUME" data-get="volume" data-min="0" data-max="100" dataclass="cell"></div>
<div data-type="label" class="top-narrow-2x">Volume</div>
</div>
</div>
Aki
Habe das Modul etwas angepasst,
durch ein WebCmd (PLAY:STOP) kann ich durch "PLAY" den letzten Stream fortsetzen. Dazu habe ich ein neues Reading "LastStream" implementiert.
Ursprünglich basierte meine 74_StreamRadio von "# Version = 0.5 (gemx, Andreas Kwasnik)" da Andreas hier schon tolle arbeit geleistet hat, danke dafür ;)
define SRadio StreamRadio /opt/fhem/WebStreams.txt
attr SRadio aodev alsa:device=hw=/dev/snd/controlC0
attr SRadio room Radio
attr SRadio telnetport 7072
attr SRadio verbose 4
attr SRadio volume_command amixer cset numid=1 -- %s%%
attr SRadio webCmd PLAY:STOP
Edit: Meine FTUI - Einbindung:
<div>
<div data-type="select"
data-device="SRadio"
data-list="STREAMS"
data-get="Stream"
data-set="PLAY"
class="select">
</div>
<div data-type="switch"
data-device="SRadio"
data-states='["stopped","playing"]'
data-icons='["fa-play","fa-stop"]'
data-get-on='["stopped"]'
data-get-off='["playing"]'
data-set-on='["STOP"]'
data-set-off='["PLAY"]'
data-background-colors='["white","green"]'
>
</div>
</div>
<div data-type="label" data-device="SRadio" data-get="StreamTitle" class="row small"></div>
<div data-type="slider"
data-device='SRadio'
data-set="VOLUME"
data-get="Volume"
data-min="0"
data-max="100"
data-color="green"
class="row centered horizontal squareborder top-space" >
</div>
HI,
hast du den letzten im Wiki verlinkten Stand als Basis genommen? Ich habe dort bzgl TabletUI einige kleine Anpassungen vorgenomen und die neue Version im Wiki verlinkt...
Bitte check das dochmal..
Hi,
ich habe mit Notepad++ (Compare) mein Modul mit der Version "Download StreamRadio- Modul mit Radiotext (etwas Fehlerbehaftet aber funktionsfähig): [2]" verglichen.
Es ist diese Version mit den zusätzlichen Anpassungen von mir.
Leider hatte sich ein Fehler ins Modul geschlichen (Zeile 194: "~"), sry dafür... hier das aktuelle Modul.
Hallo zusammen,
wie bekommt man das Streamradio als Multiroom Lösung konfiguriert?
Habe 2 Soundkarten, 2 mal in Fhem eingerichtet. Klappt alles so weit, nur ein ganz grosses Problem habe ich:
StreamRadio 1 stoppt wenn ich Streamradio 2 einschalte, und umgekehrt.
Anbei meine Fhem Einrichtung:
define streamradio StreamRadio /opt/fhem/WebStreams.txt
attr streamradio aodev alsa:device=hw=0
attr streamradio group Radio
attr streamradio room Radio
attr streamradio telnetport 7072
attr streamradio volume_command amixer cset numid=2 -- %s%%
define streamradio2 StreamRadio /opt/fhem/WebStreams2.txt
attr streamradio2 aodev alsa:device=hw=1
attr streamradio2 group Radio
attr streamradio2 room Radio
attr streamradio2 telnetport 7072
attr streamradio2 volume_command amixer cset numid=2 -- %s%%
Jetzt mal eine blöde frage: wie bekomme ich den Ton aufs Tablet?
oder kann ich nur auf dem Raspberry abspielen.
Mhh, wie wärs mit Bluetooth?
Ich nutze den Rasp an meiner Anlage über Klink.
Hallo,
kann mir jemand sagen, worauf diese Funktion in der 74_StreamRadio.pm wirkt:
Zeile 167: qx($cmd);
oder
Zeile 215: qx(killall mplayer);
Ich habe nämlich alles nach Wiki installiert und kann Play ausführen, jedoch Stop und Volume reagieren nicht richtig.
2017.01.26 16:58:51 1: PERL WARNING: Can't exec "killall": No such file or directory at ./FHEM/74_StreamRadio.pm line 168
Hallo zusammen,
mein Streamradio läuft soweit, nur die Lautstärke lässt sich nicht einstellen. Ich habe alle Beiträge hier gelesen und finde keine passende Lösung. Fakt ist:
Auf der Konsole läuft alles, sowohl mplayer als auch amixer. In FHEM und auch Tabletui lassen sich alle Funktionen aufrufen. Starten, Stoppen und aus der Liste auswählen geht. Nur eben die Lautstärke nicht. Ich habe dann einen mplayer Stream mit & auf der Konsole gestartet und siehe da, diesmal konnte ich in FHEM die Lautstärke einstellen....?! Nur der direkt in FHEM gestartete Stream lies sich nicht motivieren...
Ich habe auch mit - "fhem bash -c "amixer -c 0 set PCM 100%" - regeln können...und nun bin ich echt ratlos. Hier mein Config in Auszügen:
# Stream Radio:
define SRadio StreamRadio /opt/fhem/WebStreams.txt
attr SRadio group Geräte_Taster
attr SRadio icon rc_RADIO
attr SRadio room Radio
attr SRadio telnetport 7072
attr SRadio verbose 5
attr SRadio volume_command amixer cset numid=1 -- %s%%
attr SRadio webCmd PLAY:STOP
Wer hat noch eine Idee? Gruss Peer
attr SRadio volume_command amixer cset numid=1 -- %s%%
Probiere mal die anderen Zahlen durch. Bei mir hätte eigentlich auch numid=1 richtig sein müssen. Aber numid=3 funktioniert. Warum auch immer.
Hallo Martin,
danke!!! Tatsächlich hilft genau das! Unglaublich. Da ist das Modul wohl buggy. Leider bin ich nicht wirklich fit in perl, ich frage aber mal jemanden, der gut programmieren kann.
Gruss Peer
Hallo,
ich möchte nochmal fragen:
bei mir klappt das Verstellen der Lautstärke und das Stoppen des StreamRadio nicht.
Es wird dieser Teil in der 74_StreamRadio.pm nicht ausgeführt:
Can't exec "killall"
Dort ist diese Funktion enthalten: qx(killall mplayer)
Auf welches weitere Modul wirkt sie sich aus?
qx ist eine Perl Funktion um Systembefehle abzusetzen, sprich der wird direkt ausgeführt wie wenn du das in die Shell eingeben würdenst. In den Fall wird der Prozess (mplayer) gekillt / gestoppt.
Danke, Zage.
Ich habe den Befehl dann mal in der 74_StreamRadio.pm in geschweifte Klammern gesetzt.
Dann kam zwar kein Fehler mehr, aber funktioniert hat der Ton dann dennoch nicht mehr.
Letztlich hat das Ganze zu viel negativen Einfluß auf mein sehr gut funktionierendes TTS.
Schade, aber ich hab auch nicht die Zeit und Muse solche blöde Fehler auszumerzen
So folgte die Konsequenz, dass das StreamRadio rausflog ...
Ähm, ist dein User "fhem" in folgenden Gruppen:
user@debian:~# sudo addgroup fhem dialout
user@debian:~# sudo addgroup fhem mail
user@debian:~# sudo addgroup fhem audio
user@debian:~# sudo addgroup fhem sudo
Überprüfung:
user@debian:~# sudo groups fhem
fhem : dialout mail sudo audio
in der "sudo visudo" muss fhem auch eingetragen sein.
fhem ALL=NOPASSWD: ALL
Qelle: https://wiki.fhem.de/wiki/Modul_StreamRadio_Einrichtungshilfe
Ja, ich hatte sogar als Antwort: "fhem : dialout mail sudo audio video"
"sudo visudo" passte auch ...
Hallo,
ich habe Probleme bei der Einrichtung - und zwar schon im Linuxteil. Wenn ich nach der Anleitung/Einrichtungshilfe gehe, komme ich bis zum Test. Der Stream wird abgegriffen, aber es wird nichts ausgegeben. Beim Versuch die Lautstärke zu ändern kommt [AO_ALSA] Unable to find simple control 'PCM',0.
Das ganze soll auf einem Cubietruck laufen. Irgendetwas passt da mit dem Alsamixer und der Ausgabe nicht.
Wer hat Hinweise für mich?
Gruß Christoph
Edit: Problem gelöst, in der "asound.conf" war die falsche (SPDIF) Karte eingestellt und nicht der Klinkenausgang. Umgestellt und schon lief es --- geiles Modul, Danke
Habe ein problem
Und sagt fhem bei mir das es den Player nicht kennt.
Habe mich an die anleitung gehalten??
Habe ich irgendetwas vergessen oder falsch gemacht??
Habe sogar die genommen https://wiki.fhem.de/wiki/Modul_StreamRadio_Einrichtungshilfe
Hab es hinbekommen. ;)
So nun mal wieder eine Frage. Habe ich irgendetwas vergessen. Ich bekomme unter Tablet Uni meine Radiosender nicht angezeigt. Da steht nur keine Objekte. Kann mir wer vielleicht helfen? Musisch noch irgend einen dummi anlegen?
Stimmt die Definition - speziell der Pfad zur WebStreams.txt ?
Keine Tippfehler? Groß-/Kleinschreibung beachtet?
Was meinst Du mit Tablet Uni? Das Web-Interface?
Gruß Christoph
Hi
Also über fhem kann ich den radiosender starten.
Ja ich mache das Webinterface.
habe mal meinen Code dabei gepackt. Oder muss ich vielleicht bei Data-list oder so noch etwas besonders/anderes eintragen??
so wie der ordner heist wo die Streams hinterlegt sind.
<div class="left">
<div data-type="select" data-device="radio" data-list="STREAMS" data-get="STREAM" data-set="STREAM" class="cell"></div>
<div data-type="switch" data-device="radio" data-set-on="PLAY" data-set-off="STOP" data-get-on="playing" data-get-off="stopped" data-icon="fa-music" data-on-color="white" class="cell"></div>
</div>
<div class="right">
<marquee><div data-type="label" data-device="radio" data-get="StreamTitle" class="cell big thin"></div></marquee>
<div data-type="volume" data-device='Dum_Volume_D' data-cmd="set" data-set="VOLUME" data-get="volume" data-min="0" data-max="100" dataclass="cell"></div>
<div data-type="label" class="top-narrow-2x">Volume</div>
</div>
</div>
</li>
Internals:
CFGFN
DEF /opt/fhem/WebStreams.txt
NAME radio
NR 72
PLAYLIST /opt/fhem/WebStreams.txt
STATE stopped
TYPE StreamRadio
Readings:
2017-02-13 17:54:37 Bitrate
2017-02-13 17:54:37 Genre
2017-02-13 17:54:37 StationName
2017-02-13 17:54:37 StreamTitle
2017-02-13 17:54:37 StreamURL
2017-02-13 17:54:37 state stopped
Helper:
Attributes:
room Musik
telnetport 7072
volume_command amixer cset numid=1 -- %s%%
weiß keiner was ich noch vergessen habe oder falsch gemacht habe?
Fehler gefunden. Aber wie bekomme ich den weg?? ich habe hier in der seiten davor gefunden das dort die Streams mit Doppelpunkten getrennt hintereinander stehen. Nur bei mir gibt es sowas nicht.
Problem gelöst weiß nur nicht wo mein fehler war. Habe das Radio nochmals gelöst und wieder neu installiert. Dann lief er
Ich hab da mal ein kleines problem.
das Modul funzt zwar super, aber wenn ich im Pulldown Menü (Wo die Streams zum auswählen sind)
auf aus drücke stoppt der Stream kurz und geht dann wieder weiter.
War vorher nicht so.
Hab das Modul aus post #350 von Zage
Hi
Ich habe dieses Problem nicht. Muss aber auch dabei sagen das ich das vom aller ersten Beitrage genommen habe.
Hi
Hat jemand von euch Technobase.fm auf seinem Radio am laufen??
Falls ja womit spielt ihr dieses ab?? Ich habe immer so ein knistern in den Boxen. Dieses ist aber nur bei Tb.
Hat vielleicht jemand von euch einen anderen Streamlink.
An meinem pi ist einen Maya 44 usb angeschlossen.
wie gesagt es ist nur bei Tb
danke schon mal
Hallo Leute
Hoffe ihr könnt mir helfen. Ich besitzen dieses Stream Modul. Benutze Tablet ui 2.5 . In gehen aktualisierte sich meine radio Liste, nur leider nicht in meiner ui Liste. Kann mir einer sagen wieso. Habe das Modul auch schon neu aufgesetzt und auch das Modul neu geladen. Alles gilt nicht.
Gesendet von meinem ALE-L21 mit Tapatalk
Moin zusammen,
habe gerade das Modul (V0.5) mal getestet, läuft auf anhieb ;)
Allerdings funktioniert die Lautstärkeregelung nicht.
Mir ist aufgefallen das in der Variable in Zeile 126 my $vol_in=$a[2]; nix drin steht habe diese somit in Zeile 100 verlegt. sieht dann wie folgt aus:
99 my $cmdname= $a[1];
100 my $vol_in=$a[2];
dann noch aus attr volume_command amixer cset numid=1 -- %s%% --> attr volume_command sudo amixer cset numid=1 -- %s%% gemacht und Lautstärke funktioniert.
Allerdings wird mein Logfile vollgeschieben:
cache fill: 0.00% (0 bytes) 2017.05.24 13:50:26 1: PERL WARNING: Odd number of elements in hash assignment at ./FHEM/74_StreamRadio.pm line 226, <$proc> line 17.
A: 0.0 (00.0) of -0.0 (unknown) 2.3% 36%
A: 0.0 (00.0) of -0.0 (unknown) 2.3% 33%
A: 0.5 (00.5) of -0.0 (unknown) 2.3% 35%
A: 0.5 (00.5) of -0.0 (unknown) 2.5% 33%
A: 1.0 (01.0) of -0.0 (unknown) 2.5% 35% usw.
hat jemand ne Lösung wie ich das abstellen kann?
Mein Radioplayer funktoniert auf einmal nicht mehr. Gestern Abend lief er noch. :(
Die Soundkarte ist auch heile. Beim Abfragen der Karten wird sie auch angezeigt. Über meinem normlen PC spielt sie auch Ton ab funktoiert also. So wie sie soll.
Wird ja auch vom PI erkannt. Ton wird nur über HDMI abgespielt. :( wie ändere ich diesen zustand nun? das er sich nur die soundkarte nimmt. Neustarten hat auch nix gebracht.
Ich bin nicht gerade der gut was sachen pi angeht.
Hallo
Seit ich SRadio auf einen Raspberry 3 mit Hifiberry Soundkarte verwende verstellt sich nach ein paar Minuten die Einschaltlautstärke.
Der VOLUME Regler bleibt wo er ist doch die Musik startet mit voller Lautstärke.
Hat jemand eine Idee woran das liegen kann.
Hilfe :-)
Ich hab mein System neu aufgesetzt und erinnere mich noch daran das man irgendwas am alsamixer ändern muss damit die Lautstärke via Slider einstellbar ist. Aktuell kann ich in FHEM nur wählen zwischen 0 (stumm) und irgendwas anderem. Der Slider greift nicht mehr.
Irgendwas musste man da ändern, aber ich finde es einfach nicht mehr. Habt ihr da einen Tipp?
Du meinst vermutlich das (https://forum.fhem.de/index.php/topic,18531.msg135119.html#msg135119)?
Leider nicht ganz.
numid stimmt, jedoch ist die Lautstärke von 0-80% so gut wie kaum hörbar gestaffelt, danach wird es in sehr kurzen schritten massiv lauter.
Das brachte also irgendwie nix :P
Hallo zusammen,
das StreamRadio läuft bei mir sehr gut, aber ich habe jetzt eine Bluetooth Box gekauft und weiss nicht mehr was ich noch einstellen muss.
Auf der SSH Konsole starte ich ein Stream so: mplayer -ao pulse -playlist http://www.wdr.de/wdrlive/media/einslive.m3u und der Ton kommt aus der Bluetooth Box
Den selben Stream starte ich aus dem StreamRadio unter Fhem, und der Ton kommt aus dem 3.5 Klincken Stecker.
Hat einer noch eine Idee was man da machen kann das der Ton auch aus der Bluetooth Box kommt.
Grüße
Sandro
Hallo zusammen,
habe mir StreamRadio wie beschrieben eingerichtet.
Funktioniert auch soweit ganz gut, Radiostream wird über die 3,5mm-Klinke am Pi3 ausgegeben. Nur zwei Probleme:
- Volume kann nicht geändert werden, bei set Radio VOLUME 20 passiert nichts, Lautstärke ändert sich nicht
- Stream kommt teilweise ziemlich abgehackt
Hat jemand Lösungen dafür?
Viele Grüße
Oliver
Ich versuche mich auch gerade an der Volumeneinstellung. Ich bin jetzt von Jessie auf Stretch umgestiegen.
Dort wird BlueAlsa angeboten, mit dem ich einen Bluetoothspeaker betreibe. Die Lautstärke kann ich setzten mit z.B.
amixer -D bluealsa sset 'AuraBox-audio - A2DP' 80%
Leider funktioniert das nich mit dem volumen_command.
amixer -D bluealsa sset 'AuraBox-audio - A2DP' %s%%
Auch habe ich es wie beschrieben probiert.
root@raspi3-fhem:~# amixer -D bluealsa controls
numid=6,iface=MIXER,name='AuraBox-audio - A2DP Playback Switch'
numid=5,iface=MIXER,name='AuraBox-audio - A2DP Playback Volume'
numid=4,iface=MIXER,name='AuraBox-audio - SCO Capture Switch'
numid=3,iface=MIXER,name='AuraBox-audio - SCO Capture Volume'
numid=2,iface=MIXER,name='AuraBox-audio - SCO Playback Switch'
numid=1,iface=MIXER,name='AuraBox-audio - SCO Playback Volume'
Leider funktioniert das auch nicht. Die gleiche Fehlermeldung bkomme ich bei allen numid's.
root@raspi3-fhem:~# amixer -D bluealsa cset numid=5 -- 80%
amixer: Cannot find the given element from control bluealsa
root@raspi3-fhem:~#
edit:
Es läuft jetzt. Ich habe vergessen das Notify anzulegen....
# Notify für Volume- Slider
define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set SRadio VOLUME $vol";;\
}
attr Func_Volume_N room Radio
Guten Morgen zusammen, da es so langsam schöner draußen wird und die
Planung wieder in fahrt kommt würde ich gerne an meiner Outdoorküche
einen Raspi verbauen der mittels Streamradio für Beschallung sorgt.
Ist es möglich das ich den Hauptraspi per fhem2fhem mit dem Outdoor Raspi
verbinde um die Bedienung des Radios über meine FHEM App zu tätigen?
Oder gibt es da vielleicht eine andere Lösung?
Erfolgreiche Woche wünsche ich.
Das sollte gehen, aber eine schöne Lösung ist auch den Raspi zur Squeezebox zu machen (https://forum.fhem.de/index.php/topic,78445.msg705790.html#msg705790) und den LMS und das Modul (https://forum.fhem.de/index.php/topic,17667.0.html) zu nutzen.
Zitat von: fiedel am 20 Februar 2018, 09:06:49
Das sollte gehen, aber eine schöne Lösung ist auch den Raspi zur Squeezebox zu machen (https://forum.fhem.de/index.php/topic,78445.msg705790.html#msg705790) und den LMS und das Modul (https://forum.fhem.de/index.php/topic,17667.0.html) zu nutzen.
Auch nett ... Habe mich mal dran gesetzt. Wenn ich das richtig verstanden habe muss ich erst auf dem Haupt Pi LMS installieren. Wenn ich
sudo service logitechmediaserver status
auf dem Pi eingebe kommt
logitechmediaserver.service - LSB: Startup script for the Logitech Media Serve
Loaded: loaded (/etc/init.d/logitechmediaserver; generated; vendor preset: en
Active: active (running) since Wed 2018-02-21 21:25:40 CET; 8min ago
Docs: man:systemd-sysv-generator(8)
Process: 813 ExecStop=/etc/init.d/logitechmediaserver stop (code=exited, statu
Process: 849 ExecStart=/etc/init.d/logitechmediaserver start (code=exited, sta
CGroup: /system.slice/logitechmediaserver.service
├─ 853 /bin/bash /usr/sbin/squeezeboxserver_safe /usr/sbin/squeezebox
└─1181 sleep 5
was ich interpretiere als alles ok. Ich bekomme aber kein Webinterface vom LMS unter IPRaspi:9000.
Kann mir dabei einer helfen?
Gruß
Mirco
Tag zusammen,
kämpfe heute den ganzen Tag mit meiner Bluetoothbox auf meinem Raspi Zero W herum und habe nach langem Basteln endlich einen vernünftigen Verbindungsaufbau hinbekommen - der Sound wird jetzt via Bluetooth ausgegeben.
Jetzt habe ich mir unter FHEM (läuft auf der gleichen Hardware) das StreamRadio Mudul installiert und es lt. der Einrichtungshilfe eingerichtet, Rechtevergabe etc. scheint alles zu klappen.
Starte ich von der SSH-Konsole (Putty) folgenden Befehl :
Zitatmplayer -ao alsa http://fritz.de/livemp3
wird der Stream abgespielt, mit vorangestelltem
Zitatsudo
jedoch interessanterweise nicht...
Im FHEM-Modul werden die Readings wie Bitrate, StationName etc. angezeigt, von daher gehe ich davon aus, dass hier an und für sich alles passt. Alle "Sender" aus der
ZitatWebStreams.txt
tauchen auf und lassen sich auswählen.
Ton höre ich jedoch keinen, obwohl "playing" angezeigt wird. Im Log finde ich folgende Fehlermeldungen:
Zitat018.08.18 19:28:02 1: Timeout for StreamRadio_Play reached, terminated process 644
MPlayer interrupted by signal 15 in module: play_audio
Cannot find HOME directory.
Couldn't resolve name for AF_INET6: fritz.de
Couldn't resolve name for AF_INET6: www.fritz.de
Couldn't resolve name for AF_INET6: rbb-fritz-live.cast.addradio.de
Jetzt steh ich auf dem Schlauch....
Für Lösungsansätze wäre ich dankbar!
Die fehlermeldung sagt nur, das ein Timeout aufgetreten ist. Was kommt im Log davor? Ist das Verbose 1?
Wenn immer noch keine Idee, dann mach mal auf der Konsole ein "su fhem" und führe den identischen mplayerbefehl als fhem aus.
Befindet sich fhem in der Gruppe "audio" ?
Servus,
ich überlege gerade das Modul einzusetzten dazu habe ich zwei Fragen:
* Wird das noch weiter gepflegt oder ist das mittlerweile tot?
* Kommt es noch in das offiziellen repro?
Danke und Grüße,
Ulli
Hallo Zusammen!
Seit ich ein Update auf Rasbian Strech gemacht habe, funktioniert der StreamPlayer nicht mehr. Grund dafür ist, das sich der Mplayer geändert hat und dieser nun wohl mpv heißt.
Ich würde den StreamPlayer gerne wieder benutzen können, kenne mich aber leider zu wenig aus, um selbst das Modul umbauen zu können.
Hat jemand denn das gleiche Problem?
Zitat von: Toto1973 am 02 Oktober 2018, 10:28:42
...funktioniert der StreamPlayer nicht mehr.
Meinst du das StreamRadio aus diesem Thread, oder einen anderen "StreamPlayer"?
Ups, ja, ich meinte natürlich das StreamRadio-Modul (vor lauter mplayer...).
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?
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!
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".
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.
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.
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.
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!?
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
Kommt das Modul gar nicth über update ?
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.