NEWS
Auf die Schnelle alle Skripte de-/aktivieren?
-
@homoran sagte in Auf die Schnelle alle Skripte de-/aktivieren?:
Skripte brauchen eigentlich nicht so viel.
ich lieg bei über 300MB
schalte ich instanz.1 ein (nur ein paar nicht laufende testscripte) verbraucht diese ebenfalls mehr als 200MB
-
-
@crunchip sagte in Auf die Schnelle alle Skripte de-/aktivieren?:
ich lieg bei über 300MB
das top ich:
-
@bahnuhr dafür hab ich doppelt so viele Eingänge
-
Wollte wissen ob meine Idee geht
Musste noch durch entfernen von // scharf schalten. Zum Aktivieren der Skript, den im Log stehenden endlose string ins Skript kopieren.
let tids = $('state[state.id=javascript.0.scriptEnabled.*]') // hier die daten aus dem Log rein schreiben let datenAusLog = [ganz viele Skript, noch viel mehr skripte] let datenAusLog if (datenAusLog === undefined) { let logids = [] for (let a = 0; a<tids.length;a++){ if (getState(tids[a]).val) { logids.push(tids[a]) } } log('ab hier') log(JSON.stringify(logids)) log('bis hier') for (let a = 0; a<logids.length;a++){ log(logids[a] + ' false') //setState(logids[a], false) } } else { for (let a = 0; a<datenAusLog.length;a++){ log(datenAusLog[a] + true) //setState(logids[a], true) } }
-
@ticaki Im Link oben
https://forum.iobroker.net/topic/66435/auf-die-schnelle-alle-skripte-de-aktivieren/6
steht das Script mit dem man das machen kann.
Deine Logik (Script) würde sich selbst ausschalten und mitten im Prozess stoppen, je nachdem wo das Script eingeordnet wurde und welchen Namen es hat. -
@mcu
Das ist nicht richtig. Das Skript läuft durch und anschließend werden die Skripte deaktiviert. setState() läuft nicht synchron, bzw. das was setState() aufruft läuft async zum Skript. Deshalb funktioniert setState() getState() nicht ohne "pause"EDIT: Und falls einen für den einmal gebrauch die Warnmeldung stört, dann halt globale Variable: scriptname nehmen split('.') die ersten beiden verwerfen, join('.') und ein Indexof machen
11:09:37.815 info javascript.0 (1693) script.js.Test.Skript_2: start 11:09:37.816 info javascript.0 (1693) script.js.Test.Skript_2: stopScript() call 11:09:37.817 info javascript.0 (1693) script.js.Test.Skript_2: gestoppt
log('start') log('stopScript() call') stopScript() log('gestoppt')
-
Gibt es denn wirklich kein Verzeichnis "auf Platte", das man mal eben umbenennen und damit für den Adapter unauffindbar machen könnte?
Sonst ist doch bei Linux immer alles so "detailiert"... -
@padrino
Afaik stehen nicht auf der Platte sondern in der db. -
@crunchip sagte in Auf die Schnelle alle Skripte de-/aktivieren?:
@homoran sagte in Auf die Schnelle alle Skripte de-/aktivieren?:
Skripte brauchen eigentlich nicht so viel.
ich lieg bei über 300MB
schalte ich instanz.1 ein (nur ein paar nicht laufende testscripte) verbraucht diese ebenfalls mehr als 200MB
was macht ihr bitte schön??? ich hab ca. 30 Skripte, da sind ein paar Brummer dabei und gerade mal 150mb...