NEWS
SOLVED Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?
-
wenn ich mit einem script ein anderes script steuern will, kann mir nicht egal sein, was da steht
mit scriptProblem kann ich dir vielleicht noch zustimmen - es wäre aber gut, wenn man es wüßte, denn steht ein script mit true in scriptProblem, hat es eine bedeutung und zur fehlersuche wäre es sicher ein nettes feature
-
@liv-in-sky sagte in Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?:
wenn ich mit einem script ein anderes script steuern will, kann mir nicht egal sein, was da steht
Wie an anderer Stelle schon erwähnt - das direkte starten/stoppen von Skripten über den
scriptEnabled
-Datenpunkt ist nicht offiziell unterstützt. Der korrekte Weg sind Trigger auf States.
Abgesehen davon vermute ich, dass das Verschieben so nicht gewollt ist - kann aber auch falsch liegen.denn steht ein script mit true in scriptProblem, hat es eine bedeutung und zur fehlersuche wäre es sicher ein nettes feature
Das müsste dann aber in der Script-UI angezeigt werden, oder? Hab es selbst noch nicht ausprobiert, aber so ist es gedacht.
-
Участник @AlCalzone написал в Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?:
Es gab vor einer Weile mal den Feature-Request, dass bereits auf der Übersicht angezeigt wird, wenn Skripte Fehler oder Probleme haben. Bin mir relativ sicher, dass es damit zu tun hat.
Der Zustand wird nämlich dann auf true gesetzt, wenn der JS-Adapter einen Fehler abfängt, der im Skript selbst nicht abgefangen wurde.Achso: scriptEnabled und scriptProblem sind Systemordner, das kann euch eigentlich relativ egal sein, was da wo drin steht
Diese Antwort ist richtig. Ich verstehe nur nicht, warum scriptProblem euch so verwirrt hat?
In dem Objekt steht auch: "is the script has a problem"
Was eigentlich dahin deuten sollte, was das sit. -
hallo - es verwirrt deshalb, weil so ziemlich alle scripte in scriptProbleme liegen .
bedeutet das, dass alle scripts in diesen ordner geschrieben werden und auf false stehen - hat es einen error wird es auf true gesetzt ?
wenn das so wäre, verstehe ich nicht, wieso man das macht - um ein fehler-script zu finden, kann man doch in das log sehen - anstatt den ganzen tree in den javascript-objecten zu durchsuchen - aber wenn es so wäre - ist auch ok
warum finden sich scripte von anderen javascriptadaptern unter allen anderen scriptProblem-ordnern? - das ganze ist sehr unübersichtlich!wenn man - zur besseren fehlersuche - einen debug-mode als error setzt - nur um es besser zu erkennen - es aber eben kein error, sondern nur eine debug-anzeige ist - wird dieses script dann auch in scriptProbem auf true gesetzt ?
ich hatte vorher noch ein seltsames problem:
ich habe ein script erstellt und dies hatte eine endlosschleife - anschliessend habe ich den jsadapeter gestoppt und das script gestoppt - das hat nichts gebracht - auch nach einen neustart des iobroker hat der adapter durchgedreht (100%) - als nächstes habe ich das script gelöscht, denn es war nicht mehr möglich den javascriptadapter wieder zu beruhigen (100%) - wieder neustart - hat auch nichts gebracht - dann habe ich den datenpunkt für den start des scriptes *gelöscht, damit das nicht mehr anfängt - danach war es erstmal wieder gut. das script ist gelöscht (unters script ui) - in den objecten ist es immer noch sichtbar (als falsch) -
@liv-in-sky Die Objekte sind nicht für dich, sondern für die Oberfläche. Sehe Screenshot.
-
Участник @liv-in-sky написал в Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?:
ich hatte vorher noch ein seltsames problem:
ich habe ein script erstellt und dies hatte eine endlosschleife - anschliessend habe ich den jsadapeter gestoppt und das script gestoppt - das hat nichts gebracht - auch nach einen neustart des iobroker hat der adapter durchgedreht (100%) - als nächstes habe ich das script gelöscht, denn es war nicht mehr möglich den javascriptadapter wieder zu beruhigen (100%) - wieder neustart - hat auch nichts gebracht - dann habe ich den datenpunkt für den start des scriptes *gelöscht, damit das nicht mehr anfängt - danach war es erstmal wieder gut. das script ist gelöscht (unters script ui) - in den objecten ist es immer noch sichtbar (als falsch)Wenn du Endlosschleife geschaffen hat, dann gibt es keine Zeit um was anderes zu machen:
- Keine Zeit auf die Befehle zu hören um sich anzuhalten,
- Keine Zeit auf Events zu hören, dass Skript gelöscht wurde,
- Keine Zeit auf die Datenpunktänderungen zu hören,
Muss ich weiter schreiben?
-
@liv-in-sky sagte in Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?:
es verwirrt deshalb, weil so ziemlich alle scripte in scriptProbleme liegen .
Liegen da die Skripte drin oder nur dieser Steuerpunkt für die GUI?
-
Liegen da die Skripte drin oder nur dieser Steuerpunkt für die GUI?
Man kann doch die Objekte sehen.
-
@Homoran natürlich nur die steuerpunkte - alle meine scripte liegen in einem ordner (von mir erstellt) oder sie liegen unter dem adapterselbst (javascript.0.xxxx, javascript.1 xxxx, javascript.2.xxxx,) es sind keine scripts unter scriptPrpblem angelegt worden (weder von mir noch vom system).
@AlCalzone , @homoran und @Bluefox
danke für eure zeit -. ich kapier es nicht und ehrlich gesagt, will ich es nicht mehr kapieren. bitte schliessen wir damit das scriptProblem thema (im bezug zu mir)- ich habe nicht gewusst, dass das direkte starten/stoppen von Skripten über den scriptEnabled-Datenpunkt nicht offiziell unterstützt wird - (da ich das nutze ist mir dabei aufgefallen, dass diese datenpunkte etwas verwirrend sind )- habe einige scripte, die ich ändern muss.
mir ist nur aufgefallen, dass ein ziemliches durcheinander unter diesen datenpunkten herrscht
- scripte die in script ui gelöscht wurden haben immer noch datenpunkte
- vereinzeln sind datenpunkte doppelt vorhanden, ich habe datenpunkte, die sind unter javascript.0.scriptEnabled.common.DAUERND.BIOMUELL und
javascript.0.BIOMÜLL zu sehen - in der script ui sind sie unter javascript.0.common.DAUERND.BIOMUELL angelegt worden zusätlzlich gibt es noch diese hier
javascript.0.scriptProblem.common.DAUERND.BIOMUELL
javascript.2.scriptProblem.common.DAUERND.BIOMUELL
javascript.1.scriptProblem.common.DAUERND.BIOMUELL
solange meine scripte laufen, soll es mir recht sein - ich verwende meine zeit jetzt für das überarbeiten einiger scripte
nochmals danke -
@liv-in-sky sagte in Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?:
das direkte starten/stoppen von Skripten über den scriptEnabled-Datenpunkt nicht offiziell unterstützt wird
Dazu solltest du einen "SkriptXY_Start" Datenpunkt vom Typ Bool anlegen, den du steuern kannst.
Dein SriptXY sollte dann auf den Datenpunkt triggern -
danke dir - mittlerweile mache ich das schon lange nicht mehr - ich habe nur viele altlasten von den anfangstagen und mich nicht darum gekümmert, es zu ändern - ich wußte ja nicht, dass es garnicht unterstützt wird
-
@liv-in-sky sagte in Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?:
ich wußte ja nicht, dass es garnicht unterstützt wird
Kein Problem!
Aber diese Datenpunkte sind nicht umsonst nur im Expertenmodus sichtbar -
hab es kapiert
-
@liv-in-sky sagte in Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?:
hab es kapiert
Das weiß ich doch!
Das war nicht für dich - sondern für die Nachwelt festgehalten.
-
jetzt ist mir auch wieder eingefallen , warum ich mit eigentlich damit beschäftigt habe bzw warum die thematik im kopf war -im javascript-adapter wird im update angegeben, das es nun scriptenabled für alle user und nicht nur den expert geben soll -
und weil ich das gelesen habe, ist mir aufgefallen, dass bei mir die datenpunkte etwas verwirren (oder vielleicht auch nur mich verwirren)
-
@liv-in-sky sagte in Script wurden in einen neuen Ordner "scriptProblem" verschoben! WARUM?:
das es nun scriptenabled für alle user und nicht nur den expert geben soll
Da muss jetzt bleufox etwas zu sagen
-
Ich habe das jetzt für mich repariert weil ich da auch den Status (läuft / läuft nicht) auslese:
-
In der Instanz javascript.0 den Eintrag "Mirror scripts to file path:" auf iobroker-data/files/0_userdata.0/backup-js gesetzt. Ggf den Ordner vorher anlegen.
→ Hier werden jetzt laufend alle Scripte als Einzeldateien gespiegelt. -
Weitere javascript-Instanzen anhalten.
-
Dann Scripte im Admin/Skripte anhalten und die gestoppten Scripte aus dem Ordner iobroker-data/files/0_userdata.0/backup-js extern verschieben. → Scripte werden jetzt aus den Objekten gelöscht. Wenn was hängen bleibt manuell löschen.
-
Danach Scripte wieder zurück in den Ursprungsordner schieben. Am besten einzeln verschieben, bei größeren Mengen bekommt der ioBroker scheinbar nicht alles mit.
→ Jetzt werden die Script-Objekte unter scriptEnabled wieder angelegt. -
Jetzt bei Bedarf noch die gewünschte Java-Instanz neu angeben und Script wieder starten.
Gruß, Ralf
-
-
Guten Morgen,
kann ich die Scripte eigentlich alle löschen die da jetzt drin stehen ?
Kommen dann nur die wieder dahin wenn sie abernals Probleme machen ?Auf die Art und Weise könnte ich doch mal meine Scripte alle prüfen wenn dem so wäre.