Hallo zusammen, ich versuche grade das oben genannte Beispiel umzusetzen.
Es ist alles wie im Beispiel in Fhem angelegt und auch in FTUI wird alles sauber angezeigt.
Problem ist nur, der Stream wird garnicht gestartet wenn ich auf das Icon drücke.
Änderungen des Senders im Pulldown werden sauber in Fhem angezeigt.
Änderungen der Lautstärke werden manchmal nicht übernommen.
Wenn ich einem Button die data-url direkt mitgebe startet und pausiert der Stream sauber.
data-url="url_des_Sender-Streams"
Bei folgendem Eintrag geht es nicht.
data-url="Radio_Sender:STATE"
Evtl kann mir da ja jemand einen Tipp geben
//Nachtrag:
Mir ist jetzt aufgefallen, das wenn ich den Radiosender im Pulldown ändere während der Stream an ist, der neu gewählte Stream anfängt zu laufen. Bei normalem An- und Ausschalten des Sender bleibt der Stream stumm.
Gruß Knallkopp_02
Genau das gleiche Problem habe ich auch. :-[
List auf den Schalter:
Internals:
CFGFN /var/fhem/FHEM/dummies.cfg
NAME OG1_SZ_Radio
NR 348
STATE off
TYPE dummy
Helper:
DBLOG:
link:
mylogdb:
TIME 1537785494.82377
VALUE https://wdr-1live-live.sslcast.addradio.de/wdr/1live/live/mp3/128/stream.mp3
state:
mylogdb:
TIME 1537786027.72333
VALUE off
OLDREADINGS:
READINGS:
2018-09-24 12:38:14 link https://wdr-1live-live.sslcast.addradio.de/wdr/1live/live/mp3/128/stream.mp3
2018-09-24 12:47:07 state off
Attributes:
room OG1_Schlafzimmer
setList on:off
webCmd on:off
Auszug aus dem TabletUI
<li class="halbTransparent" data-row="4" data-col="3" data-sizex="2" data-sizey="1">
<header class="headerTransparent">Radio</header>
<div data-type="playstream"
data-get="OG1_SZ_Radio:STATE"
data-url="OG1_SZ_Radio:link"
data-volume="100"
class="hide">
</div>
<div data-type="checkbox"
data-device="OG1_SZ_Radio"
class="green inline large">
</div>
<div class="inline"
data-type="select"
data-device="OG1_SZ_Radio"
data-list=""
data-items='["http://server2.lokalradioserver.de:8000/xstream","https://wdr-1live-live.sslcast.addradio.de/wdr/1live/live/mp3/128/stream.mp3","http://87.230.101.25:80"]'
data-alias='["Radio 91,2","1Live","top100station"]'
data-get="link"
data-set="link"
data-cmd="setreading">
</div>
<div data-type="spinner"
data-device="TabletOG"
data-get="volume"
data-set="volume"
data-max="15"
data-step="1"
data-icon-left="fa-volume-down"
data-icon-right="fa-volume-up"
class="spinner value horizontal centered top-space">
</div>
</li>
schaue ich mir an. Kann ich nachvollziehen, habe aber noch keine Idee warum.
habe widget_ playstream etwas optimiert. Bitte mal probieren
Bei mir hat sich nichts verändert mit der neuen Version.
Wenn
data-url="https://wdr-1live-live.sslcast.addradio.de/wdr/1live/live/mp3/128/stream.mp3"
spielt das Radio wenn OG1_SZ_Radio ON und stoppt bei OFF.
Ein umschalten des Senders (OG1_SZ_Radio:link) per select ändert natürlich nichts.
Wenn data-url="OG1_SZ_Radio:link"
spielt das Radio nicht beim schalten auf ON.
Wenn ich anschließend der Wert von OG1_SZ_Radio:link per select ändere startet das Radio den neuen Sender.
Ein schalten von OG1_SZ_Radio auf OFF stoppt das Radio.
Ein erneutes ON schalten bewirkt aber nichts.
Nur wenn ich anschließend der Wert von OG1_SZ_Radio:link wieder per select ändere startet das Radio den neuen Sender.
Ich hoffe das war verständlich. ;)
Gruß und danke
Daniel
Das könnte durchaus eine Abfolge sein, die ich nicht durchgespielt habe.
Wie WhyTea schon geschrieben hat, funktionieren die unteren widgets leider nicht.
Die oberen in deinem Beispiel konnte ich mit ein paar Änderungen zum laufen bekommen. Ob das so wie ich das jetzt habe von dir gedacht war weiß ich natürlich nicht.
Angelegt habe ich ein Dummy mit dem namen"playstream"
DEFINE playstream DUMMY
geändert an deinem Code habe ich folgendes:
data-cmd="setreading"
habe ich in den Slider im ersten Widget "Control" eingefügt
beim Widget "Start/Stop from Dummy" jeweils das
data-volume="playstream:volume"
in
data-volume="volume"
geändert.
Somit geht die erste Zeile der Widgets zumindest bei mir.
Gruß
jetzt muss es aber klappen
Hallo setstate,
das sieht bei mir gut aus.
habe jetzt folgendes gemacht:
Fhem
DEFINE playstream DUMMY
HTML-Code
<div data-type="select" data-device="playstream" data-cmd="setreading" data-list="" data-items='["stream_url1","stream_url2","stream_url3"]' data-alias='["Sendername1","Sendername2","Sendername3"]' data-get="url" data-set="url"></div>
<div data-type="playstream" data-device="playstream" data-get="state" data-get-on="" data-set-on="" data-url="url" data-volume="volume"></div>
<div data-type="spinner" data-device="playstream" data-get="volume" data-cmd="setreading" data-max="100" data-step="2.5" data-icon-left="fa-volume-down" data-icon-right="fa-volume-up"></div>
attr WEB longpoll 1
Damit läuft es bei mir bislang ohne Probleme. Aus und wieder An schalten kein Problem.
Kleine Anmerkung: evlt sollte man die Beispiele vereinheitlichen, siehe hier https://wiki.fhem.de/wiki/FTUI_Widget_Playstream (https://wiki.fhem.de/wiki/FTUI_Widget_Playstream) und https://wiki.fhem.de/wiki/FTUI_Beispiel_Webradio (https://wiki.fhem.de/wiki/FTUI_Beispiel_Webradio), da heißen die Devices unterschiedlich, könnte einem Anfänger Schwierigkeiten bereiten.
Sehr gute Arbeit setstate.
Gruß Knallkopp_02
Auch bei mir geht jetzt wieder alles! ;D
Ein riesiges Dankeschön!
Hallo setstate,
nachdem ich die neue widget_playstream.js in das Verzeichnis js kopiert habe, erhalte ich folgende Fehlermeldung:
Error
widget_playstream.js:83
TypeError: elem.isUrlData is not a function
(siehe beigefügten Screenshot)
Vielleicht eine Idee???
Besten Dank in voraus und Grüße
Mariano