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. (ERLEDIGT!) TypeScript, viele common/global Scripte --> CPU

NEWS

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

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

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

(ERLEDIGT!) TypeScript, viele common/global Scripte --> CPU

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
55 Beiträge 10 Kommentatoren 6.1k Aufrufe 7 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.
  • Jey CeeJ Jey Cee

    @uwe72 sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

    Umkopieren der Scripte von global

    Ist eigentlich wenig verwunderlich. Die Globalen Scripte werden an den Anfang aller anderen Scripte geschrieben.
    Das bedeutet die müssen auch alle neu Kompiliert werden wenn sie in Typescript geschrieben sind, aber mindestens werden sie neu gestartet.

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

    @jey-cee

    Ok ;-)

    Was wäre eine Optimierung, weniger kleinere Global-Scripte und dafür wenige große? D.h. übertrieben gesagt, alle global-Scripte in 1 Global Script überführen?

    Als früherer Java-Entwickler tue ich mich sowieso schwer mit dieser global/common-Architektur. Würde gerne Klassen/Funktionen einfach einbinden wollen in meine Scripte.

    Jey CeeJ 1 Antwort Letzte Antwort
    0
    • U uwe72

      @jey-cee

      Ok ;-)

      Was wäre eine Optimierung, weniger kleinere Global-Scripte und dafür wenige große? D.h. übertrieben gesagt, alle global-Scripte in 1 Global Script überführen?

      Als früherer Java-Entwickler tue ich mich sowieso schwer mit dieser global/common-Architektur. Würde gerne Klassen/Funktionen einfach einbinden wollen in meine Scripte.

      Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #4

      @uwe72 sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

      D.h. übertrieben gesagt, alle global-Scripte in 1 Global Script überführen?

      Naja wenn du jetzt 2 Globale Scripte hast die jeweils 50% deiner Scripte nutzen, dann würde ein großes 100% deiner Scripte betreffen. Das wäre also Kontraproduktiv.
      Du solltest dir Überlegen ob du wirklich alle Globale Scripte brauchst und in welchen Scripten.
      Seit einer weile kann man auch mit messageTo Nachrichten zwischen Scripten austauschen.
      Das sollte man bevorzugen.

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      U 2 Antworten Letzte Antwort
      2
      • Jey CeeJ Jey Cee

        @uwe72 sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

        D.h. übertrieben gesagt, alle global-Scripte in 1 Global Script überführen?

        Naja wenn du jetzt 2 Globale Scripte hast die jeweils 50% deiner Scripte nutzen, dann würde ein großes 100% deiner Scripte betreffen. Das wäre also Kontraproduktiv.
        Du solltest dir Überlegen ob du wirklich alle Globale Scripte brauchst und in welchen Scripten.
        Seit einer weile kann man auch mit messageTo Nachrichten zwischen Scripten austauschen.
        Das sollte man bevorzugen.

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

        Generell Danke schon einmal für deine Antworten!!

        @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

        Naja wenn du jetzt 2 Globale Scripte hast die jeweils 50% deiner Scripte nutzen, dann würde ein großes 100% deiner Scripte betreffen. Das wäre also Kontraproduktiv.

        Würde aber bedeuten, nur dass ich es besser verstehe,

        Angenommen ich habe 10 Common-Scripte und 3 Global Scripte (g1,g2,g3):
        Ändere ich was an "g1" würde nur die neue Inhalt von "g1" in den 10 common-Scripten aktualisiert werden. Die gleichbleibenden Inhalte von g2 und g3 würden in den common-Scripten nicht angepasst werden? Vermutlich würde es dann eher helfen die Anzahl der common-Scripte zu reduzieren. Da habe ich sehr viele kleine.

        Generell:
        Ich habe eben beispielsweise in den global scripten in einem Array alle Devices hinterlegt mit einigen Zusatzinformationen (Etage, Raum,.... u.v.m.). In den Common-Scripten möchte ich auf diese Arrays zugreifen. Zudem sind in global viele Funktionen die ich immer wieder benötige und ich möchte Code nicht immer duplizieren.

        Ich habe das mit dem messageTo noch nicht ganz verstanden. Ich bräuchte aber eher was getMessageFrom ;-) D.h. Auslöser sind ja meine common-Scripte wo ich von anderer Stelle (aktuell in global) was benötige.

        paul53P 1 Antwort Letzte Antwort
        0
        • Jey CeeJ Jey Cee

          @uwe72 sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

          D.h. übertrieben gesagt, alle global-Scripte in 1 Global Script überführen?

          Naja wenn du jetzt 2 Globale Scripte hast die jeweils 50% deiner Scripte nutzen, dann würde ein großes 100% deiner Scripte betreffen. Das wäre also Kontraproduktiv.
          Du solltest dir Überlegen ob du wirklich alle Globale Scripte brauchst und in welchen Scripten.
          Seit einer weile kann man auch mit messageTo Nachrichten zwischen Scripten austauschen.
          Das sollte man bevorzugen.

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

          Bitte Kommentar löschen

          1 Antwort Letzte Antwort
          0
          • U uwe72

            Generell Danke schon einmal für deine Antworten!!

            @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

            Naja wenn du jetzt 2 Globale Scripte hast die jeweils 50% deiner Scripte nutzen, dann würde ein großes 100% deiner Scripte betreffen. Das wäre also Kontraproduktiv.

            Würde aber bedeuten, nur dass ich es besser verstehe,

            Angenommen ich habe 10 Common-Scripte und 3 Global Scripte (g1,g2,g3):
            Ändere ich was an "g1" würde nur die neue Inhalt von "g1" in den 10 common-Scripten aktualisiert werden. Die gleichbleibenden Inhalte von g2 und g3 würden in den common-Scripten nicht angepasst werden? Vermutlich würde es dann eher helfen die Anzahl der common-Scripte zu reduzieren. Da habe ich sehr viele kleine.

            Generell:
            Ich habe eben beispielsweise in den global scripten in einem Array alle Devices hinterlegt mit einigen Zusatzinformationen (Etage, Raum,.... u.v.m.). In den Common-Scripten möchte ich auf diese Arrays zugreifen. Zudem sind in global viele Funktionen die ich immer wieder benötige und ich möchte Code nicht immer duplizieren.

            Ich habe das mit dem messageTo noch nicht ganz verstanden. Ich bräuchte aber eher was getMessageFrom ;-) D.h. Auslöser sind ja meine common-Scripte wo ich von anderer Stelle (aktuell in global) was benötige.

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

            @uwe72 sagte: common-Scripte zu reduzieren. Da habe ich sehr viele kleine.

            Das ist offenbar zusammen mit

            @uwe72 sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

            in den global scripten in einem Array alle Devices hinterlegt mit einigen Zusatzinformationen (Etage, Raum,.... u.v.m.).

            das Problem. In jedes noch so kleine common-Script wird das Array kompiliert.

            @uwe72 sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

            in global viele Funktionen die ich immer wieder benötige

            Genau dafür ist "global" gedacht, da Funktionen nur kompiliert werden, wenn sie im Skript aufgerufen werden.

            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
            1
            • U uwe72

              Ich habe viele common und global Scripte, welche in Typescript geschrieben sind. Mittlerweilen ist es so, dass wenn ich ein global-Script anpasse, die CPU auf 100% steigt und der Rechner in die Knie geht und sich nicht mehr erholt.

              Das Ganze läuft auf einem NUC (i5-10210U @ 1.6GHz, 8GB RAM.

              Im normalen Betrieb reicht die Leistung des NUCs absolut aus. Eben nur nicht bei den Prozessen TypeScript-Kompilierung und "Umkopieren der Scripte von global, jeweils in common rein).
              Hat jemand ähnliche Erfahrungen gemacht bzw. was kann man optimieren?
              Würde mich sehr über Tipps/Erfahrungen freuen.

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

              @uwe72
              Das allerbeste wäre alles in ein lokales NPM Paket zu legen und das dann in die Konfiguration des Java Skript Adapters zu packen.
              Allerdings weiß ich nicht, ob die Konfigurationsseite mit lokalen NPM Pfaden umgehen kann.
              https://www.stefanjudis.com/today-i-learned/npm-install-supports-local-packages/

              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
              • Jey CeeJ Jey Cee

                @uwe72 sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                Umkopieren der Scripte von global

                Ist eigentlich wenig verwunderlich. Die Globalen Scripte werden an den Anfang aller anderen Scripte geschrieben.
                Das bedeutet die müssen auch alle neu Kompiliert werden wenn sie in Typescript geschrieben sind, aber mindestens werden sie neu gestartet.

                G Offline
                G Offline
                GombersIOB
                schrieb am zuletzt editiert von
                #9

                @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                die müssen auch alle neu Kompiliert werden wenn sie in Typescript geschrieben sind

                Hieße doch, sie in JavaScripts zu transformieren könnte eine Lösung sein?

                Jey CeeJ OliverIOO 2 Antworten Letzte Antwort
                0
                • G GombersIOB

                  @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                  die müssen auch alle neu Kompiliert werden wenn sie in Typescript geschrieben sind

                  Hieße doch, sie in JavaScripts zu transformieren könnte eine Lösung sein?

                  Jey CeeJ Online
                  Jey CeeJ Online
                  Jey Cee
                  Developer
                  schrieb am zuletzt editiert von
                  #10

                  @gombersiob das würde zwar die Last reduzieren, ja, aber nur bedingt da dennoch alle Scripte neu gestartet werden.

                  Persönlicher Support
                  Spenden -> paypal.me/J3YC33

                  G 1 Antwort Letzte Antwort
                  0
                  • Jey CeeJ Jey Cee

                    @gombersiob das würde zwar die Last reduzieren, ja, aber nur bedingt da dennoch alle Scripte neu gestartet werden.

                    G Offline
                    G Offline
                    GombersIOB
                    schrieb am zuletzt editiert von
                    #11

                    @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                    da dennoch alle Scripte neu gestartet werden

                    Nur zu meinem Verständnis:
                    Jedesmal wenn ich eine Script (common) verändere, werden alle anderen Scripte auch neu gestartet? Ich verstehe, wenn ein global geändert wird, dass das notwendig ist, aber beim common?
                    Aber wie dem auch sei. Ich könnte mir vorstellen, dass das Kompilieren einen Großteil des CPU-Aufwands bedeutet. Wenn er also (ich schieße einfach mal aus dem Bauch eine Zahl) 50% spart, würde ihm das vermutlich helfen?

                    G 1 Antwort Letzte Antwort
                    0
                    • G GombersIOB

                      @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                      da dennoch alle Scripte neu gestartet werden

                      Nur zu meinem Verständnis:
                      Jedesmal wenn ich eine Script (common) verändere, werden alle anderen Scripte auch neu gestartet? Ich verstehe, wenn ein global geändert wird, dass das notwendig ist, aber beim common?
                      Aber wie dem auch sei. Ich könnte mir vorstellen, dass das Kompilieren einen Großteil des CPU-Aufwands bedeutet. Wenn er also (ich schieße einfach mal aus dem Bauch eine Zahl) 50% spart, würde ihm das vermutlich helfen?

                      G Offline
                      G Offline
                      GombersIOB
                      schrieb am zuletzt editiert von
                      #12

                      @gombersiob
                      Sorry, habe den ersten Beitrag jetzt nochmal gelesen. Es ging ja tatsächlich um das Ändern der globalen Scripte.

                      1 Antwort Letzte Antwort
                      0
                      • G GombersIOB

                        @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                        die müssen auch alle neu Kompiliert werden wenn sie in Typescript geschrieben sind

                        Hieße doch, sie in JavaScripts zu transformieren könnte eine Lösung sein?

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

                        @gombersiob sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                        @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                        die müssen auch alle neu Kompiliert werden wenn sie in Typescript geschrieben sind

                        Hieße doch, sie in JavaScripts zu transformieren könnte eine Lösung sein?

                        Jein, wird es durch den typescript transpiler ja sowieso
                        Vorteil ist, das Pakete für sich kompiliert werden und erst neu kompiliert werden. Wenn es Änderungen gibt.

                        Ja, die Iobroker Skripte müssen neu gestartet werden.
                        Dann liegt aber der Performance schlucker nicht im kompilieren sondern an den Aktivitäten der Skripte selbst und bei jedem Neustart one Änderung oder nicht, geht die Performance weg.

                        Soweit ich es verstanden habe, werden die Common und global Skripte einfach vor jedes Skript kopiert.

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

                        HomoranH G 2 Antworten Letzte Antwort
                        0
                        • OliverIOO OliverIO

                          @gombersiob sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                          @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                          die müssen auch alle neu Kompiliert werden wenn sie in Typescript geschrieben sind

                          Hieße doch, sie in JavaScripts zu transformieren könnte eine Lösung sein?

                          Jein, wird es durch den typescript transpiler ja sowieso
                          Vorteil ist, das Pakete für sich kompiliert werden und erst neu kompiliert werden. Wenn es Änderungen gibt.

                          Ja, die Iobroker Skripte müssen neu gestartet werden.
                          Dann liegt aber der Performance schlucker nicht im kompilieren sondern an den Aktivitäten der Skripte selbst und bei jedem Neustart one Änderung oder nicht, geht die Performance weg.

                          Soweit ich es verstanden habe, werden die Common und global Skripte einfach vor jedes Skript kopiert.

                          HomoranH Nicht stören
                          HomoranH Nicht stören
                          Homoran
                          Global Moderator Administrators
                          schrieb am zuletzt editiert von
                          #14

                          @oliverio sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                          werden die Common und global Skripte einfach vor jedes Skript kopiert.

                          doch nicht common!

                          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 -

                          1 Antwort Letzte Antwort
                          1
                          • OliverIOO OliverIO

                            @gombersiob sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                            @jey-cee said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                            die müssen auch alle neu Kompiliert werden wenn sie in Typescript geschrieben sind

                            Hieße doch, sie in JavaScripts zu transformieren könnte eine Lösung sein?

                            Jein, wird es durch den typescript transpiler ja sowieso
                            Vorteil ist, das Pakete für sich kompiliert werden und erst neu kompiliert werden. Wenn es Änderungen gibt.

                            Ja, die Iobroker Skripte müssen neu gestartet werden.
                            Dann liegt aber der Performance schlucker nicht im kompilieren sondern an den Aktivitäten der Skripte selbst und bei jedem Neustart one Änderung oder nicht, geht die Performance weg.

                            Soweit ich es verstanden habe, werden die Common und global Skripte einfach vor jedes Skript kopiert.

                            G Offline
                            G Offline
                            GombersIOB
                            schrieb am zuletzt editiert von
                            #15

                            @oliverio said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                            Ja, die Iobroker Skripte müssen neu gestartet werden.
                            Dann liegt aber der Performance schlucker nicht im kompilieren sondern an den Aktivitäten der Skripte selbst und bei jedem Neustart one Änderung oder nicht, geht die Performance weg.

                            Aber die Scripte machen doch in der Regel nichts beim Neustart. Meine haben eigentlich alle einen Trigger, die laufen nicht einfach so los.

                            Soweit ich es verstanden habe, werden die Common und global Skripte einfach vor jedes Skript kopiert.

                            Die "Common"-Scripte sind ja die laufenden Scripte. Es werden, wie ich hier lerne die "Global"-Scripte vor jedes Common-Script kopiert.

                            HomoranH 2 Antworten Letzte Antwort
                            0
                            • G GombersIOB

                              @oliverio said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                              Ja, die Iobroker Skripte müssen neu gestartet werden.
                              Dann liegt aber der Performance schlucker nicht im kompilieren sondern an den Aktivitäten der Skripte selbst und bei jedem Neustart one Änderung oder nicht, geht die Performance weg.

                              Aber die Scripte machen doch in der Regel nichts beim Neustart. Meine haben eigentlich alle einen Trigger, die laufen nicht einfach so los.

                              Soweit ich es verstanden habe, werden die Common und global Skripte einfach vor jedes Skript kopiert.

                              Die "Common"-Scripte sind ja die laufenden Scripte. Es werden, wie ich hier lerne die "Global"-Scripte vor jedes Common-Script kopiert.

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #16

                              @gombersiob sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                              Aber die Scripte machen doch in der Regel nichts beim Neustart

                              doch! sie weden kompiliert

                              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 -

                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • G GombersIOB

                                @oliverio said in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                                Ja, die Iobroker Skripte müssen neu gestartet werden.
                                Dann liegt aber der Performance schlucker nicht im kompilieren sondern an den Aktivitäten der Skripte selbst und bei jedem Neustart one Änderung oder nicht, geht die Performance weg.

                                Aber die Scripte machen doch in der Regel nichts beim Neustart. Meine haben eigentlich alle einen Trigger, die laufen nicht einfach so los.

                                Soweit ich es verstanden habe, werden die Common und global Skripte einfach vor jedes Skript kopiert.

                                Die "Common"-Scripte sind ja die laufenden Scripte. Es werden, wie ich hier lerne die "Global"-Scripte vor jedes Common-Script kopiert.

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von
                                #17

                                @gombersiob sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                                die "Global"-Scripte vor jedes Common-Script kopiert.

                                auch vor alle Skripte, die im Wurzelverzeichnis 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 -

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • HomoranH Homoran

                                  @gombersiob sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                                  die "Global"-Scripte vor jedes Common-Script kopiert.

                                  auch vor alle Skripte, die im Wurzelverzeichnis liegen

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

                                  @homoran sagte: auch vor alle Skripte, die im Wurzelverzeichnis liegen

                                  ... oder in jeder anderen Gruppe als "global".

                                  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
                                  1
                                  • HomoranH Homoran

                                    @gombersiob sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                                    Aber die Scripte machen doch in der Regel nichts beim Neustart

                                    doch! sie weden kompiliert

                                    ArmilarA Offline
                                    ArmilarA Offline
                                    Armilar
                                    Most Active Forum Testing
                                    schrieb am zuletzt editiert von
                                    #19

                                    @homoran sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                                    Aber die Scripte machen doch in der Regel nichts beim Neustart

                                    doch! sie weden kompiliert

                                    Aber nur wenn es Änderungen gibt...

                                    609df1d8-c90a-48aa-812b-d20d8c289793-image.png

                                    Ansonsten wird die Version aus dem Cache genutzt.

                                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

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

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • ArmilarA Armilar

                                      @homoran sagte in TypeScript, viele common/global Scripte --> CPU am Anschlag:

                                      Aber die Scripte machen doch in der Regel nichts beim Neustart

                                      doch! sie weden kompiliert

                                      Aber nur wenn es Änderungen gibt...

                                      609df1d8-c90a-48aa-812b-d20d8c289793-image.png

                                      Ansonsten wird die Version aus dem Cache genutzt.

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

                                      @armilar sagte: Ansonsten wird die Version aus dem Cache genutzt.

                                      Das betrifft anscheinend den Precompiler TypeScript --> Javascript.
                                      Skripte werden bei jedem Neustart kompiliert, da beim Stoppen der RAM freigegeben 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

                                      U 1 Antwort Letzte Antwort
                                      1
                                      • paul53P paul53

                                        @armilar sagte: Ansonsten wird die Version aus dem Cache genutzt.

                                        Das betrifft anscheinend den Precompiler TypeScript --> Javascript.
                                        Skripte werden bei jedem Neustart kompiliert, da beim Stoppen der RAM freigegeben wurde.

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

                                        Ich habe aus ca. 40 (kleineren) Common-Scripte ca. 25 (größere) gemacht und von 8 global Scripten auf 5 reduziert.

                                        Ich laufe nun zumindest nicht mehr in das CPU-Problem rein. Das Speichern nach dem Ändern eines Global-Script dauert nun ca. 5 Minuten.

                                        Übrigens, das Ändern von Common-Scripten ist nie ein Problem, auch vor der "Optimierung" nicht.

                                        U 1 Antwort Letzte Antwort
                                        0
                                        • U uwe72

                                          Ich habe aus ca. 40 (kleineren) Common-Scripte ca. 25 (größere) gemacht und von 8 global Scripten auf 5 reduziert.

                                          Ich laufe nun zumindest nicht mehr in das CPU-Problem rein. Das Speichern nach dem Ändern eines Global-Script dauert nun ca. 5 Minuten.

                                          Übrigens, das Ändern von Common-Scripten ist nie ein Problem, auch vor der "Optimierung" nicht.

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

                                          Generell mache ich sehr viel mit Scripten und stoße aktuell an Grenzen mit den Rahmenbedingungen:

                                          • TypeScript
                                          • ca. 40 common-Scripte
                                          • ca. 5-8 global-Scripte (mit teilweise bis zu 3000 Zeilen Code)

                                          Ich spiele in einer anderen ioBroker-Umgebung mit dem Thema "messageTo" herum mit dem Ziel ganz auf global-Scripte verzichten zu können.

                                          Ist ein wenig ein konstruiertes Beispiel, aber ganze Klassen(-inhalte) bekommt man nicht verschickt, oder? Sondern vermutlich nur "primitive" Datentypen oder vermutlich json?

                                          export class TestPosition {
                                              private threeQuarter:   number;
                                              private half:         number;
                                              private oneQuarter:     number;
                                          
                                              constructor(threeQuarter: number, half: number, oneQuarter: number) {
                                                  this.threeQuarter = threeQuarter;
                                                  this.half = half;
                                                  this.oneQuarter = oneQuarter;
                                              }
                                          
                                              public getThreeQuarter() : number {
                                                  return this.threeQuarter;
                                              }
                                              public getHalf() : number {
                                                  return this.half;
                                              }
                                              public getOneQuarter() : number {
                                                  return this.oneQuarter;
                                              }
                                          }
                                          
                                          //var data = "uwe";
                                          var data = new TestPosition(10,20,30);
                                          
                                          messageTo({ instance: 'javascript.0', script: 'script.js.common.Test2', message: 'message1' }, data, {timeout: 1000}, result =>
                                              console.log(JSON.stringify(result)));
                                          
                                          //@ts-expect-error
                                          onMessage('message1', (data, callback) => {
                                              console.log(`UWE !!! Received data: ${data}`); callback({ result: Date.now() });
                                              var my = data.getThreeQuarter();
                                              log("YIPIEEEEEEEEEEEEEEEEEE: " + my);
                                          });
                                          
                                          Error in callback: TypeError: data.getThreeQuarter is not a function
                                          
                                          paul53P T 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          810

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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