NEWS
[gelöst] Variablen in Widgets für Popups in vis-2
-
Hallo allerseits,
ich habe eine generelle Frage - hoffentlich keine blöde
Ich habe für meine Thermostate im Haus für jeden Raum ein Popup mit einigen Einstellungen - dieses Popup sieht nun bei allen Thermostaten exakt gleich aus, bis auf die enthaltenen Werte in den Widgets. Jetze habe ich aktuell für jeden Raum ein eigenes Popup gebaut, welches dann die entsprechenden Objekt-ID in den Widgets enthält.
Jetzt meine Frage:
Gibt es eine Möglichkeit, dieses Popup nur 1x zu bauen, den Objekt-IDs Variablen zuweisen und beim jeweilige Popup-Aufruf die entsprechende Variable zu setzen.
(Also beim Klick auf Wohnzimmer wird dem Popup die Variable Wohnzimmer mitgegeben, im Popup selbst werden dann dementsprechend alle Settings und Graphen für das Wohnzimmer angezeigt)Ich hoffe, ich habe mich verständlich ausgedrückt.
Danke,
Philipp -
@superflip
ich hatte mir mal etwas zusammengeschustert, zwar nicht mit einem Popup sondern mit einem Dropdown. Im Grunde kannst du die Idee ja adaptieren:Nach der Raumauswahl im Dropdown startet ein blockly und füllt mir die entsprechenden Werte in feste States im Ordner Raumklima. Diese zeigen mir dann in der vis immer die gleiche Maske aber mit den korrespondierenden Werten. Ein Teil hatte ich auch per Binding gelöst, weiß nach über 4 Jahren nicht mehr genau warum aber glaub da sich die Temperatur z.B. öfters ändert hatte ich den Weg gewählt. Das blockly hört auch auf Fenster Änderungen und setzt den State dann entsprechend. Die URL für Chart baue ich mir ebenfalls per blockly zusammen - je nach Raumauswahl wird dann der entsprechende Grafana Link per iframe geöffnet.
Als Denkanstoß sicherlich ausreichend, je nachdem welches Dialogwidget du einsetzt kannst du ja auch Werte beim öffnen mit schreiben. Somit könntest du die Raumauswahl triggern. Das System ist schon einige Jahre alt, manche Sachen frage ich im Nachgang "was hat mich für diese Denkweise da nur geritten"
-
@micklafisch leider hat das offensichtlich mit der Benachrichtigung der Antowrt nicht so ganz geklappt, darum hab ich es erst jetzt gesehen.
Dein Vorschlag ist auf alle Fälle eine super Idee - ich glaube, die Bindings brauchst du deswegen, falls du was steuern willst - habs mir noch nicht fertig durchüberlegt, aber das könnte der Grund sein.Ich verwende übrigens echarts, was für mich völlig ausreichend ist (hab das mit der Authentication damals in Grafana nicht hinbekommen, und eigentlich reichen mir die echarts aus). Da weiß ich noch nicht ganz wie ich das löse.
Weißt du zufällig, ob ich auch Node-Red-Flows dafür verwenden kann? - hab bis dato alles mit Node-Red gemacht, da ich mit Flussdiagrammen das irgendwie einfacher finde.
Danke,
Philipp -
@superflip
sorry, bei Node-Red bin ich völlig blank und kann dir leider nicht weiter helfen. -
@micklafisch funktioniert prima! - danke nochmals für den Tip.
Beim Dialog Widget kann man auch ein Objekt setzen - dahinter steckt eine Number Variable.
Je nach Thermostat setze ich einen anderen Wert.
Wenn der Wert gesetzt wird, startet ein Node-Red Skript, welches wiederum Variablen mit den entsprechenden Werten (bei mir sind es jetzt mal die Objekt-Links der echarts) setzt., d.h. da steht dann z.B. in der Variable:
im Dialog selbst hab ich dann beim echart Widget ein Binding auf diese Variable.Funkt. super - hat 2 positive Effekte:
- Ich brauch bei einer Style-Änderung nur in einer View herumbasteln.
- Ladezeit der gesamten VIS wird beschleunigt.