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

  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. [Experimentell] JS-Controller compact mode

NEWS

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

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

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

[Experimentell] JS-Controller compact mode

Geplant Angeheftet Gesperrt Verschoben Entwicklung
47 Beiträge 14 Kommentatoren 10.5k 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.
  • apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #9

    Erst einmal muss man den compact Mode für den JS:Controller einschalten. Wenn er aus ist werden alle Adapter gestartet wie bisher auch. Also alle die VMs und genug RAM haben werden wohl das weiter so nutzen wie jetzt.

    Mit dem oben verlinkten Admin-Issue und der Erweiterung darin könnte man dann pro Instanz auch bei aktiviertem compact-Mode entscheiden welche Instanz wie läuft. Und wenn man https://github.com/ioBroker/ioBroker.js … issues/303 noch macht wirds noch flexibler :-)

    Auf Low-Memory Systemen kann der compact Mode genutzt werden

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    1 Antwort Letzte Antwort
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #10

      @arteck:

      wird dann der einzelstart bzw restart eines Adapters noch gehen ?? `

      Aktuell nicht, soll aber noch behoben werden.

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von
        #11

        Gleich mal ne Frage zur Version, ich habe gesehen, das im latest wieder js-controller 1.5.3 angeboten wird. Läuft die Version nun problemlos, oder sollte man da besser bei 1.4.2 bleiben?

        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #12

          Uups auch nicht Absicht. Sage es bluefox.

          Gesendet vom Handy …

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          1 Antwort Letzte Antwort
          0
          • J Offline
            J Offline
            Jan1
            schrieb am zuletzt editiert von
            #13

            Alles klar und danke für die Info.

            1 Antwort Letzte Antwort
            0
            • apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #14

              For All: Ich habe eine Zeile oben im Initialen Post gefixt:

              > typeof module !== undefined muss entweder typeof module !== "undefined" oder module != undefined oder einfach nur module sein.

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Antwort Letzte Antwort
              0
              • apollon77A Offline
                apollon77A Offline
                apollon77
                schrieb am zuletzt editiert von
                #15

                Koordiniering der Implementierung in alle Adapter: https://docs.google.com/spreadsheets/d/ … sp=sharing

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                1 Antwort Letzte Antwort
                0
                • apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #16

                  Update compact Mode: aktuellste GitHub Version 1.6.0 sollte stoppen von compact-adatern und auch prozess-umbenennen gefixt haben

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    SchuetzeSchulz
                    schrieb am zuletzt editiert von
                    #17

                    Hallo zusammen,

                    ich würde auch gern meine Adapter (lgtv, lgtv11, hp-ilo, enet) ändern.

                    Allerdings habe ich den zu ändern Code

                         const adapter = new utils.Adapter({
                              name: ...,
                              stateChange: function () {...},
                              ...
                         });
                    
                    

                    So in keinen meiner Adapter drin. Alle meine Adapter sind vom Aufbau im Prinzip gleich. Kann da mal jemand schauen und mir sagen was ich wo ändern muss? Den Eintrag in der JSON sehe ich nicht als Problem.

                    1 Antwort Letzte Antwort
                    0
                    • blauholstenB Offline
                      blauholstenB Offline
                      blauholsten
                      Developer
                      schrieb am zuletzt editiert von
                      #18

                      … er geschrieben dann überlegt :oops:

                      Entwickler vom: - Viessman Adapter
                      - Alarm Adapter

                      1 Antwort Letzte Antwort
                      0
                      • B Offline
                        B Offline
                        BasGo
                        schrieb am zuletzt editiert von
                        #19

                        @SchuetzeSchulz:

                        Hallo zusammen,

                        ich würde auch gern meine Adapter (lgtv, lgtv11, hp-ilo, enet) ändern.

                        Allerdings habe ich den zu ändern Code

                             const adapter = new utils.Adapter({
                                  name: ...,
                                  stateChange: function () {...},
                                  ...
                             });
                        
                        

                        So in keinen meiner Adapter drin. Alle meine Adapter sind vom Aufbau im Prinzip gleich. Kann da mal jemand schauen und mir sagen was ich wo ändern muss? Den Eintrag in der JSON sehe ich nicht als Problem. `

                        Kann dir gerne im Laufe des Tages mal deinen ioBroker.lgtv anpassen und dir einen PR schicken?

                        Dort hast du z.B. in Zeile 161 sowas wie ..

                        adapter.on('stateChange', function (id, state)
                        { ... }
                        

                        .. und das müsste u.a. halt ersetzt werden. 8-)

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          SchuetzeSchulz
                          schrieb am zuletzt editiert von
                          #20

                          @BasGo:

                          Kann dir gerne im Laufe des Tages mal deinen ioBroker.lgtv anpassen und dir einen PR schicken? `

                          Das wäre super. Dann würde ich das für die anderen Adapter übernehmen wollen.

                          Vielen Dank schon mal im Voraus!

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            SchuetzeSchulz
                            schrieb am zuletzt editiert von
                            #21

                            Danke BasGo :)

                            Funktioniert prima. Habe die anderen jetzt ach angepasst.

                            Geht doch einfacher als es aussieht :)

                            Einer noch :)

                            1 Antwort Letzte Antwort
                            0
                            • T Offline
                              T Offline
                              tobsi85
                              schrieb am zuletzt editiert von
                              #22

                              Bei mir leider nicht mehr! nach dem Update vom Adapter Enet, stellt er keine Verbindung mehr her.

                              Im Log steht: instance system.adapter.enet.0 terminated with code 10 (Cannot find start file of adapter)

                              Warum?

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                SchuetzeSchulz
                                schrieb am zuletzt editiert von
                                #23

                                Kann ich so leider nicht nachvollziehen.

                                Habe bei mir extra den eNet-Adapter komplett deinstalliert, aus dem Github neu installiert und er läuft.

                                1 Antwort Letzte Antwort
                                0
                                • apollon77A Offline
                                  apollon77A Offline
                                  apollon77
                                  schrieb am zuletzt editiert von
                                  #24

                                  @tobsi85:

                                  Bei mir leider nicht mehr! nach dem Update vom Adapter Enet, stellt er keine Verbindung mehr her.

                                  Im Log steht: instance system.adapter.enet.0 terminated with code 10 (Cannot find start file of adapter)

                                  Warum? `
                                  Versuch mal „iobroker upload enet“ und dann neu starten

                                  Gesendet vom Handy …

                                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                  1 Antwort Letzte Antwort
                                  0
                                  • T Offline
                                    T Offline
                                    tobsi85
                                    schrieb am zuletzt editiert von
                                    #25

                                    Super für die schnelle Antwort… Danke euch.

                                    Läuft wieder!

                                    Hab es auch direkt aus dem GitHub installiert...

                                    1 Antwort Letzte Antwort
                                    0
                                    • frankjokeF Offline
                                      frankjokeF Offline
                                      frankjoke
                                      schrieb am zuletzt editiert von
                                      #26

                                      Ich möchte meine Adapter langsam umbauen aber diese auch vorher testen bevor ich auf git publishe.

                                      Wie kann ich auf einem Test-Raspi den beta-cs-controller installieren und kann man dann bei jeder Instanz entscheiden ob sie compact sein soll oder nicht?

                                      Ich will nicht dass mein Adapter den controller killt wenn irgendwelche Fehler auftreten. Momentan ist's wurscht da er normal wieder gestartet wird, jetzt wäre es eher ein fataler Fehler (ist ja schon beim Javascript-Adapter so dass man mit manchen scripten den ganzen Adapter abschießen kann).

                                      Deshalb der Test, und bei einigen Adaptern muss ich auch noch die Verbindungs-Logik ändern, jetzt wird nur verbunden (mit einem externen device) wenn der Adapter gestartet wird. Ist die Verbing nich möglich startet der Adapter neu.

                                      Kann im compact mode der adapter auch neu gestartet werden (= neue compact-instanz die alte Referenzen wie .on-Befehle oder timeouts automatisch löscht)? Bis jetz musste man sich darum nicht kümmern wenn der Adapter heruntergefahren wurde da die komplette Instant weg war.

                                      Deshalb ist der einstieg/umstieg nicht nur einige Zeilen code zum einfügen!

                                      Frank,

                                      NUC's, VM's und Raspi's unter Raspian, Ubuntu und Debian zum Testen.
                                      Adapter die ich selbst beigesteuert habe: BMW, broadlink2, radar2, systeminfo, km200, xs1 und einige im Anmarsch!

                                      1 Antwort Letzte Antwort
                                      0
                                      • apollon77A Offline
                                        apollon77A Offline
                                        apollon77
                                        schrieb am zuletzt editiert von
                                        #27

                                        @fsjoke:

                                        Wie kann ich auf einem Test-Raspi den beta-cs-controller installieren und kann man dann bei jeder Instanz entscheiden ob sie compact sein soll oder nicht? `

                                        im ioBroker Verzeichnis ein

                                        npm install ioBroker/ioBroker.js.controller#1.6.0-dev
                                        

                                        Dann wie oben beschrieben aktivieren (eigentlich steht alles oben im ersten Post räusper

                                        Pro instanz wählen geht noch nicht, dazu gibtes ein Admin Issue um das bis zum release zu machen. Es wird alles was compact kann als compact ausgeführt wenn man es aktiviert.

                                        @fsjoke:

                                        Ich will nicht dass mein Adapter den controller killt wenn irgendwelche Fehler auftreten. Momentan ist's wurscht da er normal wieder gestartet wird, jetzt wäre es eher ein fataler Fehler (ist ja schon beim Javascript-Adapter so dass man mit manchen scripten den ganzen Adapter abschießen kann).

                                        Deshalb der Test, und bei einigen Adaptern muss ich auch noch die Verbindungs-Logik ändern, jetzt wird nur verbunden (mit einem externen device) wenn der Adapter gestartet wird. Ist die Verbing nich möglich startet der Adapter neu. `

                                        Das sollte generell tun. Du must nur wie oben beschrieben adapter.terminate() nutzen anstelle process.exit!

                                        Und Ja Adapter sollten ein robustes Fehlerhandling haben.

                                        @fsjoke:

                                        Kann im compact mode der adapter auch neu gestartet werden (= neue compact-instanz die alte Referenzen wie .on-Befehle oder timeouts automatisch löscht)? Bis jetz musste man sich darum nicht kümmern wenn der Adapter heruntergefahren wurde da die komplette Instant weg war. `

                                        Sollte tun … teste es und falls es Probleme gibt mach Issues auf.

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        1 Antwort Letzte Antwort
                                        0
                                        • frankjokeF Offline
                                          frankjokeF Offline
                                          frankjoke
                                          schrieb am zuletzt editiert von
                                          #28

                                          Ok, wollte heute den ersten Adapter auf compact mode testen und hab auf meinen Testraspi iobroker neu installiert da ich das iobroker start/stop unbedingt brauch.

                                          Das hat auch funktioniert, und ich hab auch meine V2 development Version des Raspi's laden.

                                          Nun hab ich ausprobiert den js-controller wie von dir beschrieben auf 1.6.0-dev upzudaten:

                                          npm install ioBroker/ioBroker.js.controller#1.6.0-dev
                                          

                                          Das funktionierte gar nicht

                                          npm ERR! code EINVALIDTAGNAME
                                          npm ERR! Invalid tag name "ioBroker.js.controller#1.6.0-dev": Tags may not have any characters that encodeURIComponent encodes.
                                          
                                          

                                          Dann hab ich's mit

                                          npm install https://github.com/ioBroker/ioBroker.js-controller/tarball/1.6.0-dev
                                          

                                          versucht, NPM installierte und ich hab dann natürlich iobroker start aufgerufen und folgendes bekommen:

                                          pi@raspi4:/opt/iobroker $ iobroker start
                                          module.js:550
                                              throw err;
                                              ^
                                          
                                          Error: Cannot find module '/opt/iobroker/lib/setup.js'
                                              at Function.Module._resolveFilename (module.js:548:15)
                                              at Function.Module._load (module.js:475:25)
                                              at Module.require (module.js:597:17)
                                              at require (internal/module.js:11:18)
                                              at Object. <anonymous>(/opt/iobroker/iobroker:2:1)
                                              at Module._compile (module.js:653:30)
                                              at Object.Module._extensions..js (module.js:664:10)
                                              at Module.load (module.js:566:32)
                                              at tryModuleLoad (module.js:506:12)
                                              at Function.Module._load (module.js:498:3)</anonymous> 
                                          

                                          Alse der 1.6dev dürfte nicht mit dem neuen Start zusammenarbeiten!

                                          Bitte melde dich wenn man eine frische Installation mit 1.6dev testen kann.

                                          Frank,

                                          NUC's, VM's und Raspi's unter Raspian, Ubuntu und Debian zum Testen.
                                          Adapter die ich selbst beigesteuert habe: BMW, broadlink2, radar2, systeminfo, km200, xs1 und einige im Anmarsch!

                                          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

                                          453

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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