Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Java Script Ressourcen optimal nutzen

Scheduled Pinned Locked Moved JavaScript
javascript
15 Posts 6 Posters 1.1k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • OliverIOO Offline
    OliverIOO Offline
    OliverIO
    wrote on last edited by
    #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 Reply Last reply
    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
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by 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 Reply Last reply
        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
          wrote on last edited by
          #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 Reply Last reply
          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 Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #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 Replies Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              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
                wrote on last edited by 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 Reply Last reply
                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
                  wrote on last edited by
                  #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 Reply Last reply
                  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
                    wrote on last edited by
                    #13

                    @oliverio das wäre richtig cool

                    OliverIOO 1 Reply Last reply
                    0
                    • U uwe72

                      @oliverio das wäre richtig cool

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by
                      #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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        441

                        Online

                        32.4k

                        Users

                        81.4k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Home
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe