NEWS
[Gelöst] Innerhalb "View in widget" auf selektierte view Daten zugreifen
-
Ich würde mir gern eine Navigation bauen die mit View in widget arbeitet. Eine gute Anleitung dazu ist https://www.smarthome-tricks.de/softwar … avigation/ hier zu finden.
Soweit so gut. Ich würde mir aber gern eigene Navigations Buttons bauen, dazu müsste ich dann den "aktiven" Button umranden. Um das in der Navigations view zu erledigen müsste ich dort irgendwie an die selektierte "Hauptview" kommen damit ich z.B. die Umrandung relativ platzieren kann. Kann man die x/y Position irgendwie dynamisch machen z.b. mit einer Variable oder so?
Oder aber ich mach für jeden Button Art Umrandung und zeige dann nur die an die zu aktiven View passt mit der Sichtbarkeit Eigenschaft.
-
Prinzipiell will ich in meiner Navigationsview z.B. eine Header anzeigen. Da steht dann typischer weise der Name der View die grad selektiert ist drin. Jetzt macht es ja keinen Sinn in jeder view einen Header einzufügen, sondern den hätte ich gern in der Navigationsview. Ich muss den namen aber als "Datenpunkt" bekommen. Wie kann man sowas realisieren? (Das mit den selektieren war ja nur eine weitere Eigenschaft die man mit dem gleichen Ansatz lösen könnte)
-
Ich hab jetzt eine Lösung gefunden. JavaScript und einen "virtuellen" State erstellen.
createState('javascript.0.VIS.HeadingChangeTimeBehavior', 'Manu', {type: "string"}); on('javascript.0.VIS.HeadingChangeTimeBehavior', function (obj) { if (!obj.state.ack) { setState("innogy-smarthome.0.Wohnzimmer.Heizung-Balkon-Links.OperationMode", obj.state.val); setState("innogy-smarthome.0.Gästezimmer.Heizung-Gästezimmer.OperationMode", obj.state.val); setState("innogy-smarthome.0.Kinderzimmer.Heizung-Kinderzimmer.OperationMode", obj.state.val); setState("innogy-smarthome.0.Schlafzimmer.Heizung-Schlafzimmer.OperationMode", obj.state.val); setState("innogy-smarthome.0.Küche.Heizung-Küche.OperationMode", obj.state.val); setState("innogy-smarthome.0.Bad.Heizung-Bad.OperationMode", obj.state.val); } });Nun einfach noch z.B. einen Kippschalter nehmen und True/False Werte mit Auto/Manu versehen und mit dem state javascript.0.VIS.HeadingChangeTimeBehavior verknüpfen.
BTW: Bindings sind ziemlich cool, speziell das man das einfach inline hin schreiben kann (das geht noch nicht mal in WPF).
Siehe auch https://github.com/ioBroker/ioBroker.vis
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden