Modul für WLAN Radios mit Frontier Silicon Chipsatz (SilverCrest/Medion/Hama...)

Begonnen von mumpitzstuff, 07 November 2017, 00:21:27

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Das liegt daran, das ein Stream != Dlna ist. Wenn das Radio im Modus Internetradio ist, dann kann es mit Streams wie Icecast umgehen. Wenn es in dem Dlna Modus ist, dann funktionieren diese Streams nicht. Hier muss man einen Dlna Server haben. Deine Fritzbox wandelt im Prinzip den Icecast Stream in einen Dlna Stream um.
Ich habe z.B. einen minidlna Server aufgesetzt und kann dann auch Playlists, Files usw. Problemlos abspielen. Allerdings ist es bei Dlna fast unmöglich über Deeplinks einen direkten Zugriff auf irgendwas zu erhalten, weil sich vermutlich die dahinter liegenden Dateien ändern können. Der Dlna Mist ist also eher darauf ausgelegt das man sich durch Verzeichnisse durchquält und dann eine bestimmte Datei auswählt und abspielt. Irgendwie Technik von vorgestern, wenn man sich das Alter der Upnp/Dlna Spezifikation aber mal ansieht, auch nicht weiter verwunderlich.

skyle

Als "eher Mitleser" ein Kommentar zur Nutzung von DLNA, da ich über die Formulierung "durch Verzeichnisse durchquäl[en]" gestolpert bin:

Mein Setup:
- miniDLNA auf Raspberry mit Musik auf angeschlossener SSD
- Silvercrest Lautsprecher SMRS 18 im Modus DMR
- Android App "Hi-Fi Cast" als DLNA-Controller
Die App listet die Musik nach Album, Interpret, Genre, Playlist und Verzeichnis; zudem gibt es eine lokale Warteschlange, und die App ist sehr stabil. Wenn die eigene Musik gut getagged ist, braucht man die Verzeichnissicht i.d.R. nicht. Daher meine klare Empfehlung, wenn man über DLNA lokale Musik abspielen möchte.

<träum> Natürlich wäre toll, wenn man einen DMC mit dieser App-Funktionalität auch in fhem hinkriegen könnte. </träum>

Aber da wir hier im Thread zum SIRD-Modul sind: Herzlichen Dank für das Modul! Ich nutze es schon sehr lange für die Steuerung des Internetradios und Ausspielen von Ansagen. Ich bin sehr zufrieden damit!
fhem@Raspberry, CUL, HM-CFG-USB, ConBee II, Mosquitto, MySensor, div. Aktoren (Rollladen/Licht/Steckdosen), Temperatur/Feuchtigkeit über S300TH und WDE1.

mumpitzstuff

Ich habe jetzt auf jeden Fall mal das Problem mit dem Icecast Server gefunden. Icecast unterstützt keine HEAD Requests.

HEAD /stream HTTP/1.1
HOST: <ip>:8000
Content-Length: 0

HTTP/1.0 400 Bad Request
Server: Icecast 2.4.2
Date: Fri, 10 May 2019 23:02:07 GMT
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Pragma: no-cache
Access-Control-Allow-Origin: *

<html><head><title>Error 400</title></head><body><b>400 - unknown request</b></body></html>


Zumindest mein Radio macht aber definitiv ein HEAD Request, um den Content Type vorab zu ermitteln. Funktioniert das nicht, dann nimmt das Radio den Stream nicht entgegen.

Es scheint aber einen Ableger zu geben, der das können soll: https://github.com/karlheyes/icecast-kh

Ansonsten könntest du einen anderen Media Server wie z.B. Plex versuchen.

mumpitzstuff

Mit Icecast-kh geht es ohne Probleme. Ich versuche mal ein Tutorial aufzusetzen.

mumpitzstuff

Zitat von: skyle am 10 Mai 2019, 20:09:25
Als "eher Mitleser" ein Kommentar zur Nutzung von DLNA, da ich über die Formulierung "durch Verzeichnisse durchquäl[en]" gestolpert bin:

Mein Setup:
- miniDLNA auf Raspberry mit Musik auf angeschlossener SSD
- Silvercrest Lautsprecher SMRS 18 im Modus DMR
- Android App "Hi-Fi Cast" als DLNA-Controller
Die App listet die Musik nach Album, Interpret, Genre, Playlist und Verzeichnis; zudem gibt es eine lokale Warteschlange, und die App ist sehr stabil. Wenn die eigene Musik gut getagged ist, braucht man die Verzeichnissicht i.d.R. nicht. Daher meine klare Empfehlung, wenn man über DLNA lokale Musik abspielen möchte.

<träum> Natürlich wäre toll, wenn man einen DMC mit dieser App-Funktionalität auch in fhem hinkriegen könnte. </träum>

Aber da wir hier im Thread zum SIRD-Modul sind: Herzlichen Dank für das Modul! Ich nutze es schon sehr lange für die Steuerung des Internetradios und Ausspielen von Ansagen. Ich bin sehr zufrieden damit!

Das du den Input entsprechend setzen kannst und dann mit get ls ebenfalls auf den miniDLNA Server zugreifen und etwas abspielen kannst ist dir bekannt?

mumpitzstuff

Icecast-kh Installation:

sudo apt-get install icecast2 libxml2-dev libxslt1-dev libcurl4-openssl-dev libvorbis-dev libogg-dev

wget https://github.com/karlheyes/icecast-kh/archive/icecast-2.4.0-kh12.tar.gz

tar xzf icecast-2.4.0-kh12.tar.gz

cd icecast-kh-icecast-2.4.0-kh12

./configure

make

sudo make install

Jetzt ersetzen wir die oben über apt installierte icecast2 version mit unserer selbst kompilierten Version. Das ist im Moment nicht wirklich sauber, mir ist aber auf die Schnelle nichts besseres eingefallen.

sudo service icecast2 stop

sudo cp /usr/local/bin/icecast /usr/bin/icecast2

Jetzt muss noch die Konfiguration neu erstellt werden, da sich das Format geändert hat:

sudo cp icecast.xml.dist /etc/icecast2/icecast.xml

Einstellungen anpassen:

sudo nano /etc/icecast2/icecast.xml

sudo service icecast2 restart

Dann sollte die neue icecast Version laufen...

skyle

Ja, 'get ls' habe ich ausprobiert, ist aber nicht wirklich praktikabel. Daher bin ich für DLNA-Nutzung auch auf diese App gewechselt. Grundsätzlich finde ich DLNA in der Nutzung vergleichbar komfortabel, wie z.B. proprietäre Musiksteuerungen von iTunes bis Spotify. Dabei ist DLNA zumindest ein herstellerübergreifender Standard*, was ich als Vorteil ansehe. Abseits von Selbstbaulösungen (mpd, squeezebox,...) ist mir kein Weg bekannt, im Laden gekaufte Netzwerk-Audiogeräte mit eigener Musik zu beschicken. Wenn da jemand was weiß, bitte melden!  ::)

(* Einschränkung zur Vollständigkeit: "Standard" stimmt leider nur bedingt, weil man neben dem Label "DLNA" immer schauen muss, welche Dateiformate verarbeitet werden können.)

Es sollte aber kein Angriff sein. Wie gesagt: Ich bin sehr zufrieden mit dem SIRD-Modul. - Und mir ist auch bewußt, dass das DLNA-Protokoll mangels Offenlegung eher kein Vergnügen ist.
fhem@Raspberry, CUL, HM-CFG-USB, ConBee II, Mosquitto, MySensor, div. Aktoren (Rollladen/Licht/Steckdosen), Temperatur/Feuchtigkeit über S300TH und WDE1.

raiderxxl

Hallo,

Danke, werde ich Dienstag (bin erst Dienstag wieder zuhause) sofort versuchen!

Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

raiderxxl

Guten Morgen,

Umstellung auf Icecast2KH vollzogen und Funktioniert auch jetzt mit direktem Stream! Cool. DANKE!

Kleiner Hinweis zum HowTo

sudo cp icecast.xml.dist /etc/icecast2/icecast.xml
sudo cp /conf/icecast.xml.dist /etc/icecast2/icecast.xml
Wobei ich kein großer Unterschied zu meiner Original sehen konnte..


Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

mumpitzstuff

bei mir habe ich mit:

service icecast2 status

diverse Fehlermeldungen gesehen, wenn ich das nicht gemacht habe. Ich hätte gern einen eigenen Service angelegt wie z.B. icecast2kh oder so, nur leider habe ich auf die Schnelle nicht die Vorlage des icecast2 gefunden und ich bin da auch nicht so fit, das eben mal selbst zu schreiben. Bei jedem Update von icecast2 über apt wird jetzt aber vermutlich die executable wieder überschrieben.

raiderxxl

Hi

das sollte über apt-mark hold NameDesPakets
verhindert werden oder?

Grüßle

pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

raiderxxl

Guggug,
ich bims  ;)

Mir ist jetzt aufgefallen das wenn ich meinen stream laufen habe... set stream blablabla..
das speak nicht mehr funktioniert... der stream stoppt... keine speak .... stream wird auch nicht mehr gestartet...

Gibt es da ne Lösung? oder muss ich jetzt vorher den stream stoppen, speak machen, und danach den stream wieder starten?


Grüßle

Pascal
FHEM VM Ubuntu-Server auf Intel® NUC-Kit NUC6i5SYH ESXi 6.5
FHEM auf Raspberry2 OSMC Hyperion und TTS

Homematic,TradfriHub und Lampen,WIFILight,Fritzbox,FritzDECT,NanoCul433,IT Steckdosen,Diverse Nachbar-Sensoren,XiaomiZigbee,
ESP_Signalduino,ESPEasy,Amad,HarmonyHub,WLED,MQTT,Tasmota....

mumpitzstuff

Muss ich mir ansehen. Habe ich ehrlich gesagt noch nicht versucht gehabt. Vermutlich kommt da was durcheinander, das sollte aber eigentlich nicht sein.

Tobias

HI,
bzgl TTS Funktionalität möchte ich empfehlen keine Eigenlösung hier zu implementieren sondern die Funktionalität des TTS Moduls hier einzubinden (analog dem SIP Modul).
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

mumpitzstuff

Leider schafft das vermutlich mehr Probleme als es lösen würde. Da ich die Ansage auf 100 bzw. 200 Zeichen beschränke, ist der Aufwand überschaubar (~20 Zeilen Code). Der Code zur Anbindung des TTS Devices wäre vermutlich größer. Hier müsste ich die mp3 Generierung anstoßen, dann irgendwie asynchron auf das Event reagieren wenn es fertig ist bzw. eine Abbruchbedingung finden, wenn nichts kommt. Das Streamen per Dlna muss ich dann immer noch machen. Das TTS Modul würde mir lediglich das mp3 generieren.
Aber ich kann mal gucken, ob ich das optional anbieten kann.

Zuerst muss ich aber Zeit finden, mir das oben stehende Problem anzusehen...