NEWS
Vis durch Dropdowns langsam
-
Hallo,
ich habe für meine Heizungssteuerung via Dropdown Auswahlfelder die Möglichkeit, je Tag mehrere Schaltmöglichkeiten realisiert, und das pro Tag, und je Raum.
Das macht in Summe nur an Auswahlzeiten knapp 760 Dropddowns aus. Dazu kommen noch Funktion, Temperatur,... Macht zusammen fast 3800 Dropdowns was meine Vis seeeeeehr langsam macht. Neu Laden Zeiten über die Android App dauern so ca. 10 min.
Kennt ihr eine andere Möglichkeit, wie ich das umsetzen könnte?
Das gibt es momentan alles:
9 Räume
2 Zeitpläne
7 Tage
6 Abschnitte ( Möglichkeiten) pro Tag
Startzeit: 00:00 bis 23:30 alle 30 min
Aktion: 4 Möglichkeiten
Temperatur: 18-25°C je 0,5 °C Schritte
4 Lüftungsmöglichkeiten
5 StufenSo schauts:
Der iobroker läuft sauber und ohne Probleme, nur die Visualisierungen dauern eben und sind sehr träge
Jemand eine Idee, was weniger "Ressourcen" frisst - sorry, mir fällt dazu kein besseres Wort ein. -
-
@sigi234 nein. Ich benötige keine Heizungssteuerung (Heatingcontrol). Die komplette Vis existiert schon, ich will nur zu unterschiedlichen Zeiten etwas auslösen lassen. Intelligenz ist und funktioniert ja alles im Hintergrund, außerhalb iobroker. Bei mir sind die Dropdowns einfach zu viel.
Meine Idee ist es durch Reduktion der Dropdowns die Schnelligkeit nicht zu beeinflussen.
Vorschlag: einen einfachen Button, der nebendran einfach als Textfeld "durchwählen könnte. Somit hätte ich schon einige Dropdowns erspart. Aber keine Ahnung wie ich das einrichten soll. Ich versuch mal die Suche und experimentiere, gerne wenn jemand eine Idee hat spoilern.
-
@mika-0 Als Idee:
wenn deine DropDowns immer nach dem gleichen Schema aufgebaut sind, sprich es immer - in etwa - das gleiche Menü, nur das du das für ein jeweils anderes Gerät/Endpunkt einstellen willst,
könntest du eine PopUp-View dafür erstellen die dann per Button aufgerufen wird. Immer die gleiche, aber anhand des Buttons weist du wofür du Änderungen willst.Die PopUp-View schreibt dabei in eigene Datenpunkte, beim Aufruf füllst du die per Skript mit den entsprechenden Werten und schreibest diese dann auch beim Beenden zurück.
Die PopUp-View könntest du sogar noch relativ dynamisch gestalten, du kannst ja Elemente auf Grund von Bedingungen ausblenden.
Alternativ als View-In-Widget. Ich habe bei mir eine zentrale View mit einem
basic - view in widget
in welchem mein Navigationsmenü liegt und dembasic - view in widget 8
bei dem man ja über einen Datenpunkt per Zahl sagt, welche View angezeigt werden soll.
Ähnlich könnte man dann auch diese Zeitpläne einblenden - wiederum eine Zeitplan-View für alle, also immer die gleiche.
Was diese verstellen soll weis diese wiederum daher das das dahinter liegenden Skript ja am Datenpunkt sehen kann welche View gerade sichtbar ist.Edit: In beiden Fällen hättest du nur noch eine Ansicht mit den DropDowns, das sollte dann ja eine starke Reduktion sein.
-
@bananajoe Klingt erstmal nach deinem Vorgehen nach einem Plan, der für mich aber komplettes Neuland ist. Ich hätte gerne immer auf einen Blick alle ausgewählten Eigenschaften auf einer Seite je Tag.
Ich denke ich habe eine elegantere Lösung gefunden. Leider habe ich bisher noch nicht entdeckt wie man so etwas umsetzen könnte. Man muss halt nach dem richtigen suchen, wenn man wüsste nach was man suchen soll. Das ist mein Vorschlag:
Ich verlagere die Auswahlmöglichkeiten der SelectValueList ins Blockly.
Das Dropdown wird durch einen Button ersetzt. Neben dem Button ist ein Textfeld, was die "Auswahl" anzeigt.
Im Blockly selbst gibt es eine Liste mit den Auswahlmöglichkeiten. Der Trigger ist der Button. Durch den Button wird immer das nächste aus der Liste ausgewählt. Kommt man am Ende der Liste an, wird wieder von oben begonnen.Bsp: Lüftungsmöglichkeit
Datenpunkt Lüftung:
Der Trigger ist dieser Datenpunkt.
Wenn ich den Button drücke, wird der Trigger aktualisiert und der "nächste Listenpunkt in der Liste wird verwendet. Wenn die Liste am Ende ist, und ich drücke erneut den Button, beginnt die Liste erneut von oben.So ungefähr habe ich mir das vorgestellt. Aber es ist wahrscheinlich komplett falsch und ich weiß auch nicht wie weiter
Geht denn so etwas, bzw. nach was muss ich suchen?