NEWS
SOLVED Javaskripte unsichtbar
-
Hallo zusammen,
mein Name ist Kai und ich bin neu im Forum habe aber den IOBroker schon länger im Einsatz.
Ich bin ganz ehrlich und weis nicht seit wann folgendes Problem bei mir existiert. Ich habe einige Javaskripte bei mir am Laufen und bin auch sehr zufrieden damit. Da ich in letzter Zeit sehr eingebunden bin habe ich dort auch keine Veränderungen machen müssen. Die Skripte liefen alle einwandfrei. Nun muß ich aber eine Variable verändern und habe festgestellt das zwar alle Skripte geladen und gestartet werden, jedoch im Editor nur noch 3 von ca. 65 Skripte angezeigt werden.
Im Log werden alle Skripte gezeigt, also das sie richtig geladen werden und auch funktionieren.
Das Backup des Editors liefert mir die 3 Skripte und in der Root lauter Files (einen pro Skript) mit dem Inhalt "error": "permissionError".
Im Tab Objekte stehen alle Skripte gelistet in javascript.0.scriptEnabled und in javascript.0.scriptProblem.
Wenn ich im Tab Objekte im Feld ID suche nach 'script.js.*' so bekomme ich kein Ergebnis.
Ich gehe mal davon aus das alle Skripte noch in der objects.json drin sind. Alles läuft bei mir unter dem Standaruser Admin.
Die Console im Chrome zeigt keine Fehlermeldungen beim Öffnen des Skript-Editors.
Ich habe auch schon versucht mit einem neuen Benutzer zu experimentieren, jedoch ohne Erfolg und dem selben Ergebnis.
Hat einer von Euch einen Vorschlag was ich noch versuchen kann, oder hat jemand ein ähnliches Problem?Admin: 3.6.2
Script Engine: 4.1.12
npm: 6.4.1
nodejs: 8.16.0
Host: ubuntu 18.04 -
mach mal ein downgrade auf version 4.0.7 vom javascript adapter
-
Hallo arteck,
vielen Dank für Deinen Tipp.
Ich habe eben ein downgrade auf 4.0.7 gemacht, jedoch ohne Erfolg.
Es läuft nun die Version 4.0.7 und das Verhalten ist noch das gleiche wie vorher.
Kann ich noch etwas nachliefern oder ausprobieren was Euch/Dir weiter helfen könnte ?
Gibt es eine Möglichkeit wie ich die Skripte aus der objects.json extrahieren kann ?
Ich würde dann versuchen alle Skripte aus dem System zu entfernen und diese dann neu anzulegen.Btw: Ich habe auch den Adapter js2fs installiert gehabt, weil ich dachte ggf. bekommt der die Skripte heraus, aber Pustekuchen ... der hat auch nur die Skripte serialisiert die der Editor auch anzeigt.
Lg
Kai -
kurzer Nachtrag.
Ich habe mir mal die Skript-Dokumente in der Objects.json etwas genauer mit notepad++ angesehen und mir ist dabei aufgefallen das bei allen Dokumenten mit type Script, die nicht angezeigt werden, das Feld acl leer ist.
Ich werde morgen mal versuchen via Copy&Paste diese Dokumente zu füllen.
J4ILg
Kai -
@Ashuan versuch wars wert... aber anscheinend haben wir hier noch ein Problem
-
Hallo zusammen,
ich habe das Problem behoben.
Ich habe mit notepad++ und dem Addon 'JSON Viewer' die object.json bearbeitet.
Mit Find&Replace bin ich her gegangen und habe "acl": {} ersetz durch "acl": {"object": xxxx,"owner": "system.user.admin","ownerGroup": "system.group.administrator"}xxxx - ObjectId des Users in meinem Falle der admin
Gespeichert und den IOBroker wieder gestartet und die Skripte sind wieder.
Allerdings behebt es die Ursache nicht und es sollte ggf weiter danach gesucht werden.LG
Kai -
Hatte eben das selbe Problem: Unten am Rand sind jetzt Symbole für "läuft" und "pausiert" etc. Dort drauf klicken und es erscheinen die entsprechnenden Skripte. Warum weiß der Teufel......
Gruß
ICEMAN
-
Die Filter haben bei mir nicht funktioniert. Sie zeigen Dir ja nur die Skripte die in einem bestimmten Zustand sind.
Bei mir lag es tatsächlich an der fehlenden Berechtigung der einzelnen Objekte.Ich vermute das durch einen Aktualisierungsprozess die Informationen bei meiner Installation abhanden gekommen sind.
Lg Kai
-
@Ashuan
Wie hast du das Problem gelöst?? Vielen Dank im Voras!! -
Wie oben beschrieben habe ich die objects.json bearbeitet und danach lief alles wieder bei mir.
Aus irgendeinem Grund sind bei mir die Berechtigungen nicht gesetzt worden auf div. Objekten. -
@Ashuan sagte in Javaskripte unsichtbar:
object.json
Hi, wo liegt die Datei "object.json" weil ich finde die bei mir nicht !
-
@MyMeyer sagte:
wo liegt die Datei "object.json"
Die Datei "objects.json" liegt im Verzeichnis /opt/iobroker/iobroker-data.