Widget playstream Problem beim FTUI Beispiel Webradio

Begonnen von Knallkopp_02, 22 September 2018, 10:25:24

Vorheriges Thema - Nächstes Thema

Knallkopp_02

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
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

WhyTea

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>

setstate

schaue ich mir an. Kann ich nachvollziehen, habe aber noch keine Idee warum.

setstate

habe widget_ playstream etwas optimiert. Bitte mal probieren

WhyTea

#4
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

setstate

Das könnte durchaus eine Abfolge sein, die ich nicht durchgespielt habe.

Knallkopp_02

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ß
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

setstate


Knallkopp_02

#8
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 und 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
Ich bin kein Programmierer und habe keine Ahnung.

Raspberry PI 3B+ mit HM-MOD-RPI-PCB,     
HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-SEC-SCo
Raspberry PI 3B+ mit 7" Touchdisplay

WhyTea

Auch bei mir geht jetzt wieder alles!  ;D

Ein riesiges Dankeschön!

mmartinez

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