Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Java Script Ressourcen optimal nutzen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    433

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    613

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

Java Script Ressourcen optimal nutzen

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
15 Beiträge 6 Kommentatoren 1.2k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • etvE etv

    Liebe Leute,
    nachdem ich dabei bin wiedermal ein neues System zwecks Bereinigung aufzusetzen, möchte ich nun auch meine Scripte optimieren.
    Daher folgende Fragen zum Java Script Adapter:

    1. viele kleine oder wenige große Scripte - was ist besser?
    2. Scripte im global Ordner werden immer einzeln geladen, oder sind die sowieso im RAM
    3. haben Kommentar Zeilen einen Einfluss auf den Speicherverbrauch im RAM?
    4. und - was ich noch immer nicht kapiert hab - was ist der Unterschied zwischen Variablen die als const und die die als var angelegt werden?? Sind const Variablen über Scripte hinweg sichtbar?

    Liebe Grüße
    Tom

    Ro75R Offline
    Ro75R Offline
    Ro75
    schrieb am zuletzt editiert von Ro75
    #2

    @etv sagte in Java Script Ressourcen optimal nutzen:

    viele kleine oder wenige große Scripte - was ist besser?

    Kleine Skripte sind übersichtlicher und bei der Fehlersuche besser. Muss ein Skript mal deaktiviert werden, sind kleine auch besser, da da nicht eine ganze "Ketten" stillgelegt wird.

    @etv sagte in Java Script Ressourcen optimal nutzen:

    Scripte im global Ordner werden immer einzeln geladen, oder sind die sowieso im RAM

    So weinig "globale" Skripte wie möglich!!! Globale Skripte werden immer noch zusätzlich vor alle anderen Skripte in "common" gesetzt. Vom RAM her sub optimal und im Fehlerfall eine "Katastrophe" (z.B. bei der Fehlersuche)

    @etv sagte in Java Script Ressourcen optimal nutzen:

    haben Kommentar Zeilen einen Einfluss auf den Speicherverbrauch im RAM?

    Nicht wirklich. Hilft aber ungemein beim Verstehen vom Code.

    @etv sagte in Java Script Ressourcen optimal nutzen:

    und - was ich noch immer nicht kapiert hab - was ist der Unterschied zwischen Variablen die als const und die die als var angelegt werden??

    "const" sind Konstanten, also eher was "festes" und nicht "änderbar". "var" sind Variablen, also eher variabel (mit denen kan man arbeiten - verändern)

    @etv sagte in Java Script Ressourcen optimal nutzen:

    Sind const Variablen über Scripte hinweg sichtbar?

    Nur wenn in "global" gelegt. Aber wie wir nun wissen, nicht unbedingt machen.

    Ro75.

    SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

    HomoranH 1 Antwort Letzte Antwort
    1
    • Ro75R Ro75

      @etv sagte in Java Script Ressourcen optimal nutzen:

      viele kleine oder wenige große Scripte - was ist besser?

      Kleine Skripte sind übersichtlicher und bei der Fehlersuche besser. Muss ein Skript mal deaktiviert werden, sind kleine auch besser, da da nicht eine ganze "Ketten" stillgelegt wird.

      @etv sagte in Java Script Ressourcen optimal nutzen:

      Scripte im global Ordner werden immer einzeln geladen, oder sind die sowieso im RAM

      So weinig "globale" Skripte wie möglich!!! Globale Skripte werden immer noch zusätzlich vor alle anderen Skripte in "common" gesetzt. Vom RAM her sub optimal und im Fehlerfall eine "Katastrophe" (z.B. bei der Fehlersuche)

      @etv sagte in Java Script Ressourcen optimal nutzen:

      haben Kommentar Zeilen einen Einfluss auf den Speicherverbrauch im RAM?

      Nicht wirklich. Hilft aber ungemein beim Verstehen vom Code.

      @etv sagte in Java Script Ressourcen optimal nutzen:

      und - was ich noch immer nicht kapiert hab - was ist der Unterschied zwischen Variablen die als const und die die als var angelegt werden??

      "const" sind Konstanten, also eher was "festes" und nicht "änderbar". "var" sind Variablen, also eher variabel (mit denen kan man arbeiten - verändern)

      @etv sagte in Java Script Ressourcen optimal nutzen:

      Sind const Variablen über Scripte hinweg sichtbar?

      Nur wenn in "global" gelegt. Aber wie wir nun wissen, nicht unbedingt machen.

      Ro75.

      HomoranH Offline
      HomoranH Offline
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #3

      @ro75 sagte in Java Script Ressourcen optimal nutzen:

      vor alle anderen Skripte in "common" gesetzt.

      vor alle!
      nicht nur die in common, auch die, die in anderen Strukturen liegen.

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      Ro75R 1 Antwort Letzte Antwort
      2
      • HomoranH Homoran

        @ro75 sagte in Java Script Ressourcen optimal nutzen:

        vor alle anderen Skripte in "common" gesetzt.

        vor alle!
        nicht nur die in common, auch die, die in anderen Strukturen liegen.

        Ro75R Offline
        Ro75R Offline
        Ro75
        schrieb am zuletzt editiert von
        #4

        @homoran sagte in Java Script Ressourcen optimal nutzen:

        auch die, die in anderen Strukturen liegen.

        ich ging davon aus, dass das auch so verstanden wird. Mit "common" war tatsächlich ALLES gemeint. Ordner und Unterordner und Unterordner und ... Egal wie tief und was auf jeder Ebene ist.

        Ro75.

        SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

        1 Antwort Letzte Antwort
        2
        • OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #5

          @etv
          Jedes Skript benötigt auch noch ein wenig Verwaltung krims Krams drum rum.
          Das erhöht auch ein wenig den Speicherbedarf im RAM und nimmt ein wenig Performance weg.
          Daher, Sachen, die sinnvoll zusammen gehören in ein Skript.

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          Ro75R 1 Antwort Letzte Antwort
          2
          • OliverIOO OliverIO

            @etv
            Jedes Skript benötigt auch noch ein wenig Verwaltung krims Krams drum rum.
            Das erhöht auch ein wenig den Speicherbedarf im RAM und nimmt ein wenig Performance weg.
            Daher, Sachen, die sinnvoll zusammen gehören in ein Skript.

            Ro75R Offline
            Ro75R Offline
            Ro75
            schrieb am zuletzt editiert von
            #6

            @oliverio sagte in Java Script Ressourcen optimal nutzen:

            Daher, Sachen, die sinnvoll zusammen gehören in ein Skript.

            Das ist Ansichtssache. Ich hatte das bei mir mal so umgestellt. Ja, dannach etwa 100 MB weniger RAM. Aber für mich unübersichtlicher. Letztlich wieder aufgetrennt.

            Ro75.

            SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

            1 Antwort Letzte Antwort
            2
            • etvE etv

              Liebe Leute,
              nachdem ich dabei bin wiedermal ein neues System zwecks Bereinigung aufzusetzen, möchte ich nun auch meine Scripte optimieren.
              Daher folgende Fragen zum Java Script Adapter:

              1. viele kleine oder wenige große Scripte - was ist besser?
              2. Scripte im global Ordner werden immer einzeln geladen, oder sind die sowieso im RAM
              3. haben Kommentar Zeilen einen Einfluss auf den Speicherverbrauch im RAM?
              4. und - was ich noch immer nicht kapiert hab - was ist der Unterschied zwischen Variablen die als const und die die als var angelegt werden?? Sind const Variablen über Scripte hinweg sichtbar?

              Liebe Grüße
              Tom

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #7

              @etv
              Zu 2. Unter "global" deklariert man nur eigene, häufig verwendete Funktionen, denn Funktionen werden erst bei ihrem Aufruf kompiliert.
              Zu 3. Kommentare werden nicht kompiliert.

              Zu 1. Meine Devise: So klein wie möglich und so groß wie nötig. In einen Datenpunkt sollte man nur aus einem Skript schreiben, weil sonst leicht die Übersicht darüber verloren geht, weshalb der Datenpunkt geschrieben wurde.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              etvE 1 Antwort Letzte Antwort
              2
              • paul53P paul53

                @etv
                Zu 2. Unter "global" deklariert man nur eigene, häufig verwendete Funktionen, denn Funktionen werden erst bei ihrem Aufruf kompiliert.
                Zu 3. Kommentare werden nicht kompiliert.

                Zu 1. Meine Devise: So klein wie möglich und so groß wie nötig. In einen Datenpunkt sollte man nur aus einem Skript schreiben, weil sonst leicht die Übersicht darüber verloren geht, weshalb der Datenpunkt geschrieben wurde.

                etvE Offline
                etvE Offline
                etv
                schrieb am zuletzt editiert von
                #8

                Herzlichen Dank für eure Tipps und Anregungen, dann war ich eh bis jetzt auch gut unterwegs!

                Werd dann spezielle Scripte wie den Benachrichtigungsversand in global packen, weil viele meiner Scripte melden via push safer etwaige Probleme.

                Top, noch mal herzlichen Dank!

                Liebe Grüße
                Tom

                …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

                HomoranH 1 Antwort Letzte Antwort
                0
                • etvE etv

                  Herzlichen Dank für eure Tipps und Anregungen, dann war ich eh bis jetzt auch gut unterwegs!

                  Werd dann spezielle Scripte wie den Benachrichtigungsversand in global packen, weil viele meiner Scripte melden via push safer etwaige Probleme.

                  Top, noch mal herzlichen Dank!

                  Liebe Grüße
                  Tom

                  HomoranH Offline
                  HomoranH Offline
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #9

                  @etv sagte in Java Script Ressourcen optimal nutzen:

                  Werd dann spezielle Scripte wie den Benachrichtigungsversand in global packen

                  nein!

                  das wird vor jedes andere Skript gepackt, auch wenn du nur ein Licht über einen Bewegungsmelder schaltest

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  paul53P U 2 Antworten Letzte Antwort
                  0
                  • HomoranH Homoran

                    @etv sagte in Java Script Ressourcen optimal nutzen:

                    Werd dann spezielle Scripte wie den Benachrichtigungsversand in global packen

                    nein!

                    das wird vor jedes andere Skript gepackt, auch wenn du nur ein Licht über einen Bewegungsmelder schaltest

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #10

                    @homoran sagte: das wird vor jedes andere Skript gepackt

                    Ja, unmittelbar vor dem Kompilieren. Wenn die enthaltenen Funktionen im Skript nicht aufgerufen werden, werden sie nicht kompiliert.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @etv sagte in Java Script Ressourcen optimal nutzen:

                      Werd dann spezielle Scripte wie den Benachrichtigungsversand in global packen

                      nein!

                      das wird vor jedes andere Skript gepackt, auch wenn du nur ein Licht über einen Bewegungsmelder schaltest

                      U Offline
                      U Offline
                      uwe72
                      schrieb am zuletzt editiert von uwe72
                      #11

                      @homoran Ich verstehe den Nachteil, der entsteht wenn man in global Scripte Inhalte ablegt. Aber es gibt halt auch Vorteile, wenn Funktionen in vielen common Scripte verwendet werden, dann schreibe ich diese doch nicht in jedem common Script neu, sondern einmal in global. Stichwort redundante Codehaltung.

                      Es ist eher ein sehr großer Schwachpunkt von iobroker bzw. dem JS-Adapter, dass man nicht sauber mit imports arbeiten kann und der Weg gewählt wurde, einfach alle Inhalte von global in die common Scripte reinzukopieren.

                      Dazu kommt noch, bei mehreren JS-Instanzen wird da nicht mal auf die Instanz geschaut und instanzübergreifend von global nach common kopiert.

                      OliverIOO 1 Antwort Letzte Antwort
                      0
                      • U uwe72

                        @homoran Ich verstehe den Nachteil, der entsteht wenn man in global Scripte Inhalte ablegt. Aber es gibt halt auch Vorteile, wenn Funktionen in vielen common Scripte verwendet werden, dann schreibe ich diese doch nicht in jedem common Script neu, sondern einmal in global. Stichwort redundante Codehaltung.

                        Es ist eher ein sehr großer Schwachpunkt von iobroker bzw. dem JS-Adapter, dass man nicht sauber mit imports arbeiten kann und der Weg gewählt wurde, einfach alle Inhalte von global in die common Scripte reinzukopieren.

                        Dazu kommt noch, bei mehreren JS-Instanzen wird da nicht mal auf die Instanz geschaut und instanzübergreifend von global nach common kopiert.

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von
                        #12

                        @uwe72
                        Irgendwo im Forum hat schon mal jemand beschrieben wie man sich ein lokales NPM Paket für den js Adapter installieren kann

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        U 1 Antwort Letzte Antwort
                        1
                        • OliverIOO OliverIO

                          @uwe72
                          Irgendwo im Forum hat schon mal jemand beschrieben wie man sich ein lokales NPM Paket für den js Adapter installieren kann

                          U Offline
                          U Offline
                          uwe72
                          schrieb am zuletzt editiert von
                          #13

                          @oliverio das wäre richtig cool

                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • U uwe72

                            @oliverio das wäre richtig cool

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von
                            #14

                            @uwe72

                            So auf die Schnelle habe ich das gefunden. Ist aber von 2019 daher ohne Garantie
                            https://forum.iobroker.net/topic/27932/modulare-skripe

                            Eventuell weiß auch @haus-automatisierung noch was

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            U 1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @uwe72

                              So auf die Schnelle habe ich das gefunden. Ist aber von 2019 daher ohne Garantie
                              https://forum.iobroker.net/topic/27932/modulare-skripe

                              Eventuell weiß auch @haus-automatisierung noch was

                              U Offline
                              U Offline
                              uwe72
                              schrieb am zuletzt editiert von
                              #15

                              Habe für mich mal eine funktionierende Lösung in einem neuen Post aufgeschrieben:
                              https://forum.iobroker.net/topic/78632/info-auslagerung-von-scripte-aus-global-aufs-filesystem

                              1 Antwort Letzte Antwort
                              0
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              381

                              Online

                              32.6k

                              Benutzer

                              81.9k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe