Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. js-controller 3.1 jetzt im STABLE!

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    js-controller 3.1 jetzt im STABLE!

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 last edited by apollon77

      Hallo ioBroker-Community,

      nach einer längeren Test- und Latest-Phase kommt heute der neuen js-controller 3.1.4 (Releasename "Francesca") ins Stable Repository (sollte im laufe des Abends bei allen auftauchen). Ein großer Dank geht an alle User die bereits in den Letzten Tagen diese Version im Beta test und danach im Latest getestet und Probleme und Fehler zur Behebung gemeldet haben!

      Node.js Versions-Anforderungen
      Nach dem frühzeitigen aus für Node.js 8 bereits letzten November setzt diese neue Version nun Node.js 10.x voraus und funktioniert ebenso mit Node.js 12.x und auch mit Node.js 14.x. Wir heben mit diesem Release auch die empfohlene Node.js Version für ioBroker auf 12.x an.
      Bitte beachtet weiterhin bei Node.js Updates die Anleitung im Forum unter https://forum.iobroker.net/post/266625

      Error/Crash-Reporting mittels Sentry
      Der js-controller hat jetzt standardmässig Sentry als Fehler-Reporting eingebaut und aktiviert. Der js-controller weisst bei der Erstinstallation einer Version >3.1 beim Upgrade gesondert darauf hin! Diese Funktion kann, falls gewünscht, mittels iobroker plugin disable sentry deaktivier werden. Wenn also der js-controller mit einer Fehlermeldung abstürzt (und nur dann!) werden die Fehlerdetails anonymisiert an einen von uns selbst in Deutschland betriebenen Sentry-Server gemeldet. IPs o.ä. personalisierte Daten werden nicht gespeichert. Dieses Fehler-Reporting hilft uns bei Crashes schneller und genauer zu sehen was los ist und solche Fehler noch schneller beheben zu können. Bitte legt für Crashes die Ihr seht bitte trotzdem weiterhin GitHub-Issues an und unterstützt uns indem Ihr das Fehler-Reporting aktiviert lasst. Weitere Details findet Ihr unter https://github.com/ioBroker/plugin-sentry#what-is-sentrysentryio .
      Auch immer mehr Adapter nutzen diese Form des Fehler-Reportings, was in den jeweiligen Readme's enthalten ist.

      Informationen zur Version
      Diese Version bringt einige Features mit, ist aber ebenso der Beginn um "unter der Haube" einiges zu vereinheitlichen und Wildwuchs in der Umsetzung einiger Adapter etwas einzugrenzen. Es gibt allerdings auch neue Features mit die die Adapter-Entwicklung vereinfachen und Hürden abbauen. Aus diesem Grund ist auch die Liste der Themen welche vor allem für Entwickler relevant sind diesmal recht lang.
      Allerdings werden Aktionen von Adaptern die eigentlich den Regeln widersprechen jetzt über Logging sichtbar gemacht. Bitte unterstützt hier und legt bei den relevanten Adaptern Issues an das diese Dinge gefixt werden können. Für den js-controller 3.2 (ca. September 2020) ist es geplant einige dieser "verbotenen Aktionen" auch wirklich zu verhindern. Dazu dann zu gegebener Zeit mehr.

      Darüber hinaus gibt es natürlich viele Optimierungen und Fixes. Mehr dazu weiter unten und im Changelog.

      Ich bedenke mich diesmal besonders bei @foxriver76, @AlCalzone und natürlich @Bluefox für die aktive Mitarbeit an dieser Version!

      Der js-controller 3.1 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. Ein Update von der 2.0/2.1/2.2 ist problemlos möglich. Nur die Node.js Version muss jetzt mindestens 10.x sein, wie oben bereits ausgeführt. Wer überlegt die Node.js Version anzuheben bitte am besten als zweiten getrennten Schritt machen um sicherzustellen das man weiss wo ein potentielles Problem aufgetaucht ist! Bitte beachtet weiterhin bei Node.js Updates die Anleitung im Forum unter https://forum.iobroker.net/post/266625

      Es gibt diesmal ein paar Adapter die Aktualisiert werden müssen und viele weitere die aktualisiert werden sollten um die oben genannten Warnungen zu vermeiden! Mehr dazu im nächsten Abschnitt!


      Installation


      VOR der Installation

      Wie bei jedem Update dieser Art: Bitte macht ein Backup! iobroker backup, bzw. kopieren des iobroker-data Verzeichnisses reichen an sich im Zweifel auch aus (ioBroker vorher stoppen natürlich). Bitte nicht das node_modules Verzeichnis einfach kopieren, da sonst symbolische Links kaputt gehen können, was zu größeren Problemen danach führt.

      Nötige Adapter-Aktualisierungen

      Die folgenden Adapter müssen auf die genannten Minimalversionsnummern aktualisiert werden, da diese sonst nicht mit dem js-controller 3.1 funktionieren. Diese Updates am besten vorher ausführen, weil alle genannten Versionen auch mit den alten js-controller Versionen funktionieren.

      • pushover 1.1.x funktioniert, falls 1.2.x im Einsatz ist bitte auf 1.3.x aktualisieren
      • tr-064 4.0.0
      • tr-064-community wird nun offiziell nicht mehr funktionieren.
      • Die soef Adapter firetv und wifilight funktionieren nicht mehr und haben Updates bekommen: Bitte wifilight 1.1.0 bzw firetv 1.0.0 nutzen. Falls jemand "wifilight-community" oder "firetv-community" nutzt bitte wieder zurück auf die anderen wechseln.
      • Der soef Adapter lightify funktioniert ebenso nicht mehr. Da Lightify als Platform allerdings in ein paar Monaten nicht mehr weiter betrieben wird haben wir entscheiden hier keinen Aufwand mehr reinzustecken. Am besten die Geräte über zigbee direkt anbinden.

      Weiterhin SOLLTE der Javascript Adapter auf 4.6.17 aktuaisiert werden, da hier Fehlerfälle aus Skripten besser behandelt werden.

      Es werden aber, wie oben ausgeführt, einige Adapter ggf Warnungen ins Log schreiben. Die wichtigsten Adapter sind mit neuen Versionen im Stable Repository allerdings schon gefixt. Falls ein Adapter "nervt" dann bitte dem Entwickler melden und den Loglevel auf "Error" setzen.

      Achtung: Slave-Systeme zuerst!

      Bei einem Multi-Host-System, welches auf js-controller 2.2 läuft ist es beim Update auf Version 3.1 empfohlen, zuerst die Slave-Systeme zu aktualisieren. Der Master wird als letztes aktualisiert!

      Bei Updates von Master/Slave-Systemen mit js-controller 1.5 oder früher auf die 3.0 müssen zwingend zuerst die Slaves und der Master als letztes aktualisiert werden. Die Slaves bleiben nach dem Update offline und werden erst wieder funktionieren wenn auch der Master auf die 3.1 aktualisiert wurde!

      Windows

      Auf Systemen, die mit dem neuen Windows Installer eingerichtet wurden, darf der js-controller nicht mit npm aktualisiert werden. Es wird eine neue Version des Windows Installers geben, die das Update des js-controllers mit wenigen Mausklicks ermöglicht. Wir updaten dazu hier im Thread.

      Für alle "alten manuellen" Installationen gilt

      • ioBroker muss gestoppt sein.
      • Vor dem Update bitte prüfen das keine Prozesse mehr laufen
      • iobroker upgrade self
      • ioBroker starten

      Linux

      • ioBroker stoppen (iobroker stop)
      • prüfen das keine Prozesse (Adapter, Backups) mehr laufen (ps auxww|grep io und auch ps auxww|grep backup ). Es passiert manchmal das trotz dem Stoppen noch Zombies zurückbleiben
      • Wie üblich wird das Update dann per iobroker upgrade self ausgeführt.
      • ioBroker starten (iobroker start)

      Bei Fehlern:
      Wenn bei der Installation Fehler wegen fehlender Zugriffsrechte auftreten, am besten den Installation-Fixer (iobroker fix wer schon einen js-controller 2.x hat, alternativ weiterhin manuell via curl -sL https://iobroker.net/fix.sh | bash -) nutzen und die Installation wiederholen.
      Falls es auch danach noch Fehler gibt, bitte die Installation erneut mittels sudo -H -u iobroker npm install iobroker.js-controller versuchen. Bitte berichtet solche Fälle hier im Thread.

      NACH der Installation

      Nach der Installation den ioBroker wieder starten (z.B. mittels iobroker start).

      Wenn alles klappt merkt Ihr ausser der höheren Versionsnummer in der Host-Ansicht im Admin keinen Unterschied. Alles funktioniert weiterhin wie vorher. Alle Adapterinstanzen starten und funktionieren. Wenn das so ist hat alles geklappt. Die großen Änderungen sind alle "Unter der Haube" versteckt.

      Dazu, was Euch jetzt die ganzen Neuerungen bringen, findet Ihr weiter unten in diesem Text Informationen. Neue Funktionen als Basis für Weiterentwicklungen wurden behutsam integriert und einige bestehende Probleme gezielt behoben.

      Mit iobroker help wird eine Liste der möglichen Kommandozeilen-Kommandos angezeigt, die mit Version 2.0 um einige Befehle länger geworden ist.


      Welche Neuerungen sind erwähnenswert?


      Neben einiger weiterer Bugfixes gibt es folgende Änderungen und Fixes zu erwähnen:

      • Der neue js-controller kann erkennen wenn es ein Node.js Update gab durch welches ggf, Adapter nicht mehr funktionieren und sollte diese automatisch reparieren (rebuilden). Wer also überlegt in dem Zuge des Tests seine Node.js Version anzuheben bitte mal explizit NICHT die übliche Anleitung nach dem Node-js update mit dem Rebuild befolgen sondern ioBroker einfach nach dem Node.js Update starten.
      • Einige Adapter fangen Probleme mit Modulen ab und loggen dann einen Fehler, der nicht als automatischer Rebuild erkannt wird. Diese können manuell mittels iobroker rebuild adaptername oder falls das nicht funktioniert hat iobroker rebuild adaptername --install neu gebaut werden. Diese Befehle lösen faktisch reinstall.js u.a. ab. Falls es dennoch nicht funktioniert gelten die bisherigen rebuild Anleitungen
      • Der js-controller prüft jetzt vor jedem Start eines Adapters wie viel RAM noch frei ist und warnt im Log falls dies zu wenig ist. Die Standard-Limits sind 100MB (Warnung) bzw. 50MB (Fehler) und dies soll verhindern das mehr Adapter-Prozesse genutzt werden als RAM verfügbar ist. Hier sind wir gespannt auf Eure Berichte.
      • Logfiles sollten jetzt wirklich nach dem täglichen rotieren auf Linux-Systemen als .gz Dateien abgelegt werden.

      Wie bereits gesagt, viele Änderungen fanden hinter den Kulissen statt. Hier für Interessierte als Spoiler eine Zusammenfassung:


      3.1.2 (2020-05-09) Release Francesca

      BREAKING CHANGES

      • Nodejs 8.x will be no longer officially supported! Supported are nodejs 10.x, 12.x and (most likely) 14.x

      Features

      • (Apollon77) Enable zip Archive setting that it is on by default again. All Logs on Linux will be packaged to .gz on rotation. This can be deactivated by configuration (see Documentation)
      • (Apollon77) Introduce CLI command "iobroker rebuild <adaptername>" or "iobroker rebuild self" (for controller) to execute an npm install/rebuild for the specified adapter
      • (Apollon77) Detect the need for a rebuild because of a nodejs update by checking adapter crash error message and execute the "iobroker rebuild" command for the affected adapter up to 3 times.
      • (foxriver76) Add ability to define separate read and write id for aliases, introduce Adapter feature flag ALIAS_SEPARATE_READ_WRITE_ID for this (see Documentation)
      • (foxriver76) Make file write intervals of objects and state file dbs configurable (see Documentation)
      • (foxriver76) Check available RAM of the system before a new adapter process is started. If it is below 50/100MB log an error/warn and make it configurable via iobroker.json (see Documentation)
      • (Apollon77) Add plugin system for js-controller and adapters (see Documentation)
      • (Apollon77) Add and automatically enable Sentry as plugin for js-controller (see infos in README.md), can be disable per host via system.host.name.plugins.sentry.enabled (see Documentation)
      • (AlCalzone) add iobroker object extend command
      • (Apollon77) Add a node.js version check and output special error message if node.js version is not satisfied
      • (Apollon77) Inform about sentry activation if not configured on "iobroker setup first"
      • (AlCalzone) Add Plugin CLI commands to enable/disable plugins

      Optimizations and Fixes

      • (bluefox) Show options for start/stop/restart if more than one instance exists for the adapter
      • (AlCalzone) Validate arguments for iobroker del ... CLI command
      • (bluefox) Log js-controller version by start of adapter too
      • (Stabilostick) Set default certificate validity to 12 months, according to new Apple rules! Existing certificates will be recreated on controller installation if no custom certificate is used
      • (bluefox) Also initialize objects with local redis connection details if setup command is called with "useRedis" parameter
      • (foxriver76) Increase timeout of hostinfo command to prevent errors on systems with low CPU
      • (foxriver76) The end of schedule adapters is no longer logged as error
      • (foxriver76) Allow CLI commands to check status of an adapter instance
      • (foxriver76) Enhancements and fixes for iobroker list files command, allow to specify exact meta folder name as parameter and not only the adapter
      • (foxriver76) Add forced repository update to help, add logging to show that it is used
      • (foxriver76) Also delete uploaded vis widgets on adapter deletion
      • (foxriver76) Restart referenced restart-adapters after uninstall also
      • (foxriver76) Prevent dot as last char of an object or state id
      • (foxriver76) Improve performance on filter actions (getObjectView) when redis is used as objects database
      • (Apollon77) Optimize sigKill handling to prevent restart loops for edge cases and slow system
      • (Apollon77) Optimize errormessage for invalid protocol on database connection and make easier understandable
      • (Apollon77) Also catch unhandled promise rejections in adapters and handle like exceptions to allow error detection and automatic restart
      • (foxriver76) Also remove objects from Enums on object deletion
      • (foxriver76) Fix adapter exiting with wrong exit codes
      • (bluefox) Fix restart CLI command
      • (foxriver) Update cache manifest correctly on visdebug and fix process exit on non existing vis dir
      • (foxriver76) No longer require restart of instance after alias object changes and other alias optimizations
      • (foxriver76) Make sure files in internal file storage are always stored with correct path and also automatically fix existing entries
      • (foxriver76) fix crash of redis setState when undefined is passed and refuse undefined as value in general
      • (Apollon77) Make sure objects update from/ts/user when extending objects in all cases
      • (AlCalzone) optimize performance when objects are duplicated and checked internally
      • (Apollon77) prevent crash if udp membership can not be added (Sentry fix)
      • (Apollon77) change object type for compact groups to "folder"
      • (Apollon77) consider the Adapter Stop Timeout also for adapter restarts to give adapters enough time to stop before restarting
      • (foxriver76) delete adapter and adapter.admin folders even if no corresponding meta objects exist
      • (Apollon77) display errors on npm uninstall
      • (Apollon77) prevent logged error from file DB where it ws tried to write meta file for already deleted folders
      • (Apollon77) catch errors when letsencrypt server can not bind to port 80 (Sentry IOBROKER-WEB-1)
      • (foxriver76) catch error on alias ids with empty objects
      • (Apollon77) make sure promise rejections without error are not crashing the controller
      • (Apollon77) handle edge case where hostName is not a string when sending messages (Sentry IOBROKER-ADMIN-B)
      • (Apollon77) handle case where letsencrypt directory can not be created (Sentry IOBROKER-ADMIN-C/IOBROKER-WEB-B)
      • (foxriver76) fix some logging in objects lib
      • (Apollon77) make sure to catch error when reading log directory (Sentry IOBROKER-JS-CONTROLLER-1F)
        (Apollon77) make sure command on cmdExec is a string (Sentry IOBROKER-JS-CONTROLLER-1H)
      • (Apollon77) Check more cases for existence of variables before accessing them (Sentry IOBROKER-JS-CONTROLLER-E)
      • (AlCalzone) Add missing parameter digest to crypto calls
      • (Apollon77) make sure Objects/States backup files are deleted correctly according to backup settings
      • (foxriver76) Make sure default state value is only set if state is not existing also in setObject
      • (foxriver76) check that alias is of type state when adding subscribing pattern
      • (Apollon77) Make sure error are checked correctly (Sentry IOBROKER-JS-CONTROLLER-1N)
      • (bluefox) store for binary states the binary flag in objects
      • (Apollon77) update Plugin system
      • (Apollon77) update Sentry plugin to respect all options to disable reporting including new disableDataReporting flag ( will be integrated into Admin later)
      • (Apollon77) make sure disabling instances while installation is running do not crash the controller (Sentry IOBROKER-JS-CONTROLLER-Z)
      • (From Forum) prevent error on backup restore
      • (Apollon77) Make sure error handing do not throw exception
      • (Apollon77) Catch all errors when trying to store the File DB (Sentry IOBROKER-JS-CONTROLLER-14/15)
      • (Apollon77) Make sure also edge cases on start adapter are handled correctly (Sentry IOBROKER-JS-CONTROLLER-12)
      • (Apollon77) make sure to correctly create empty logfile on "delLogs" (Sentry IOBROKER-JS-CONTROLLER-Q)
      • (foxriver76) make callback consistent when client has closed connection (Sentry IOBROKER-JS-CONTROLLER-R)
      • (foxriver76) add missing Error for DB closed, which was used but undefined in tools.js
      • (foxriver76) if buffer is of type object and not a buffer object log a warning - also bufferFrom null will also result in an error, prevent it (Sentry IOBROKER-JS-CONTROLLER-S)
      • (foxriver76) in edge cases def can be an object, we also support this on extendObject
      • (foxriver76) make sure stacktrace is there on validateId
      • (foxriver76) avoid error on installAdapters function due to downloadyRetry (Sentry IOBROKER-JS-CONTROLLER-V)
      • (Apollon77) make sure Logfile is rewritten with empty content (Sentry IOBROKER-JS-CONTROLLER-Q)
      • (foxriver76) ensure backward compatibility with auto decrypt function
      • (Apollon77) Re-allow states to be set with no val property but check that there is at least one property
      • (foxriver76) also call enumerateAdapterDocs when deleting all instances
      • (Apollon77) correct error handling for letsencrypt challenge server
      • (foxriver76) fix default value of extend*Object
      • (Apollon77) make sure system.config objects has correct type
      • (Apollon77) make sure error cases are handled on zip file creation for objects (Sentry IOBROKER-JS-CONTROLLER-J)
      • (Apollon77) make sure to check id when iterating over it (Sentry IOBROKER-WEB-3)
      • (Apollon77) Adjust ID checking to allow numbers for non foreign id's for now but log warn
      • (foxriver76/Apollon77) Adjust extendObject logic and only set state when state was not defined before
      • (Apollon77) check that path is found before using it on rebuild CLI command (Sentry issue)
      • (foxriver76) fix error on caught process exceptions
      • (foxriver76) make sure that procs[id] is not undefined in some cases (Sentry IOBROKER-JS-CONTROLLER-E/G)
      • (foxriver76/Apollon77) handle weird case where io-package.json from controller is not on normal place when getInstalledInfo is called (Sentry IOBROKER-JS-CONTROLLER-B/C/D/F/H)
      • (foxriver76) fix bug for some cases where common.def is used on creation of foreign objects
      • (Apollon77) make sure error cases are handled on zip file creation for objects (Sentry IOBROKER-JS-CONTROLLER-J)
      • (foxriver76) catch error on alias ids with empty objects
      • (Apollon77) make sure promise rejections without error are not crashing the controller
      • (Apollon77) handle edge case where hostName is not a string when sending messages (Sentry IOBROKER-ADMIN-B)
      • (Apollon77) handle case where letsencrypt directory can not be created (Sentry IOBROKER-ADMIN-C/IOBROKER-WEB-B)
      • (bluefox) add IDs to some log messages
      • (foxriver76) fix some logging in objects lib
      • (Apollon77) make sure to catch error when reading log directory (Sentry IOBROKER-JS-CONTROLLER-1F)
      • (Apollon77) change logging for invalid readFile actions to debug because ca be triggered also by other cases then planned ones. Update objects lib
      • (Apollon77) make sure command on cmdExec is a string (Sentry IOBROKER-JS-CONTROLLER-1H)
      • (Apollon77) Check more cases for existence of variables before accessing them (Sentry IOBROKER-JS-CONTROLLER-E)
      • (Apollon77) Add a node.js version check and output special error message if node.js version is not satisfied
      • (AlCalzone) Add missing parameter digest to crypto calls
      • (Apollon77) make sure Objects/States backup files are deleted correctly according to backup settings
      • (foxriver76) Make sure default state value is only set if state is not existing also in setObject
      • (foxriver76) check that alias is of type state when adding subscribing pattern
      • (Apollon77) Make sure error are checked correctly (Sentry IOBROKER-JS-CONTROLLER-1N)
      • (Apollon77) Inform about sentry activation if not configured on "iobroker setup first"
      • (bluefox) store for binary states the binary flag in objects
      • (Apollon77) update Sentry plugin to respect all options to disable reporting including new disableDataReporting flag ( will be integrated into Admin later)
      • (AlCalzone) Add Plugin CLI commands to enable/disable plugins
      • Several additional optimizations and fixes

      Developer relevant DEPRECATIONS/WARNINGS

      • (foxriver76) Do not allow access to adapter.states and adapter.objects anymore and add warning logs to deprecate the usage. js-controller 3.1+ will remove these methods. Please adjust your adapters
      • (foxriver76) Verify that a proper object of type "meta" exists when files are accessed in the internal ioBroker storage and output deprecation logging, these actions will be declined in js-controller 3.1+
      • (AlCalzone) Validate the object argument to set[Foreign]State[Changed] and log warnings, such invalid set commands will be declined with js-controller 3.1
      • (Apollon77) Move deprecation of getMessage to next controller version (3.1+)
      • (foxriver76/Apollon77) Validate that id in several state and object methods is of type string and log warnings
      • (foxriver76) Add basic checking for obj.common properties including logging. Please check logs and fix them, such invalid objects will be declined with js-controller 3.1

      Developer relevant new Features

      • (bluefox/foxriver76) Automatically encrypt all config attributes that are listed in common.encryptedNative in io-package, introduce ADAPTER_AUTO_DECRYPT_NATIVE (see Documentation) Admin support added in Admin 4.0.9!
      • (bluefox) Introduce new dependency field for io-package called common.globalDependencies to check for global dependencies (see Documentation). Admin support missing as of now!
      • (AlCalzone) Add command iobroker debug adapter to start Node.js debug sessions for an adapter
      • (bluefox) Add Controller messages to allow read and write controller base settings (iobroker.json); introduce adapter feature flag CONTROLLER_READWRITE_BASE_SETTINGS
      • (foxriver76) Make decrypt and encrypt methods available in adapter object for developers. System secret is read automatically so only the value is passed to the function
      • (AlCalzone) Add adapter exit code 13 (ADAPTER_REQUESTED_REBUILD) to also allow to tell js-controller to rebuild this adapter.
      • (Apollon77) change logging for invalid readFile actions to debug because ca be triggered also by other cases then planned ones.
      • (AlCalzone) Allow reverse lookup of exit codes (exit code -> error name)
      • (bluefox) implement maintenance mode for adapter methods
      • (AlCalzone) Add 'CONTROLLER_NPM_AUTO_REBUILD' to supported features
      • (bluefox) Add Controller messages to allow read and write controller base settings (iobroker.json); introduce adapter feature flag CONTROLLER_READWRITE_BASE_SETTINGS
      • (foxriver76) Make decrypt and encrypt methods available in adapter object for developers. System secret is read automatically soonly the value is passed to the function
      • (AlCalzone) Add adapter exit code 13 (ADAPTER_REQUESTED_REBUILD) to also allow to tell js-controller to rebuild this adapter.
      • (AlCalzone) Allow reverse lookup of exit codes (exit code -> error name)
      • (bluefox) implement maintenance mode for adapter methods

      Developer relevant Optimizations and Fixes

      • (Apollon77) Make sure that all places in adapters for states and objects that can return "really async" (e.g. because of DB communication) ALWAYS return async! (else callback !--count constructs can fail)
      • (foxriver76) Also set default values of instanceObjects defined in io-package.json
      • (bluefox) Improve extension mode for web extensions
      • (foxriver76) Optimize extendObjects function of adapter.js (use from and ack)
      • (foxriver76) Use from and ack when creating instanceObjects on installation of an instance
      • (Apollon77) Fix potential crash where name is no string in some File object operations
      • (foxriver76) Fix this.stop being undefined on daemon adapters
      • (foxriver76) Also respect def values of io-package.json on automatic object recreation due to instance start
      • (foxriver76) Respect state.from if provided on setState
      • (Apollon77) Enhance checks for getObjectsView response
      • (bluefox) add IDs to some log messages
      • general dependency updates
      • code style optimizations

      Weitere Details zu den Änderungen und Bugfixes ist im Changelog einzusehen.


      Wie Fehler melden?


      Wer sich unsicher ist, ob ein Fehler vorliegt, sollte am besten hier im Thread das Problem beschreiben. So können wir alle versuchen, das Problem nachzuvollziehen und ggf. einzugrenzen.

      Sobald ein Fehler auftritt der in einer Fehlermeldung oder einen Crash mit Fehlerdetails im Log oder auf Kommandozeile endet, dann dazu am besten direkt ein GitHub-Issue im js-controller Projekt öffnen und zusätzlich hier im Thread posten. Je detaillierter die Angaben im Issue sind (genaue Fehlermeldungen/Logs, Infos zur OS- und Node.js-Umgebung sowie genaue Schritte zur Reproduktion des Problems), umso schneller können wir Fehler einkreisen und beheben.

      Ingo

      1 Reply Last reply Reply Quote 2
      • apollon77
        apollon77 last edited by apollon77

        FAQ

        FAQ1: Ich sehe Einträge wie "Error from InMemDB: Error: ERROR readDir id=xxxxx: Not exists" im Log. Was muss ich tun
        Dieser Fehler kommt wenn zB das Backup versucht auf einen nicht angelegten Ordner zuzugreifen und ist uns leider durchgerutscgt. Er wird im js-controller 3.2 gefixt sein (September 2020). Wer den Fehler so lange nicht ignorieren kann, kann in /opt/iobroker/iobroker-data/files (ausnahmsweise) manuell die genannten Ordner als Verzeichnis anlegen. Das reicht aus.

        FAQ2: Wie funktioniert jetzt dieses Automatische-Rebuild bei Nodejs-Updates?
        Nach einem Update des nodejs bitte zu allererst iobroker fix aufrufen. Danach einfach den ioBroker starten udn ins Log schauen.
        Falls ein Adapter mit einer typischen Fehlermeldung abstürzt erkennt der js-controller dies und versucht ein "rebuild" anzustossen. Es kann sein das dies nicht beim ersten Versuch klappt!! Dann versucht der js.controller es danach pot. gleich nochmals, aber mit einem anderen rebuild Befehl! ALso lasst Ihn das am besten machen. Je nach Adapter dauert der Rebuild eine ganze Weile. Der Adapter wird danach neu gestartet.

        Falls das nach drei mal nicht geklappt hat erst dann bleibt der Adapter aus und Ihr müsst selbst Hand anlegen!

        1 Reply Last reply Reply Quote 0
        • O
          oFbEQnpoLKKl6mbY5e13 last edited by

          @apollon77 sagte in js-controller 3.1 jetzt im STABLE!:

          Wenn also der js-controller mit einer Fehlermeldung abstürzt (und nur dann!) werden die Fehlerdetails anonymisiert...

          Beim HmIP-Adapter landen die SGTINs der Komponenten im GitHub. Das halte ich nicht für anonym.

          apollon77 1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by apollon77

            @oFbEQnpoLKKl6mbY5e13 Ok, anonymisiere ich noch und richte im Sentry dafür speziell die anonymisierung ein. Danke für das Feedback.

            O 1 Reply Last reply Reply Quote 0
            • O
              oFbEQnpoLKKl6mbY5e13 last edited by

              Alles gut.

              1 Reply Last reply Reply Quote 0
              • E
                Einstein67 last edited by

                Ist es normal dass eine Neuinstallation noch immer mit JS-Controller 2.2.9 ankommt?

                harrym apollon77 Thomas Braun 3 Replies Last reply Reply Quote 0
                • harrym
                  harrym @Einstein67 last edited by

                  @Einstein67 tja .... wenn du auf stable bist .... ja

                  1 Reply Last reply Reply Quote 0
                  • E
                    Einstein67 last edited by

                    Hier gehts ja um: "js-controller 3.1 jetzt im STABLE" 😉

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 @Einstein67 last edited by apollon77

                      @Einstein67 Eins nach dem anderen ... das kommt jetzt in 5 Minuten dran 🙂 ... DONE

                      1 Reply Last reply Reply Quote 1
                      • Thomas Braun
                        Thomas Braun Most Active @Einstein67 last edited by

                        @Einstein67 Die Synchronisation der Installationsquellen kann schon ein paar Stunden dauern. Und ich weiß nicht, ob der Installer nicht vielleicht eine fix Version anfordert.

                        apollon77 1 Reply Last reply Reply Quote 0
                        • apollon77
                          apollon77 @Thomas Braun last edited by

                          @Thomas-Braun Ne läuft über einen npm Tag und den habe ich gerade aktualisiert

                          Glasfaser 1 Reply Last reply Reply Quote 0
                          • cash
                            cash Most Active last edited by

                            Todesmutig habe ich das Update von 2.2.9 gewagt. Docker von buanet V4.1 auf einem Synology.

                            Das schwierigste war im Terminal ein Befehl eingeben zu können. Immer wenn ich das Terminal im Docker geöffnet habe kam keine Eingabeaufforderung. Irgendwann sah ich dann endlich eine Eingabeauforderung und habe die Befehle ausgeführt. Vorher noch mittels Backup-Adapter ein Backup gezogen. Gestern Nacht hat mein Synology auch ein Komplettbackup gemacht so dass ich bei Problemen hoffentlich irgendwie wieder zurück käme aber dazu kam es nicht. Das Update war in ein paar Minuten durch und nach dem Starten von ioBroker sah das Log genauso unauffällig auf wie vorher. Vielen Dank an alle Entwickler. Nicht nur für den js-controller sondern für alle ioBroker Adapter. Ohne ioBroker wäre für mich ein Smarthome nicht denkbar.

                            Node.js habe ich noch 10.18.1. Dabei bleibe ich erstmal. Bin froh das dieses Update zu Problemfrei lief.

                            Meister Mopper 1 Reply Last reply Reply Quote 1
                            • Glasfaser
                              Glasfaser @apollon77 last edited by

                              @apollon77

                              Könnte man einen weiteren Hinweis im Pop Up einbauen zum js-Controller 3.0/3.1 ,
                              vielleicht mit einem Link zu diesem Thread .
                              Zwecks Info für die Newbies ... der Grundvorraussetzung !?

                              .
                              1.JPG

                              apollon77 1 Reply Last reply Reply Quote 0
                              • Meister Mopper
                                Meister Mopper @cash last edited by

                                @cash sagte in js-controller 3.1 jetzt im STABLE!:

                                Todesmutig habe ich das Update von 2.2.9 gewagt. Docker von buanet V4.1 auf einem Synology...

                                Auch von mir ein dickes Dankeschön an die Entwickler und fleißigen Tester 👍👍 😊

                                99e81680-fdc8-4c20-b2d8-a0b57d2067b8-grafik.png

                                Läuft (noch) alles geschmeidig und fehlerfrei. Dank der hiesigen Anleitung gar kein Problem!

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  andreasph @Meister Mopper last edited by

                                  da schliesse ich mich an.

                                  Bei mir läuft iobroker im Docker (buanet) auf der Syno. Nach dem Update alles wieder fehlerfrei gestartet. Großartiger Job - Danke an alle Mitwirkenden!

                                  1 Reply Last reply Reply Quote 0
                                  • bahnuhr
                                    bahnuhr Forum Testing Most Active last edited by

                                    Guten Abend,

                                    wie erfolgt das update bein win (installer von stabilo..).

                                    Habe noch nix gesehen von stabilo..

                                    Oder habe ich etwas übersehen?

                                    Ganz konkret:
                                    Wie erfolgt update bei win (mit installer) bei einem master und slave system?

                                    mfg

                                    apollon77 1 Reply Last reply Reply Quote 0
                                    • E
                                      eviltrooper last edited by

                                      Macht es Sinn gleich auf Node 14 zu gehen wenn man neuinstalliert?

                                      Thomas Braun 1 Reply Last reply Reply Quote 0
                                      • Thomas Braun
                                        Thomas Braun Most Active @eviltrooper last edited by

                                        @eviltrooper Nein. Ich würde zur Zeit 12 nehmen.

                                        E 1 Reply Last reply Reply Quote 0
                                        • E
                                          eviltrooper @Thomas Braun last edited by

                                          @Thomas-Braun

                                          Ok. Danke

                                          1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 @Glasfaser last edited by

                                            @Glasfaser Es gibt bereits einen Info Adapter Popup zu controler 3.1 ... sogar 2 ... je nachdem ob die nodejs Version < oder > 10 ist ... Da sind die Links drin.

                                            Glasfaser 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            802
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            js-controller
                                            38
                                            100
                                            24550
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo