Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ReGaHSS: .ClearCache() .CacheMode() -> WebUI kann nicht geladen werden / zeigt Ausgabefehler #2638

Open
BadenPower opened this issue Feb 1, 2024 · 1 comment
Labels
🐛 bug-report Something isn't working 🏷️ ReGaHss This refs the ReGaHss component

Comments

@BadenPower
Copy link

Describe the issue you are experiencing

.ClearCache()
Wird die Methode .ClearCache() bei aktiviertem CacheMode ausgeführt, dann kommt es danach in den meisten Fällen zu Fehlfunktionen der WebUI. Ist die WedUI bereits aufgerufen, dann fehlen beim Aufrufen der Geräte- und Systemvariablelisten zahlreiche Informationen. Ein erneutes Aufrufen der WebUI scheitert in den meisten Fällen.

.CacheMode()
Wird die Methode .CacheMode() zum Deaktivieren des Caches mit dem Parameterwert 0 vom Typ integer ausgeführt und danach zum Aktivieren des Caches mit dem Parameterwert 1 vom Typ integer ausgeführt , dann kommt es danach in den meisten Fällen zu Fehlfunktionen der WebUI. Ist die WedUI bereits aufgerufen, dann fehlen beim Aufrufen der Geräte- und Systemvariablelisten zahlreiche Informationen. Ein erneutes Aufrufen der WebUI scheitert in den meisten Fällen.

Describe the behavior you expected

Wird der Cache geleert oder nach dem Deaktivieren neu aktiviert, dann darf dies nicht zu Einschränkungen bei der Benutzung der WebUI führen.

Steps to reproduce the issue

Ausführung der folgenden Skripte unter "Skript testen":

.ClearCache()

WriteLine("Start");
WriteLine(dom.BuildLabel());
WriteLine(system.ClearCache());
WriteLine("Ende");

.CacheMode()

WriteLine("Start");
WriteLine(dom.BuildLabel());
WriteLine(system.CacheMode(0));
WriteLine(system.CacheMode(1));
WriteLine("Ende");

What is the version this bug report is based on?

CCU3 mit ReGaHSS-Version R1.00.0388.0235

Which base platform are you running?

rpi3 (RaspberryPi3)

Which HomeMatic/homematicIP radio module are you using?

n/a

Anything in the logs that might be useful for us?

bestehend seit:
unbekannt (bereits mit ReGaHss-Version R1.00.0388.0102)

Additional information

AusgabeN mit ReGaHss-Verion R1.00.0388.0235:

.ClearCache()

Start
R1.00.0388.0235
true
End

.CacheMode()

Start
R1.00.0388.0235
true
true
Ende
@BadenPower BadenPower added the 🐛 bug-report Something isn't working label Feb 1, 2024
@jens-maus jens-maus added the 🏷️ ReGaHss This refs the ReGaHss component label Feb 2, 2024
@jens-maus
Copy link
Owner

Die beiden ClearCache() und CacheMode() Funktionen sind beides Methoden die sehr sehr stark in die interne Verarbeitung von Skriptcode innerhalb der ReGaHss eingreifen. Auch wenn diese zwar in der Skriptsprache existieren, so sind diese nicht für die allgemeine Nutzung gedacht. Aktuell ist mir auch z.B. kein Anwendungsfall bekannt bei denen die Nutzung dieser Skriptfunktionen von Vorteil sein könnten oder irgendwie nützlich ist. Meines Wissens werden die ja auch nicht zu irgendetwas in der WebUI der CCU selbst eingesetzt.

Zusätzlich dazu existieren sicherlich auch hier und da falsche Annahmen für was diese Funktionen genau da sind bzw. was diese bewirken oder gar bewirken sollen. Sicherlich ist es richtig das ClearCache() sämtliche interne Caches versucht zu löschen, aber wie du selbst festgestellt hast wird das während der Laufzeit der ReGaHss nicht ganz sauber erledigt. Die Nutzung dieser Funktion (wenn es denn auf ReGa-Skriptebene überhaupt einen solchen nutzen gibt) wird daher sich lediglich auf das einmalige Aufrufen ganz am Anfang des Startes von ReGaHss beschränken.

Was die CacheMode() Funktion angeht so schaltet z.B. die Nutzung von CacheMode(0) mit nichten das Caching komplett ab. Es wird hier lediglich eine andere Art des internen Cachings verwendet als das im Standardfall bei CacheMode(1) der Fall ist.

Insgesamt muss daher gesagt werden, das diese beiden Funktionen eher zum Hausbedarf der ReGaHss Entwicklung selbst gehören wie das auch bei Dump() und Debug() z.B. der Fall ist. Wenn hier also etwas verbessert werden könnte/sollte, dann vermutlich das man diese Funktionen ggf. gänzlich aus dem Fundus der nutzerbezogenen Skriptsprache entfernt, sodass die nur in Debugversionen von ReGaHss dem Entwickler selbst ggf. zum Testen/Entwickeln zur Verfügung steht. Ausser natürlich mir kann jemand den Nutzen dieser beiden Funktionen aus Nutzersicht aufzeigen.

@github-actions github-actions bot added the 🧊 stale Ticket is in a stale state (about to be closed) label May 3, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale May 10, 2024
@jens-maus jens-maus removed the 🧊 stale Ticket is in a stale state (about to be closed) label May 10, 2024
@jens-maus jens-maus reopened this May 10, 2024
Repository owner deleted a comment from github-actions bot May 10, 2024
@jens-maus jens-maus added this to the future release milestone May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug-report Something isn't working 🏷️ ReGaHss This refs the ReGaHss component
Projects
Development

No branches or pull requests

2 participants