NEWS
UNSOLVED Binding für Datenpunkt eines Widget
-
Hallo,
ich möchte den Datenpunkt eines Widget (z.B. Basic Number) dynamisch ändern können.
Also so etwas wie: {javascript.0.vis.Heizung.xxx.Temperatur}, wobei 'xxx' variabel sein soll (per Javascript).
Ich hätte mir vorgestellt, dass es so etwa gehen müsste:
Object ID: {variabel:javascript.0.vis.Heizung.Auswahl;'javascript.0.Heizung.' + variabel + '.Temperatur'}
Also letztendlich ein concat für die ObjectID.
Aber leider funktioniert das nicht.
Geht das generell nicht für ObjectID, also kein Binding für den Datenpunkt ?
Oder habe ich was falsch gemacht (die Chancen sind groß) ?Vielen Dank!
piForscher -
@piForscher das musst du im Script machen.. und dann das was da raus kommt als binding setzten
-
Ich versuche auch in Binding im einem Widget unter "Object ID" zu machen. Sind Bindings mit Objekt-IDs nicht möglich?
-
dynamisches binding im widget geht nicht, da vis beim start alle objekt ids einsammelt und abonniert,
danach dann nicht mehr.
Mit javascript kann man sich da selbst etwas bauen, ist aber nicht ganz so einfach,
da man da in die tiefen von vis-code hinabsteigen muss.
Als Beispiel kann ich auf das player-widget im adapter squeezeboxrpc verweisen.
Dieses ist das Basiswidget für fast alle anderen widgets in diesem adapter. je nachdem welcher player
ausgewählt ist, sprechen die anderen widgets dann unterschiedliche datenpunkte an. -
Hallöchen,
ich fange erst an mit iobroker, aber auch ich hänge an dem gleichen Problem. Ich will mit dem Habpanel meinen Squeezserver steuern und habe mehrere Player. Ich habe eine Widget Switch angelegt mit den Playern und das Ergebnis in einen Datenpunkt geschrieben. Und jetzt möchte ich z.B. Play/Pause mit einen Switch-Buttnen so anlegen
squeezebox.0.{javascript.0.eigeneDatenpunkte.Squeez.Player}.state
Wie ich bemerkte und hier zu lesen ist, geht das offenbar nicht. Wie löst ihr das denn, wenn es mehrere Player gibt. Ich möchte nicht 4 Steuerpullte untereinander machen. Und der adapter squeezboxrpc finde ich nicht im iobroker. Ist der vielleicht in einem anderen repository? -
@Benutzername
Dann schau dir mal den Adapter
iobroker.squeezeboxrpc an, der kommt gleich mit fertigen widgets,
die genau das Problem lösen
Allerdings weiß ich nicht wie die mit dem habpanel zusammenpassen.Bei mir sieht das so aus:
Die 4 Lautstärkeregler hab ich nur aus Bequemlichkeit um schnell die Lautstärke ändern zu können.
alle anderen Knöpfe reagieren auf die Playerauswahl links.. -
@OliverIO
Das würde schon mit einem Frame auch im Habpanel gehen denke ich. Und wie gesagt, habe ich schon einiges über squeezboxrpc gelesen. Aber ich kann es nicht wie üblich installieren. Da fehlt mir ein repository oder auch wissen :).Es ist beim mir unter adapter nicht zu finden und ich weiß nicht wie ich das in der Konsole einbinden soll.
Auf der Seite https://github.com/oweitman/ioBroker.squeezeboxrpc war ich schon, aber bei installation steht nicht wie es geht.
Mit
./ioborker add squeezeboxrpc
geht‘s nicht. -
@Benutzername
Dann musst du in den iobroker-Einstellungen (Schraubenschlüsselsymbol oben)
bei aktueller Verwahrort = latest einstellen, da müsste dann aktuell bei die stable stehen.
Dann kommen die anderen Adapter. ich hab vor demnächst den Adapter auch in stable Repository zu tun. -
@OliverIO said in Binding für Datenpunkt eines Widget:
Verwahrort = latest
so einfach. Ich hatte dort noch default drin. Danke! Ist alles da und ich bastel gerade am Design.