Absturz des Webinterfaces
Moderator: Co-Administratoren
-
- Beiträge: 210
- Registriert: 22.09.2012, 20:56
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 11 Mal
Absturz des Webinterfaces
Hallo, ich teste ein Skript. Es läuft ohne Fehler durch. Beim speichern kommt die Fehlermeldung:
Fehler: {"name": "JSONRPCError", "code": 400, "message": "access denied (\"ADMIN\" needed )"}
Anschließend erscheint eine Messagbox (nach x minuten)
Eine Komponente der HomeMatic Zentrale reagiert nicht mehr. Hierfür kann es eine Reihe von Ursachen geben:
es besteht keine Netzwerk-Verbindung
die Stromversorung der HomeMatic Zentrale wurde unterbrochen
mindestens eine Komponente der HomeMatic Zentrale ist abgestürzt
Überprüfen Sie die Netzwerk-Verbindung und die Stromversorgung der HomeMatic Zentrale. Starten Sie ggf. die HomeMatic Zentrale neu
Danach hilft nur noch Stromabschalten und neu booten.
Hat jemand eine Idee, woran das liegen könnte. Das Skript ist mit Notepad++ UTF8 Encoding geschrieben.
Passiert mir mit sehr vielen unterschiedlichen Skripten.
Fehler: {"name": "JSONRPCError", "code": 400, "message": "access denied (\"ADMIN\" needed )"}
Anschließend erscheint eine Messagbox (nach x minuten)
Eine Komponente der HomeMatic Zentrale reagiert nicht mehr. Hierfür kann es eine Reihe von Ursachen geben:
es besteht keine Netzwerk-Verbindung
die Stromversorung der HomeMatic Zentrale wurde unterbrochen
mindestens eine Komponente der HomeMatic Zentrale ist abgestürzt
Überprüfen Sie die Netzwerk-Verbindung und die Stromversorgung der HomeMatic Zentrale. Starten Sie ggf. die HomeMatic Zentrale neu
Danach hilft nur noch Stromabschalten und neu booten.
Hat jemand eine Idee, woran das liegen könnte. Das Skript ist mit Notepad++ UTF8 Encoding geschrieben.
Passiert mir mit sehr vielen unterschiedlichen Skripten.
Re: Absturz des Webinterfaces
Hallo Henning,
geschieht Dir das mit ALLEN Scripten oder nur mit einigen ?
Hast Du mal ein Beispiel ?
Wie bist Du auf der CCU angemeldet ?
Welchen Browser nimmst Du ?
Hast Du die üblichen Verdächtigen schon ausgeschlossen (Cache des Browsers leeren) ?
Viele Grüße
Andreas
geschieht Dir das mit ALLEN Scripten oder nur mit einigen ?
Hast Du mal ein Beispiel ?
Wie bist Du auf der CCU angemeldet ?
Welchen Browser nimmst Du ?
Hast Du die üblichen Verdächtigen schon ausgeschlossen (Cache des Browsers leeren) ?
Viele Grüße
Andreas
-
- Beiträge: 210
- Registriert: 22.09.2012, 20:56
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 11 Mal
Re: Absturz des Webinterfaces
Hallo Andreas,
... mit vielen Skripten. Vermutung für Ursache: Viele oder spezielle syntaxfehler im Programm.
... siehe zipfile.
... admin startseite wird angezeigt
... Google Chrome, neueste Version aber ich habe auch schon IE Windows 10 getestet- selber effekt.
... habe gerade folgende Prozedur durchgeführt.
1. Google: Clear browsing history
2. Restart Google Browser
3. Homematics: Skript Testen
4. Cut & Paste des Programmes aus dem Anhang
5. Testen 1 mal keine Reakteion
6. Testen nochmal, dann die Fehlermeldung JSON im Ergebnis Fenster
7. Dann die Fehlermeldung mit Komponenten nicht verfügbard
Und jetzt geht gar nichts mehr. Stecker ziehen, rebooten. Dann funktionieren die Programme wieder.
Häufig ist aber die Entwicklungsumgebung durcheinander und ich erhalte schwachsinnige Fehlermeldungen.
Dann installiere ich die aktuelle homematic version neu und es läuft wieder ... bis zum nächsten Absturz.
Grüße, Henning
... mit vielen Skripten. Vermutung für Ursache: Viele oder spezielle syntaxfehler im Programm.
... siehe zipfile.
... admin startseite wird angezeigt
... Google Chrome, neueste Version aber ich habe auch schon IE Windows 10 getestet- selber effekt.
... habe gerade folgende Prozedur durchgeführt.
1. Google: Clear browsing history
2. Restart Google Browser
3. Homematics: Skript Testen
4. Cut & Paste des Programmes aus dem Anhang
5. Testen 1 mal keine Reakteion
6. Testen nochmal, dann die Fehlermeldung JSON im Ergebnis Fenster
7. Dann die Fehlermeldung mit Komponenten nicht verfügbard
Und jetzt geht gar nichts mehr. Stecker ziehen, rebooten. Dann funktionieren die Programme wieder.
Häufig ist aber die Entwicklungsumgebung durcheinander und ich erhalte schwachsinnige Fehlermeldungen.
Dann installiere ich die aktuelle homematic version neu und es läuft wieder ... bis zum nächsten Absturz.
Grüße, Henning
- Dateianhänge
-
- homematic.zip
- (38.19 KiB) 122-mal heruntergeladen
Re: Absturz des Webinterfaces
Hallo Henning,
das Problem scheint wirklich die Ausführung der Scripte zu sein. Zumindest deutet es darauf hin, daß es ein Bug im Skript ist, da bei der ersten Ausführung nichts passiert.
Dann stürzt der Rega ab (der meines Erachtens die Script-engine enthält) und schließlich ist er nicht mehr erreichbar.
Somit verhält sich die CCU zumindest logisch...
Mir sind nur Kleinigkeiten in Deinem Script aufgefallen:
1. Lösche mal bitte ALLE Kommentare (damit gabs in der Vergangenheit immer Probleme)
2. Ein Semikolon nach einem if/else Block mit geschweiften Klammern ist nicht notwendig und beinhaltet somit nur
eine leere Anweisung.
3. Verwende vorsichtshalber mal keine Variablen mit einer Zahl darin im Namen.
4. Gib mal im Script beim Testen schrittweise etwas aus (mit WriteLn), dann weisst Du ob überhaupt etwas ausgeführt wird.
5. Du verwendest sehr viele Variablen. Die CCU hat nur begrenzten Cache für Variablen freigegeben und produziert unvorhergesehene Ereignisse bei zu vieler Verwendung dieser. Versuche mal lieber, die Objekte direkt mit der Funktion zu verknüpfen
also statt
----> besser:
Ob das hilft weiss ich natürlich nicht, aber es ist halt auch ein sehr kryptogener Fehler.
VG
Andreas
das Problem scheint wirklich die Ausführung der Scripte zu sein. Zumindest deutet es darauf hin, daß es ein Bug im Skript ist, da bei der ersten Ausführung nichts passiert.
Dann stürzt der Rega ab (der meines Erachtens die Script-engine enthält) und schließlich ist er nicht mehr erreichbar.
Somit verhält sich die CCU zumindest logisch...
Mir sind nur Kleinigkeiten in Deinem Script aufgefallen:
1. Lösche mal bitte ALLE Kommentare (damit gabs in der Vergangenheit immer Probleme)
2. Ein Semikolon nach einem if/else Block mit geschweiften Klammern ist nicht notwendig und beinhaltet somit nur
eine leere Anweisung.
3. Verwende vorsichtshalber mal keine Variablen mit einer Zahl darin im Namen.
4. Gib mal im Script beim Testen schrittweise etwas aus (mit WriteLn), dann weisst Du ob überhaupt etwas ausgeführt wird.
5. Du verwendest sehr viele Variablen. Die CCU hat nur begrenzten Cache für Variablen freigegeben und produziert unvorhergesehene Ereignisse bei zu vieler Verwendung dieser. Versuche mal lieber, die Objekte direkt mit der Funktion zu verknüpfen
also statt
Code: Alles auswählen
var oName;
oName = dom.GetObject("Var");
oName.Variable(1);
Code: Alles auswählen
dom.GetObject("Var").Variable(1);
VG
Andreas
-
- Beiträge: 210
- Registriert: 22.09.2012, 20:56
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 11 Mal
Re: Absturz des Webinterfaces
Hallo und Danke für die Tips. Ich habe jetzt meine Skripte überarbeitet und die obigen Vorschläge berücksichtig (allerding Kommentare habe ich nur reduziert, nicht ganz eleminiert).
Ergebnis: Problem teilweise umgangen aber leider nicht gelöst. Weiterhin viele Abstürze, einmal mit werksreset und Backup einspielen.
Mit der Methode der "schrittweisen" Übertragung des Skriptes an die CCU (d. h. erst nur wenig Zeilen kopieren, dann prüfen und Fehler beheben dann die nächsten Zeilen usw) komme ich am Ende immer zu einem fehlerfreien, ausführbaren Skript. Mühsam ernährt sich das Eichörnchen.
Die Ursache liegt meiner Ansicht nach in dem Compiler/Interpreter - bei zu vielen oder irgendwelchen speziellen Fehler verabschiedet sich das System.
Ein krasses Beispiel für die Schwächen im Compiler/Interpreter ist das folgende Skript (ausgeführt im Testfenster liefert es kein Ergebnis - ohne 2 Zeile gehts) - und nicht mal ne Fehlermeldung.
! Irgendein Kommentar
!
WriteLine("Hallo Welt!");
Ergebnis: Problem teilweise umgangen aber leider nicht gelöst. Weiterhin viele Abstürze, einmal mit werksreset und Backup einspielen.
Mit der Methode der "schrittweisen" Übertragung des Skriptes an die CCU (d. h. erst nur wenig Zeilen kopieren, dann prüfen und Fehler beheben dann die nächsten Zeilen usw) komme ich am Ende immer zu einem fehlerfreien, ausführbaren Skript. Mühsam ernährt sich das Eichörnchen.
Die Ursache liegt meiner Ansicht nach in dem Compiler/Interpreter - bei zu vielen oder irgendwelchen speziellen Fehler verabschiedet sich das System.
Ein krasses Beispiel für die Schwächen im Compiler/Interpreter ist das folgende Skript (ausgeführt im Testfenster liefert es kein Ergebnis - ohne 2 Zeile gehts) - und nicht mal ne Fehlermeldung.
! Irgendein Kommentar
!
WriteLine("Hallo Welt!");
Re: Absturz des Webinterfaces
Jepp, dass ist ein bekanntes Problem. Deshalb solltest Du keine Kommentare am Ende eine Codezeile machen und nach dem Kommentar eine Leerzeile lassen, da die Zeile nach dem Kommentar gelegentlich einfach nicht ausgeführt wird. Deshalb kann es zu krassen Fehlern in Scripten kommen.
Wenn Du das noch berücksichtigst wird es vielleicht besser.
VG
Wenn Du das noch berücksichtigst wird es vielleicht besser.
VG
Re: Absturz des Webinterfaces
Hallo Henning,
ich habe exakt das gleiche Problem und bekomme langsam die Krise.
Es ist mir absolut unverständlich, warum die CCU2 bei Mini-Programmen bereits die Löffel abgibt. Dies darf einfach nicht passieren, auch dann nicht, wenn ein Programm noch Fehler enthält. Was ist denn das für eine Programmierumgebung?
Die Tipps von Zamanis sind zwar gut gemeint, aber helfen nicht wirklich. Und Kommentare weglassen, kann doch keine Lösung sein. Was war noch mal der Sinn von Kommentaren?
Gibt es irgendwo eine stabile Entwicklungsumgebung, mit der ich Programme für die CCU2 entwickeln kann?
Viele Grüße
Bernd
ich habe exakt das gleiche Problem und bekomme langsam die Krise.
Es ist mir absolut unverständlich, warum die CCU2 bei Mini-Programmen bereits die Löffel abgibt. Dies darf einfach nicht passieren, auch dann nicht, wenn ein Programm noch Fehler enthält. Was ist denn das für eine Programmierumgebung?
Die Tipps von Zamanis sind zwar gut gemeint, aber helfen nicht wirklich. Und Kommentare weglassen, kann doch keine Lösung sein. Was war noch mal der Sinn von Kommentaren?
Gibt es irgendwo eine stabile Entwicklungsumgebung, mit der ich Programme für die CCU2 entwickeln kann?
Viele Grüße
Bernd
Re: Absturz des Webinterfaces
HPCLBernd77 hat geschrieben: Gibt es irgendwo eine stabile Entwicklungsumgebung, mit der ich Programme für die CCU2 entwickeln kann?
Viele Grüße
Bernd
gruß Udo
-
- Beiträge: 210
- Registriert: 22.09.2012, 20:56
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 11 Mal
Re: Absturz des Webinterfaces
Hallo, ich nutze Notepad++ mit
a) der Homematic Spracherweiterung für simples Syntax Highlighting
b) ein Notepad++ Macro, das mir alle Kommentare entfernt.
Der Ablauf ist dann wie folgt:
a) Editieren im Notepad++, keine Inline Kommentare, Kommentarzeile mit ! an erster Stelle, keine Leerzeilen
b) Ausführen des Macros, was ein neues Fenster im Notepad++ erzeugt mit Skript ohne jegliche Leerzeile)
c) Copy and Paste in Homematic System
... und wenn nicht zuviele Fehler vorhanden sind, läuft es.
Damit ist es erträglich. Die Kommentare scheinen ein großes Problem zu sein (sehr verwunderlich).
Das Macro ist bei NotePad++ in der Portable Version in der Datei E:\PortableApps\Notepad++Portable\Data\Config\shortcuts.xml. Es geht durch das File und eleminiert alle Zeilen mit ! in der ersten Spalte.
a) der Homematic Spracherweiterung für simples Syntax Highlighting
b) ein Notepad++ Macro, das mir alle Kommentare entfernt.
Der Ablauf ist dann wie folgt:
a) Editieren im Notepad++, keine Inline Kommentare, Kommentarzeile mit ! an erster Stelle, keine Leerzeilen
b) Ausführen des Macros, was ein neues Fenster im Notepad++ erzeugt mit Skript ohne jegliche Leerzeile)
c) Copy and Paste in Homematic System
... und wenn nicht zuviele Fehler vorhanden sind, läuft es.
Damit ist es erträglich. Die Kommentare scheinen ein großes Problem zu sein (sehr verwunderlich).
Das Macro ist bei NotePad++ in der Portable Version in der Datei E:\PortableApps\Notepad++Portable\Data\Config\shortcuts.xml. Es geht durch das File und eleminiert alle Zeilen mit ! in der ersten Spalte.
Code: Alles auswählen
<?xml version="1.0"?>
-<NotepadPlus>
<InternalCommands/>
-<Macros>
-<Macro Key="112" Shift="no" Alt="no" Ctrl="yes" name="RemoveExclamation">
<Action sParam="" lParam="0" wParam="0" message="2013" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2178" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2025" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2422" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2325" type="0"/>
<Action sParam="" lParam="0" wParam="41001" message="0" type="2"/>
<Action sParam="" lParam="0" wParam="0" message="2179" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2316" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="1700" type="3"/>
<Action sParam="^[!].*\r\n" lParam="0" wParam="0" message="1601" type="3"/>
<Action sParam="" lParam="2" wParam="0" message="1625" type="3"/>
<Action sParam="" lParam="0" wParam="0" message="1602" type="3"/>
<Action sParam="" lParam="768" wParam="0" message="1702" type="3"/>
<Action sParam="" lParam="1609" wParam="0" message="1701" type="3"/>
<Action sParam="" lParam="0" wParam="0" message="2013" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2178" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2025" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2422" type="0"/>
<Action sParam="" lParam="0" wParam="0" message="2325" type="0"/>
</Macro>
</Macros>
<UserDefinedCommands/>
<PluginCommands/>
<ScintillaKeys/>
</NotepadPlus>