Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Auf die Schnelle alle Skripte de-/aktivieren?

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Auf die Schnelle alle Skripte de-/aktivieren?

    This topic has been deleted. Only users with topic management privileges can see it.
    • padrino
      padrino Most Active last edited by

      Habe hier inzwischen eine Menge Skriptleichen und bin dabei etwas aufzuräumen... 😉

      Nun würde ich gerne alle (laufenden) Skripte auf einmal daktivieren und später wieder aktivieren (und das ohne alle Leichen dabei aufzuwecken).
      Gibt es da einen einfachen Weg?
      In der Shell evtl. die Skriptdatei/Ordner umbenennen?

      T JohGre M 4 Replies Last reply Reply Quote 0
      • T
        ticaki Developer @padrino last edited by ticaki

        @padrino
        Es gibt einen Weg, aber der, den ich kenne, ist nicht einfach und schon garnicht "auf die Schnelle". Du müsstest alles States (per Skript) unter javascript durchforsten, dir das Ergebnis in einem Userstate speichern. Und dann die gespeicherten States aktivieren/deaktivieren.

        https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#scripts-activity

        There is a possibility to enabled and disable scripts via states. For every script the state will be created with name javascript.INSTANCE.scriptEnabled.SCRIPT_NAME. Scripts can be activated and deactivated by controlling of this state with ack=false.

        padrino 1 Reply Last reply Reply Quote 1
        • JohGre
          JohGre @padrino last edited by

          @padrino würde da nicht einfach den Script Adapter "Stoppen" funktionieren

          1 Reply Last reply Reply Quote 2
          • padrino
            padrino Most Active @ticaki last edited by

            @ticaki
            Ja, das wäre wohl ein Weg, muss ich mir mal überlegen.
            Hatte gehofft, es ginge schneller... 😌
            Hatte irgendwie im Kopf, dass es eine skripte Datei gäbe, aber irgendwie finde ich weder die Datei noch Infos drüber, die dann mal schnell kurz umbennannt...

            @johgre
            Nun, mir geht es darum, dass ich gerne mal den RAM Verbrauch ganz ohne Skripte austesten wollen würde und dafür muss er ja laufen. 😉

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @padrino last edited by

              @padrino sagte in Auf die Schnelle alle Skripte de-/aktivieren?:

              Nun, mir geht es darum, dass ich gerne mal den RAM Verbrauch ganz ohne Skripte austesten wollen würde und dafür muss er ja laufen.

              was genau willst du wirklich?
              wenn du die javascript Instanz anhältst läuft kein Skript mehr.
              Du kannst trotzdem die Skripte editieren.

              Wofür muss der javascript Adapter laufen??

              crunchip padrino 2 Replies Last reply Reply Quote 0
              • M
                MCU @padrino last edited by

                @padrino Hier wäre ein Ansatz?
                https://mcuiobroker.gitbook.io/jarvis-infos/tipps/scripte-blockly-javascript/javascript/alle-iobroker-skripte-starten-stoppen

                1 Reply Last reply Reply Quote 1
                • crunchip
                  crunchip Forum Testing Most Active @Homoran last edited by

                  @homoran sagte in Auf die Schnelle alle Skripte de-/aktivieren?:

                  wenn du die javascript Instanz anhältst läuft kein Skript mehr

                  Er möchte scriptleichen finden, indem er seine scripte stoppt um zu sehen ob noch irgend etwas läuft, anhand vom Ram verbrauch

                  1 Reply Last reply Reply Quote 0
                  • padrino
                    padrino Most Active @Homoran last edited by

                    @homoran sagte in Auf die Schnelle alle Skripte de-/aktivieren?:

                    @padrino sagte in Auf die Schnelle alle Skripte de-/aktivieren?:
                    was genau willst du wirklich?

                    Genau, was ich schrieb.
                    Ich möchte herausfinden, wieviel der Adapter braucht, wenn kein Skript läuft.
                    Im Moment braucht er zwischen 100 und 170 MB, meist so 150.
                    Will sehen, wieviel da die Skripte ausmachen um mal zu schauen, ob ich da noch optimieren kann, evtl. weniger Skripte (also Skripte zusammenfassen), weniger Code (Skript optimieren)...

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @padrino last edited by Homoran

                      @padrino sagte in Auf die Schnelle alle Skripte de-/aktivieren?:

                      wieviel der Adapter braucht,

                      aah!
                      ja dann ergibt das Sinn.

                      ich dachte den RAM Verbrauch überhaupt von ioBroker

                      Skripte brauchen eigentlich nicht so viel. lefiglich beim Skriptstart, wenn das Skript neu kompiliert wird

                      crunchip 1 Reply Last reply Reply Quote 0
                      • crunchip
                        crunchip Forum Testing Most Active @Homoran last edited by

                        @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

                        padrino bahnuhr T 3 Replies Last reply Reply Quote 0
                        • padrino
                          padrino Most Active @crunchip last edited by

                          @crunchip sagte in Auf die Schnelle alle Skripte de-/aktivieren?:

                          ich lieg bei über 300MB

                          😨 😌

                          1 Reply Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active @crunchip last edited by

                            @crunchip sagte in Auf die Schnelle alle Skripte de-/aktivieren?:

                            ich lieg bei über 300MB

                            das top ich:
                            f4ed520a-2438-4f46-8eb7-c0192f1bc8e8-image.png

                            crunchip 1 Reply Last reply Reply Quote 0
                            • crunchip
                              crunchip Forum Testing Most Active @bahnuhr last edited by

                              @bahnuhr dafür hab ich doppelt so viele Eingänge

                              1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer @padrino last edited by ticaki

                                @padrino

                                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)
                                    }
                                }
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • M
                                  MCU last edited by

                                  @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.

                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    ticaki Developer @MCU last edited by ticaki

                                    @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')
                                    
                                    padrino 1 Reply Last reply Reply Quote 0
                                    • padrino
                                      padrino Most Active @ticaki last edited by

                                      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"... 🤓

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        ticaki Developer @padrino last edited by

                                        @padrino
                                        Afaik stehen nicht auf der Platte sondern in der db.

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          ticaki Developer @crunchip last edited by

                                          @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... 🙂

                                          1 Reply Last reply Reply Quote 1
                                          • First post
                                            Last post

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          807
                                          Online

                                          31.7k
                                          Users

                                          79.8k
                                          Topics

                                          1.3m
                                          Posts

                                          7
                                          19
                                          801
                                          Loading More Posts
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          The ioBroker Community 2014-2023
                                          logo