NEWS
Hilfe beim Java script für eine Zeitleiste anzeige bzw ändern
-
Hallo zusammen,
Vielleicht kann mir jemand helfen oder evtl. hat das bereits jemand gelöst hat.
Was ich gern haben möchte ist wenn ein Lied gespielt wird der Jqui- Slider sich mit bewegt.
Wie bei einem Originalem player.
(siehe im Bilde unter der Sonos Steuerung Studio)
Leider bekomme ich das nicht so hin mit der Java Programmierung :(
Habe auch was gefunden aber das umsetzen ist für mich noch viel zu schwer :(
Wäre super wenn mir jemand bei der Umsetzung helfen könnte.
Viele Grüße
-
Hallo!
@Eisbaeeer:Mein Lösungsansatz wäre, die Spielzeit in Prozent umzurechnen und damit im slider zu arbeiten.
Gesendet von meinem SM-G920F mit Tapatalk ` Richtig so.
Sollte eigentlich im Adapter integriert sein. Aber immerhin ist der Intervalzähler drin, da spart man sich die Umrechnung Minuten/sekunden…
Skript:
var idGesamt = "sonos.0.root.192_168_178_51.current_duration"; var idNow = "sonos.0.root.192_168_178_51.current_elapsed"; var idElapsed = 'Sonos.elapsed'; // Selbst den Pfad festlegen (bei mir läuft das testweise in Instanz 2) createState(idElapsed, 0, { name: 'Sonos elapsed', type: 'number', min: 0, max: 100, unit: '%' }); on(idNow, function (data) { var gesamt = getState(idGesamt).val; var elapsed; if (gesamt === 0) elapsed = 100; // kleine Absicherung, falls Wert als 0 falsch rein kommt, dann bleibt es bei 1 else elapsed= 100/gesamt * data.state.val; setState(idElapsed, {val: elapsed.toFixed(1), ack: true}); });Dann dieses Widget in VIS (Achtung, bei ist ja in der ID die javascript Instanz 2 eingetragen):
[{"tpl":"tplValueFloatBar","data":{"oid":"javascript.2.Sonos.elapsed","visibility-cond":"==","visibility-val":1,"min":"0","max":"100","orientation":"horizontal","color":"#0e8646","gestures-offsetX":0,"gestures-offsetY":0,"name":"Sonos Elapsed Time "},"style":{"left":"874px","top":"929px","width":"127px","height":"22px"},"widgetSet":"basic"}]fertig.
Gruß
Pix
EDIT: KLeine Absicherung gegen den Gesamtwert 0 eingebaut, damit nicht durch 0 geteilt werden muss :shock:
-
Au mann, ich seh gerade, es geht viiiiel einfacher (ohne Skript).
VIS Widget "bar" auf die View ziehen:
Sonos Adapter Datenpunkt "current_elapsed" wird mit Instanz in die Object ID eingetragen.
Min bleibt 0
und Max wird der Datenpunkt "current_duration" mit Instanz als binding in geschweiften Klammern.
Bei mir:

@pix:Sollte eigentlich im Adapter integriert sein. `
Das ziehe ich damit zurück :lol:Gruß
Pix
-
Das ist ja cool, dass in den min und max Werten direkt Datenpunkte eingetragen werden können. Ich muss schon sagen, da hat jemand mitgedacht!
Gruß Eisbaeeer
Gesendet von meinem SM-G920F mit Tapatalk `
Ja, mehr als gewünscht… ;-)
http://forum.iobroker.net/viewtopic.php … 4418#p4554
Damit hat man eine Spielwiese, die kaum Wünsche offen lässt.
[EDIT]Und der Verweis auf die Doku dazu:
https://github.com/ioBroker/ioBroker.vi … of-objects
Das Thema geht leider viel zu oft unter. Was Bluefox daraus gemacht hat ist einfach genial.
-
Super!!! :D :D :D
1000 Danke euch allen! Man lernt echt nie aus & hab so viel da rum probiert :)
Jetzt läuft alles so wie ich es wünsch :)
Danke euch allen noch einmal!
Schönen Abend euch noch :)