NEWS
Widget-Sichtbarkeit per JS Variablen steuern
-
Hallo zusammen,
ich bin ein Neuling was IOBroker angeht und bin gerade dabei erste Schritte mit VIS zu machen.
Allerdings stehe ich gerade vor einem Problem zu dem ich leider noch keine Lösung hier finden konnte.Folgendes möchte ich erreichen:
Ich möchte mir eine Navigationsbar basteln über die ich auf verschiedene Views springen kann. Das habe ich soweit auch hinbekommen. Ich habe die Navigation in eine eigene View gepackt und binde diese auf den einzelnen Views dann per "View in Widget" ein, damit ich Änderungen nicht immer auf allen Views nachziehen muss.
Ich würde nun aber gerne den Button für die aktuelle View bzw. ein danebenstehendes Icon highlighten. Meine Idee war, einfach zwei Images übereinander zu legen und je nachdem ob der zugehörige View gerade angezeigt wird dann ein oder auszublenden.
Ich habe verstanden, dass ich das über einen neuen Datenpunkt z.B. im Javascript Adapter regeln könnte. Hier ist mein Verständnis aber so, dass das dann ja für die gesamte IOBroker Instanz gilt. Wenn ich dann z.B. VIS auf zwei unterschiedlichen Geräten gleichzeitig offen habe würden die sich dann doch gegenseitig beeinflussen, wenn ich in einer der beiden Oberflächen navigiere. Ist meine Vermutung hier richtig oder würde jedes Endgerät welches VIS öffnet eine eigene Instanz von IOBroker bekommen? Oder geht das am Ende gar nicht, dass man das gleichzeitig auf mehreren Geräten öffnen kann?
Meine Idee war nun, dass ich das über Javascript lösen könnte und z.B. das DOM-Element für das jeweilige Icon ein oder ausblende. Hier weiß ich allerdings nicht, wie ich die Widgets (in diesem Fall das Image Widget) ansprechen kann. Im HTML Code haben die nicht wirklich eine ID. Kann ich da irgendwie eine ID vergeben über die ich dann auf das DOM Element im JS zugreifen kann? Extra eine Dummy CSS Klasse anzulegen über die ich mir dann das Element ggf. rausziehen kann klingt für mich irgendwie nicht sauber. Neben der Tatsache, dass ich das noch nicht ausprobiert habe und gar nicht weiß ob das funktionieren würde.
Gibt es irgendwie alternativ eine Möglichkeit in der Sichtbarkeitseinstellung des Widgets den Inhalt von Javascript Variablen auszuwerten? Dann könnte ich z.B. direkt über vis.activeView gehen.
Könnt ihr mir hier weiterhelfen? Vielleicht gibt es ja auch noch andere viel einfachere Lösungen und ich bin mit meinem Ansatz auf dem Holzweg? Könnt ihr irgendwelche Doku empfehlen die mir hier den Einstieg erleichtern könnte?
Vielen Dank im Vorraus für eure Hilfe!
LG
Henrik -
@biguglyoldman sagte in Widget-Sichtbarkeit per JS Variablen steuern:
Hier weiß ich allerdings nicht, wie ich die Widgets (in diesem Fall das Image Widget) ansprechen kann
Jedes Widget hat eine Nummer: w00001 usw.
Als Objekt ID dann diese Nummer nehmen -
Hallo sigi234,
super, vielen Dank für deine Antwort!
Das werde ich mal ausprobieren. Komme aber leider erst morgen Abend dazu.
Gebe dann Rückmeldung ob es geklappt hat.VG
Henrik -
Hallo nochmal,
hat super funktioniert. Danke nochmal.
LG
Henrik -
@biguglyoldman sagte in Widget-Sichtbarkeit per JS Variablen steuern:
Hallo nochmal,
hat super funktioniert. Danke nochmal.
LG
HenrikBitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.