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

                                        506
                                        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