Seite 3 von 3

Re: WebUI maximale Anzahl Systemvariable

Verfasst: 19.11.2018, 09:57
von jmaus
F2EbXg hat geschrieben:
19.11.2018, 09:35
@jmaus:
1. Ich kann das nicht reproduzieren. Ich habe gestern 400 Strings auf einer CCU2 angelegt mit je über 2.300 Zeichen, da ging dann nichts mehr.
Diesen Umfang gaben aber meine 600-700 Variablen gestern nicht im Ansatz auf der CCU3 her, deshalb hätte ich etwas angezeigt bekommen müssen.
Das passierte nicht. Jetzt habe ich so um die 100 bools gelöscht und bekomme wieder etwas angezeigt. Natürlich wird irgendwo die Schwellgröße liegen. Und wenn man dann 1 bit mehr hat, dann übersteigt es eben die eingestellte Grenze.
Ich werde jetzt zum Test immer 10 Variablen mit dem String anlegen, wenn ich mehr als 100 davon anlegen kann und ich bekomme immer noch etwas angezeigt, dann liegt das Problem sicher nicht an der Anzahl an bytes.
Also ich bekomm es hier mit einem einfachen ReGa-Skript nun auch reproduziert und habe dafür selbst mal ein GitHub Ticket aufgemacht:
https://github.com/jens-maus/RaspberryMatic/issues/475

Damit kann ich um die 650 Systemvariablen erzeugen und dann geht zwar noch das "Status und Bedienung -> Systemvariablen" Anzeige, aber die "Einstellungen -> Systemvariablen" Anzeige steigt damit bereits aus. Damit habe ich zumindest einen Ansatz um das Problem mir näher mal anzuschauen.
F2EbXg hat geschrieben:
19.11.2018, 09:35
2. Ich benötige so viele Variablen, da ich damit Matrizen abbilde, damit ich diese in AIO Creator Neo zur Anzeige bringen kann. Für eine 8 Mal 8 Matrix benötige ich also 64 Variablen. Da ich im Moment nur mit 2 Zuständen arbeite, reicht ein bool dafür völlig aus. Alle Einstellungen werden mit dem Speichern wieder zu einem einzigen String zusammengeführt. Pro Matrix ist das eben ein langer String, der maximal um die 1.400 Zeichen lang sein kann.
Wenn du solch komplexe Dinge machst dann solltest du vielleicht überlegen hier mittelfristig entweder die Logik in AIO Creator Neo vorzunehmen (wenn das geht) oder andere externe Systeme (z.B. ioBroker) einzusetzen die auf moderne Skriptumgebungen usw. setzen. Die WebUI ist insgesamt in die Jahre gekommen und selbst wenn ich es hinbekomme das dort vielleicht nun zehntausende Systemvariablen angezeigt werden, dann kann das mitunter entsprechend lange dauern.

Re: WebUI maximale Anzahl Systemvariable

Verfasst: 19.11.2018, 10:23
von alchy
F2EbXg hat geschrieben:
19.11.2018, 09:35
Ich benötige so viele Variablen,

Unmengen von Daten im Wert von Stringsystemvariablen abzulegen wird dir nur Scherereien machen, auch wenn es vielleicht eine Weile funktioniert. Da kannst du die Suche bemühen.

Aber unabhängig vom Datenmüll:
Schon ~600 zusätzliche Systemvariablen führen schon zu dem Effekt, das sie unter Status und Bedienung noch geladen aber unter Einstellungen Systemvariablen nicht mehr angezeigt werden, auch mit sehr viel weniger Datenmüll im Wert.

Aber ich bin hier eh falsch, da CCU3

Code: Alles auswählen

VERSION=3.41.11

Version: 2.1.369
Build: R1.00.0388.0203
Leider habe ich keine Aufzeichnungen mehr, was damals möglich war. Wie aber schon BadenPower Ende 2016 schrieb, ist es ein Problem, welches nur die Klickibunti hat. Im Übrigen, wenn ich Staus und Bedienung aufrufe habe ich kaum einen Geschwindigkeitsverlust bei ~650 Systemvariablen.

[EDIT]
Hab mal ein wenig gespielt, muss am Webserver liegen. Befinde ich mich an der Kotzgrenze bei ~600 Variablen und entferne nur anzuzeigende Zeilen in den Dateien wie die Verknüpfungsbutton funktioniert es. Genau so wie ich bei >~700 Variablen auch Status und Bedienung zur Aufgabe zwingen kann.

Alchy

Re: WebUI maximale Anzahl Systemvariable

Verfasst: 19.11.2018, 13:18
von jmaus
alchy hat geschrieben:
19.11.2018, 10:23
Hab mal ein wenig gespielt, muss am Webserver liegen. Befinde ich mich an der Kotzgrenze bei ~600 Variablen und entferne nur anzuzeigende Zeilen in den Dateien wie die Verknüpfungsbutton funktioniert es. Genau so wie ich bei >~700 Variablen auch Status und Bedienung zur Aufgabe zwingen kann.
Auch ich hab das problem inzwischen analysiert und ich denke auch den "Schuldigen" gefunden. Wenn du mit "Webserver" den internen Werbserver von ReGaHss meinst, so hast du mit deiner Vermutung recht damit gehabt. Dieser hat momentan eine Limitation web responses mit maximal 800kB auszuliefern. Und je nach dem wieviel Systemvariablen, wieviel Infos die beinhalten (lange DPInfo(), etc.) kommt man hier früher/später an das Limit. Nun werd ich mal schauen das ich für eine der nächsten ReGaHss Versionen dieses Limit mal signifikant erhöhe damit das Problem dann hoffentlich bis auf weiteres gelöst ist bzw. dann ggf. wesentlich mehr Systemvariablen in der WebUI angezeigt werden können.

Re: WebUI maximale Anzahl Systemvariable

Verfasst: 19.11.2018, 13:49
von shartelt
joa und dann kommt der nächste ums Eck und will 2000 Systemvariablen haben, was dann auch wieder nicht geht, weil er sinnfrei Matrixen bauen will :)

Re: WebUI maximale Anzahl Systemvariable

Verfasst: 19.11.2018, 13:50
von alchy
Daher ja mein Edit oben mit der Vermutung, da ich es ja provozieren konnte bzw. die Grenze in den htm dateien überschreiten oder auch unterschreiten konnte ohne mehr oder weniger Systemvariablen zu haben. Kann man sicher auch woanders provozieren,
Das, bzw. das sang und klanglose Abbrechen dürfte dann die Ursache für sehr viele Probleme sein, welche hier so vermeldet werden. Wieso wird da nicht wenigstens ein Error oder sonstwas ausgegeben? :shock:

Das wird hoffentlich nicht nur für RaspberryMatic User schnellstmöglich gefixt.

Alchy

Re: WebUI maximale Anzahl Systemvariable

Verfasst: 26.11.2018, 19:49
von ArnoD
War jetzt eine Zeit lang außer Lande und hätte nicht gedacht, dass mein Problem gleich so innig diskutiert wird.
Aber DANKE an alle, die sich damit befast haben.
Um die Frage zu beantworten, wo für man so viele Systemvariablen benötigt, bei mir ist es die APP Homestatus.
Ich werde jetzt nach all den Jahren wohl doch zu IO Broker wechseln müssen.

Großes danke auch an Jens, dass du das Thema aufgenommen hast, wer weis wann ich wieder über 600 Systemvariablen benötige. ;-)

Grüße aus Bayern
Arno