NEWS
js-controller 4.0.x jetzt für alle User im STABLE!
-
FAQ
Informationen zu pot. angezeigten Meldungen und Logs
(info) "Sets unsupported"
In MutliHost-Umgebungen wo noch nicht alle Hosts aktualisiert sind arbeitet eine Optimierung in einem Kompatibilitätsmodus. In diesem wird ggf vom js-controller und von Adaptern beim Start einmalig die Meldung "Sets unsupported" im Loglevel "info" geloggt. Diese verschwindet wenn alle Hosts auf js-controller 4.0+ sind.
(warn) Object XXX is invalid: obj.common.min/max has an invalid type!
Dies ist eine neue Prüfung, wie oben bereits erwähnt, welche prüft das der Minimum bzw Maximum Wert eines Objekts auch eine Zahl ist. Wenn diese Meldung kommt dann diese bitte per Issue an den Adapter-Entwickler weitergeben, das dies im Adapter behoben wird.
"Ignoring Directory "benchmark.files" because officially not created as meta ob ject. Please remove directory!"
Wenn bei der Inatallation des js-controller diese Meldung kommt:
The following notifications happened during sync: - Ignoring Directory "benchmark.files" because officially not created as meta ob ject. Please remove directory!Bitte ein
iob upload allausführen. Falls Einträge von Adaptern enthalten sein sollten die nicht mehr installiert sind, dann können diese Dateien manuell gelöscht werden.TypeError: Cannot read property 'warn' of undefined
Falls der iobroker nicht mehr startet und im /var/log/syslog die untenstehende Fehlermeldung enthalten ist dann ist die backup Konfigurtation fehlerhaft.
/opt/iobroker/node_modules/@iobroker/db-base/lib/inMemFileDB.js:187 this.log.warn( ^ TypeError: Cannot read property 'warn' of undefined at ObjectsInMemoryServer.initBackupDir (/opt/iobroker/node_modules/@iobroker/db-base/lib/inMemFileDB.js:187:22)Bitte in /opt/iobroker/iobroker-data/iobroker.json im Bereich backup beo objects und states schauen das der Wert "period" eine Zahl in Minuten ist. Standard ist 120. Falls hier ein Wert über 10.000 drin steht so ist dieser warum auch immer falsch eingetragen und muss bitte korrigiert werden. Danach tut alles wieder.
Warning: Accessing non-existent property '...' of module exports inside circular dependency
Wenn beim Ausführen von CLI Befehlen oder im ioBroker Log Meldungen wie die nachstehenden angezeigt werden so liegt dies an einer alten version der Library "mogodb" im System. Diese Meldungen kommen nicht vom js-controller Upgrade sondern von der Nutzung von Node.js 14+ und dieser Library. Diese wurde vom node-red Adapter ggf. installiert.
(node:2218) Warning: Accessing non-existent property 'count' of module exports inside circular dependency (Use `node --trace-warnings ...` to show where the warning was created) (node:2218) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency (node:2218) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency (node:2218) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependencyWenn ein Update des node-red Adapters (bzw Uninstall falls nicht benötigt) nicht hilft dann bitte mit
npm list mongodb(im iobroker Verzeichnis/opt/iobroker) rausfinden wo es herkommt. Falls etwas von "extranous" steht dann einfach pernpm uninstall mongodb(im iobroker Verzeichnis/opt/iobroker) löschen.Eine Backitup Instanz wird automatisch erstellt
Dies passiert weil Backitup für Neuinstallationen ein Standardadapter ist. Der kleine Nebeneffekt ist, das, wenn noch keine Backitup Instanz existiert ABER der Adapter-Code auf einem Host installiert ist, dann dort eine Instanz angelegt wird. Wer das nicht will kann diese manuell wieder entfernen und dann aber am besten auch den Adapter deinstallieren. Dann passiert dies nicht noch einmal.
Infos zum Thema "Rebuilds bei Node.js Aktualisierungen"
Generell gilt das Node.js Updates wie unter https://forum.iobroker.net/topic/44566/how-to-node-js-für-iobroker-richtig-updaten-2021-edition beschrieben funktionieren. Der js-controller 4.0 führt nur die automatisierten Rebuilds etwas anders aus als die 3.3.
In der neuen Version versuchen wir zuerst generell alle Module neu zu erstellen. Das sollte alle Probleme auf einen Schlag lösen. Falls das (und ja da kann es Gründe geben) nicht funktioniert ist der zweite Versuch das wirklich betroffene NPM-Paket zu identifizieren (also z.B. direkt "serialport" o.ä.) und dieses neu zu kompilieren. Das hat deutlich weniger Nebeneffekte wie die bisherigen Versuche.
Aktuell sind zwei Module bekannt die leider eine manuelle Korrekt benötigen (wir haben es bei den Modulen gemeldet, sodass sich das in Zukunft löst). Dazu dann die Meldungen im Log befolgen.
FAQ zur DB Umstellung File -> JSONL
Ich nutze Redis. Betrifft mich das?
Wenn Du für beide Datenbanken einen Redis einsetzt dann nicht. Es ist nur relevant wenn eine oder beide DBs "File" sind.
Was ist denn so besser an der "JSONL"-Datenbank anstelle "File"?
Von der Funktionalität ist alles identisch! Die beiden Datenbanken unterscheiden sich nur darin wie die Daten gespeichert werden.
Die File-DB schreibt hier alles in einem großen JSON-File regelmäßig - bei Objekten sind dies schnell mal 20MB. Dies kann durchaus viel I/O verursachen und ist vor allem bei SD-Karten-Basierten Systemen nicht optimal, weil es die Karte sehr belastet. Aber auch für SSDs ist dies nicht optimal. Zusätzlich besteht das Problem das ein Absturz beim Schreiben dazu führt das das ganze File defekt ist. ioBroker greift in diesen Fällen auf ein Backup-File zurück.
JSONL arbeitet hier anders. Änderungen werden erst einmal nur an die Datei angehangen und - nur wenn nötig - wird dann das File "komprimiert" und so neu geschrieben. Dies erfolgt aber viel seltener als bei der File-DB.
Für JSONL hat es @AlCalzone mal folgendermaßen zusammengefasst:
JSONL ist resistenter. Ein kaputtes Byte in der DB macht nicht alles kaputt und ein Absturz beim Schreibvorgang sorgt nur dafür, dass die ausstehenden Änderungen verloren gehen, nicht alles.
JSONL schont die SD-Karte durch weniger und kleinere Schreibvorgänge (nur wenn nötig).
JSONL braucht zumindest phasenweise etwas mehr Platz (die DB ist bis auf Kompaktierungsvorgänge append-only)
JSONL braucht etwas länger, wenn viele Objekte in kurzer Zeit geschrieben werden sollen (wobei meine letzten Tests nur noch Unterschiede im Rahmen der Standardabweichung ergeben haben)Wir denken das das neue Datenbank-Handling mehr Vorteile hat - vor allem für SD-Karten- und SSD-basierte Systeme.
Was bedeutet es das die Datenbank jetzt jsonl ist?
Im Normalfall bedeutet hies für den täglichen Betrieb nichts. Auch die Umstellung erfolg vollautomatisch im Rahmen des js-controller Updates.
Einiob statuswird nach der Installation anstelle "file" jetzt "jsonl" anzeigen. Das wars auch schon. Backups über BackItUp oderiob backupund auch restores funktionieren weiterhin ohne Änderungen.WICHTIG: Durch die automatische Datenbankumstellung ist ein direkter Downgrade oder Backup Restore eines mit 4.0 erstellten Backups nur noch auf js-controller 3.3.x möglich! Für andere Downgrade Optionen bitte im nächsten Eintrag lesen. Ein Downgrade mit Redis als Datenbank ist problemlos weiterhin möglich!
Die Datenfiles im iobroker-data Verzeichnis haben jetzt .jsonl am Ende und nicht mehr .json. Die letzten "file DB .json"-Files werden umbenannt und liegen noch im Verzeichnis mit der Endung ".migrated".
Kann man die Einstellungen der JSONL ändern?
Ja, auch die JSONL Datenbank hat einige Einstellungen (wie das "writeFileInterval" der File-DB früher, welches bei jsonl nicht genutzt wird). Üblicherweise muss da niemand Hand anlegen, weil die Defaults von uns bereits optimiert wurden.
Wer dennoch schauen will finden unter https://github.com/ioBroker/ioBroker.js-controller/blob/master/packages/controller/conf/iobroker-dist.json#L53-L71 (Objects) bzw https://github.com/ioBroker/ioBroker.js-controller/blob/master/packages/controller/conf/iobroker-dist.json#L99-L117 die jeweiligen Default-Werte. Anpassungen können einfach in Eurer iobroker.json manuell gemacht werden.
Wie kann ich doch auf js-controller 3.2 oder kleiner downgraden wenn "jsonl" der DB Typ ist?
js-controller Versionen kleiner als 3.3.x hatten die nötigen Dateien für eine "jsonl" Datenbank nicht an Board. Daher ist ein direkter Downgrade nicht möglich weil dann die Daten nicht lesbar sind!
Daher muss ZUERST (!!) unter js-controller 4.0 die Datenbank manuell zurück auf "file" migriert werden. Dies erfolgt per
iob setup customund dort bei der Abfrage des DB Typsfileangeben. Alle weiteren Fragen beantworten und dann die Migration abwarten. Danach zeigtiob statuswieder "file" an. Dann kann ein Backup für den Restore in einer kleineren Version erstellt werden oder ein Downgrade vianpm i iobroker.js-controller@version(Vorher ins ioBroker Verzeichnis wechseln!) auf die gewünschte Version erfolgen.FAQ zu Redis "Sets" Optimierungen
Für Redis-basierte Systeme bringt der js-controller 4.0 einige Optimierungen mit. Eine davon nutzt spezielle interne Datenstrukturen, die konsistent initialisiert werden müssen. Aufgrund einiger Edge Cases wird diese Optimierung daher automatisch nur für Single-Host Redis-Systeme genutzt. Wer auch im Multi-Host-Umfeld mit Redis für Objekte von den Optimierungen profitieren möchte kann diese manuell aktivieren. VORAB müssen aber alle Hosts auf js-controller 4.0 sein und soweit alles gut sein das es keinen partiellen Downgrade mehr gibt.
Dann können die Optimierungen über
iob object activateSetsaktiviert werden, nachdem ALLE Hosts beendet wurden. So wird sichergestellt das die Datenstrukturen konsistent initialisiert werden können. Danach können alle Hosts wieder gestartet werden. Eine Deaktivierung der Optimierungen ist periob object deactivateSetsebenso möglich.@apollon77 vielen Dank an euch. Update war erfolgreich keine Probleme.



-
@apollon77 Ich hab eine komplette Neuinstallation mit dem Script vom 13.2. durchgeführt (Debian11 und Node 16).
JS-Controller, Admin, Backitup und Discovery wurden in der aktuellsten Version installiert.
Backup (Grafana, InfluxDB und IOBroker) wieder hergestellt.
Keine Probleme bei Installation und Restore, alles läuft perfekt. TOP!!
Edit: Auch das Popup (jsonl Konvertierung) ist weg!
-
@apollon77
Nach dem upgrade und Neustart des ioBroker auf meinem master startete der admin-Adapter nicht mit.Mit
iobroker start adminlief's wieder rund
-
Danke für's entwickeln - nach update läuft alles soweit - keine fehler
vis scheint schneller beim laden der views zu sein

-
Hallo,
bekomme nun folgende warn und error im log:
telegram.0 2022-02-26 11:10:34.726 error getMe (reconnect #0) Error:Error: EFATAL: Error: getaddrinfo EAI_AGAIN api.telegram.org dwd.0 2022-02-26 11:10:33.508 error Empty or invalid JSON: Cannot read JSON file: Error: getaddrinfo EAI_AGAIN www.dwd.de hm-rega.0 2022-02-26 11:10:29.731 warn Script "!# programs.fn 1.3 !# Dieses Script gibt eine Liste der Programme als JSON Strin" ignored, because still pending. hm-rega.0 2022-02-26 11:10:29.689 warn Script "!# polling.fn 1.3 !# !# Dieses Script gibt die Werte aller Systemvariablen als J" ignored, because still pending. telegram.1 2022-02-26 11:10:27.301 error getMe (reconnect #0) Error:Error: EFATAL: Error: getaddrinfo EAI_AGAIN api.telegram.org javascript.0 2022-02-26 11:10:20.101 error Request error: Error: getaddrinfo EAI_AGAIN www.bild.de javascript.0 2022-02-26 11:10:20.100 error script.js.Scripte.Sonstige.RSS-Feed: {'errno':-3001,'code':'EAI_AGAIN','syscall':'getaddrinfo','hostname':'www.bild.de'} host.VM-iobroker 2022-02-26 11:10:17.650 error instance system.adapter.hm-rpc.1 terminated with code 6 (UNCAUGHT_EXCEPTION) hm-rpc.1 2022-02-26 11:10:17.016 warn Terminated (UNCAUGHT_EXCEPTION): Without reason hm-rpc.1 2022-02-26 11:10:17.013 error Cannot call init: [xmlrpc_bin://192.168.243.12:8701, ""] Cannot call write after a stream was destroyed hm-rpc.1 2022-02-26 11:10:17.000 error Exception-Code: ETIMEDOUT: read ETIMEDOUT hm-rpc.1 2022-02-26 11:10:16.999 error Error: read ETIMEDOUT at TCP.onStreamRead (internal/stream_base_commons.js:209:20) hm-rpc.1 2022-02-26 11:10:16.994 error uncaught exception: read ETIMEDOUT telegram.0 2022-02-26 11:10:14.696 warn polling_error: EFATAL, EFATAL: Error: read ETIMEDOUTVielleicht habt ihr dafür eine Erklärung.
-
Hallo,
bekomme nun folgende warn und error im log:
telegram.0 2022-02-26 11:10:34.726 error getMe (reconnect #0) Error:Error: EFATAL: Error: getaddrinfo EAI_AGAIN api.telegram.org dwd.0 2022-02-26 11:10:33.508 error Empty or invalid JSON: Cannot read JSON file: Error: getaddrinfo EAI_AGAIN www.dwd.de hm-rega.0 2022-02-26 11:10:29.731 warn Script "!# programs.fn 1.3 !# Dieses Script gibt eine Liste der Programme als JSON Strin" ignored, because still pending. hm-rega.0 2022-02-26 11:10:29.689 warn Script "!# polling.fn 1.3 !# !# Dieses Script gibt die Werte aller Systemvariablen als J" ignored, because still pending. telegram.1 2022-02-26 11:10:27.301 error getMe (reconnect #0) Error:Error: EFATAL: Error: getaddrinfo EAI_AGAIN api.telegram.org javascript.0 2022-02-26 11:10:20.101 error Request error: Error: getaddrinfo EAI_AGAIN www.bild.de javascript.0 2022-02-26 11:10:20.100 error script.js.Scripte.Sonstige.RSS-Feed: {'errno':-3001,'code':'EAI_AGAIN','syscall':'getaddrinfo','hostname':'www.bild.de'} host.VM-iobroker 2022-02-26 11:10:17.650 error instance system.adapter.hm-rpc.1 terminated with code 6 (UNCAUGHT_EXCEPTION) hm-rpc.1 2022-02-26 11:10:17.016 warn Terminated (UNCAUGHT_EXCEPTION): Without reason hm-rpc.1 2022-02-26 11:10:17.013 error Cannot call init: [xmlrpc_bin://192.168.243.12:8701, ""] Cannot call write after a stream was destroyed hm-rpc.1 2022-02-26 11:10:17.000 error Exception-Code: ETIMEDOUT: read ETIMEDOUT hm-rpc.1 2022-02-26 11:10:16.999 error Error: read ETIMEDOUT at TCP.onStreamRead (internal/stream_base_commons.js:209:20) hm-rpc.1 2022-02-26 11:10:16.994 error uncaught exception: read ETIMEDOUT telegram.0 2022-02-26 11:10:14.696 warn polling_error: EFATAL, EFATAL: Error: read ETIMEDOUTVielleicht habt ihr dafür eine Erklärung.
@bahnuhr ja. Dein System hat scheinbar gerade ein Problem mit DNS namensauflösungen. Also vor allem die EAGAIN sagen genau das. Check also mal Netzwerk und DNS. Vllt mal reboot? Sollte aber alles nix mit dem Controller zu tun haben.
Würde erst das fixen. Falls dann hm-Rpc weiter was sagt muss man da schauen.
-
@apollon77
Nach dem upgrade und Neustart des ioBroker auf meinem master startete der admin-Adapter nicht mit.Mit
iobroker start adminlief's wieder rund
@meister-mopper was stand im log? Falls du schauen willst.
-
@meister-mopper was stand im log? Falls du schauen willst.
hat das was mit controller 4 zu tun - versuch javascript update - ging vor js-c update auch nicht zum updaten - mit controller 4 kommt beim update des javasc. adapters diese meldung:
host.iobroker59 2022-02-26 11:11:00.509 error iobroker (node:27388) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency(node:27388) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency(node:27388) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency host.iobroker59 2022-02-26 11:11:00.505 error iobroker (node:27388) Warning: Accessing non-existent property 'count' of module exports inside circular dependency(Use `node --trace-warnings ...` to show where the warning was created)siehe auch:https://forum.iobroker.net/post/768862
nehme an, ist anderes topic - nicht für hier?
-
hat das was mit controller 4 zu tun - versuch javascript update - ging vor js-c update auch nicht zum updaten - mit controller 4 kommt beim update des javasc. adapters diese meldung:
host.iobroker59 2022-02-26 11:11:00.509 error iobroker (node:27388) Warning: Accessing non-existent property 'findOne' of module exports inside circular dependency(node:27388) Warning: Accessing non-existent property 'remove' of module exports inside circular dependency(node:27388) Warning: Accessing non-existent property 'updateOne' of module exports inside circular dependency host.iobroker59 2022-02-26 11:11:00.505 error iobroker (node:27388) Warning: Accessing non-existent property 'count' of module exports inside circular dependency(Use `node --trace-warnings ...` to show where the warning was created)siehe auch:https://forum.iobroker.net/post/768862
nehme an, ist anderes topic - nicht für hier?
@liv-in-sky ließ mal in der faq. Du hast ne alte mongodb lib wohl von nem node-red. Liegt eher an nodejs 14+ als am Controller.
-
Habe heute die Updates gemacht und alles läuft soweit gut.
Plattform
linux
Betriebssystem
linux
Architektur
x64
CPUs
4
Geschwindigkeit
1692 MHz
Modell
Intel(R) Celeron(R) CPU J3455 @ 1.50GHz
RAM
7.64 GB
System-Betriebszeit
7 T. 01:15:35
Node.js
v12.22.10 (Empfohlene Version v14.19.0)
time
1645873156427
timeOffset
-60
Anzahl der Adapter
399
NPM
6.14.16
Datenträgergröße
109.04 GB
freier Festplattenspeicher
58.43 GB
Betriebszeit
00:29:23
Aktive Instanzen
26
location
/opt/iobroker/
Hostname
ioBrokerPC
Einzigster Fehler mein Adapter Systeminfo geht nicht mehr. im Log steht volgendes:
host.ioBrokerPC
2022-02-26 12:25:34.470 error instance system.adapter.systeminfo.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
systeminfo.0
2022-02-26 12:25:33.842 error Cannot read property 'getObjectList' of undefined
systeminfo.0
2022-02-26 12:25:33.841 error TypeError: Cannot read property 'getObjectList' of undefined at Function.initAdapter (/opt/iobroker/node_modules/iobroker.systeminfo/myAdapter.js:44:55) at Adapter.<anonymous> (/opt/iobroker/node_modules/iobroker.systeminfo/myAdapter.js:118:37) at Adapter.emit (events.js:314:20) at /opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:8223:26
systeminfo.0
2022-02-26 12:25:33.838 error unhandled promise rejection: Cannot read property 'getObjectList' of undefined
systeminfo.0
2022-02-26 12:25:33.838 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). -
Habe heute die Updates gemacht und alles läuft soweit gut.
Plattform
linux
Betriebssystem
linux
Architektur
x64
CPUs
4
Geschwindigkeit
1692 MHz
Modell
Intel(R) Celeron(R) CPU J3455 @ 1.50GHz
RAM
7.64 GB
System-Betriebszeit
7 T. 01:15:35
Node.js
v12.22.10 (Empfohlene Version v14.19.0)
time
1645873156427
timeOffset
-60
Anzahl der Adapter
399
NPM
6.14.16
Datenträgergröße
109.04 GB
freier Festplattenspeicher
58.43 GB
Betriebszeit
00:29:23
Aktive Instanzen
26
location
/opt/iobroker/
Hostname
ioBrokerPC
Einzigster Fehler mein Adapter Systeminfo geht nicht mehr. im Log steht volgendes:
host.ioBrokerPC
2022-02-26 12:25:34.470 error instance system.adapter.systeminfo.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
systeminfo.0
2022-02-26 12:25:33.842 error Cannot read property 'getObjectList' of undefined
systeminfo.0
2022-02-26 12:25:33.841 error TypeError: Cannot read property 'getObjectList' of undefined at Function.initAdapter (/opt/iobroker/node_modules/iobroker.systeminfo/myAdapter.js:44:55) at Adapter.<anonymous> (/opt/iobroker/node_modules/iobroker.systeminfo/myAdapter.js:118:37) at Adapter.emit (events.js:314:20) at /opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:8223:26
systeminfo.0
2022-02-26 12:25:33.838 error unhandled promise rejection: Cannot read property 'getObjectList' of undefined
systeminfo.0
2022-02-26 12:25:33.838 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). -
@andiko2 Zu systeminfo: siehe Post #1 ... da stehts drin inkkl. wie du es fixen kannst bis es ein Update gibt
@apollon77 was ist Post '#1? Bin nicht so der Forumkenner. Wenn möglich Link.
-
@apollon77 was ist Post '#1? Bin nicht so der Forumkenner. Wenn möglich Link.
-
@apollon77 was ist Post '#1? Bin nicht so der Forumkenner. Wenn möglich Link.
-
Update des js-controllers auf dem Docker Image von buanet ist durch, lediglich der rebuild vom BLE Adapter läuft bei 3 Versuchen nicht durch und im Log sieht man jetzt folgendes...
host.helios64 2022-02-26 12:48:17.793 info Rebuild for adapter system.adapter.ble.0 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually. host.helios64 2022-02-26 12:48:17.792 info instance system.adapter.ble.0 requested a rebuild of its dependencies and will be restarted after that is done.wenn ich den Befehl in der Konsole eingebe kommt folgendes...
root@helios64:/opt/iobroker# npm install --production npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) removed 3 packages and updated 1 package in 34.934s 137 packages are looking for funding run `npm fund` for details root@helios64:/opt/iobroker#was nun !?
-
@andiko2 Einfach in der Datei /opt/iobroker/node_modules/iobroker.systeminfo/myAdapter.js in Zeile 44 von"adapter.objects.getObjectList" zu "adapter.getObjectList" ändern.
-
Update des js-controllers auf dem Docker Image von buanet ist durch, lediglich der rebuild vom BLE Adapter läuft bei 3 Versuchen nicht durch und im Log sieht man jetzt folgendes...
host.helios64 2022-02-26 12:48:17.793 info Rebuild for adapter system.adapter.ble.0 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually. host.helios64 2022-02-26 12:48:17.792 info instance system.adapter.ble.0 requested a rebuild of its dependencies and will be restarted after that is done.wenn ich den Befehl in der Konsole eingebe kommt folgendes...
root@helios64:/opt/iobroker# npm install --production npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) removed 3 packages and updated 1 package in 34.934s 137 packages are looking for funding run `npm fund` for details root@helios64:/opt/iobroker#was nun !?
@tdcropower Naja du solltest den "npm install" in einem bestimmten Verzeichnis ausführen - steht an sich in den Anweisungen im Log. Du hast es im iobroker "root" verzeichnis ausgeführt. Das hilft nicht, ja.
Du musst es in /opt/iobroker/node_modules/iobroker.ble ausführenUnd ja leider ist der BLE Adapter bze eine Library davon gerade nicht rebuild-fähig. Wir haben dort schon eine Änderung eingereicht, die ist aber noch nicht released.
-
@tdcropower Naja du solltest den "npm install" in einem bestimmten Verzeichnis ausführen - steht an sich in den Anweisungen im Log. Du hast es im iobroker "root" verzeichnis ausgeführt. Das hilft nicht, ja.
Du musst es in /opt/iobroker/node_modules/iobroker.ble ausführenUnd ja leider ist der BLE Adapter bze eine Library davon gerade nicht rebuild-fähig. Wir haben dort schon eine Änderung eingereicht, die ist aber noch nicht released.
@apollon77 danke habe es eben auch im Issue bei git gelesen.
Leider fehlt der Hinweis auf das Verzeichnis in der Log Nachricht, wobei "adapter directory" es eigentlich sagt.Naja, jetzt hat es funktioniert...
root@helios64:/opt/iobroker# cd node_modules/iobroker.ble/ root@helios64:/opt/iobroker/node_modules/iobroker.ble# npm install -- production npm WARN deprecated request@2.12.0: request has been deprecated, see https://github.com/request/request/issues/3142 > deasync@0.1.24 install /opt/iobroker/node_modules/iobroker.ble/node_modules/deasync > node ./build.js make: Entering directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/deasync/build' CXX(target) Release/obj.target/deasync/src/deasync.o SOLINK_MODULE(target) Release/obj.target/deasync.node COPY Release/deasync.node make: Leaving directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/deasync/build' Installed in `/opt/iobroker/node_modules/iobroker.ble/node_modules/deasync/bin/linux-arm64-node-14/deasync.node` > usb@1.9.2 install /opt/iobroker/node_modules/iobroker.ble/node_modules/usb > node-gyp-build make: Entering directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/usb/build' CC(target) Release/obj.target/libusb/libusb/libusb/core.o CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o CC(target) Release/obj.target/libusb/libusb/libusb/io.o CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o CC(target) Release/obj.target/libusb/libusb/libusb/sync.o CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o AR(target) Release/obj.target/usb.a COPY Release/usb.a CXX(target) Release/obj.target/usb_bindings/src/node_usb.o ../src/node_usb.cc: In function ‘Napi::Value SetDebugLevel(const Napi::CallbackInfo&)’: ../src/node_usb.cc:118:71: warning: ‘void libusb_set_debug(libusb_context*, int)’ is deprecated: Use libusb_set_option instead [-Wdeprecated-declarations] 118 | libusb_set_debug(usb_context, info[0].As<Napi::Number>().Int32Value()); | ^ In file included from ../src/node_usb.h:11, from ../src/node_usb.cc:1: ../libusb/libusb/libusb.h:1325:18: note: declared here 1325 | void LIBUSB_CALL libusb_set_debug(libusb_context *ctx, int level); | ^~~~~~~~~~~~~~~~ CXX(target) Release/obj.target/usb_bindings/src/device.o CXX(target) Release/obj.target/usb_bindings/src/transfer.o SOLINK_MODULE(target) Release/obj.target/usb_bindings.node COPY Release/usb_bindings.node make: Leaving directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/usb/build' > @abandonware/bluetooth-hci-socket@0.5.3-8 install /opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/bluetooth-hci-socket > node-pre-gyp install --fallback-to-build node-pre-gyp ERR! install response status 404 Not Found on https://github.com/abandonware/node-bluetooth-hci-socket/releases/download/0.5.3-8/bluetooth_hci_socket-0.5.3-8-node-v83-linux-arm64.tar.gz node-pre-gyp WARN Pre-built binaries not installable for @abandonware/bluetooth-hci-socket@0.5.3-8 and node@14.18.2 (node-v83 ABI, glibc) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/abandonware/node-bluetooth-hci-socket/releases/download/0.5.3-8/bluetooth_hci_socket-0.5.3-8-node-v83-linux-arm64.tar.gz make: Entering directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/bluetooth-hci-socket/build' CXX(target) Release/obj.target/bluetooth_hci_socket/src/BluetoothHciSocket.o In file included from /opt/iobroker/.cache/node-gyp/14.18.2/include/node/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /opt/iobroker/.cache/node-gyp/14.18.2/include/node/node.h:787:7: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] 787 | (node::addon_register_func) (regfunc), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/iobroker/.cache/node-gyp/14.18.2/include/node/node.h:821:3: note: in expansion of macro ‘NODE_MODULE_X’ 821 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~ ../src/BluetoothHciSocket.cpp:635:1: note: in expansion of macro ‘NODE_MODULE’ 635 | NODE_MODULE(binding, BluetoothHciSocket::Init); | ^~~~~~~~~~~ ../src/BluetoothHciSocket.cpp: In member function ‘int BluetoothHciSocket::kernelDisconnectWorkArounds(int, char*)’: ../src/BluetoothHciSocket.cpp:401:1: warning: control reaches end of non-void function [-Wreturn-type] 401 | } | ^ SOLINK_MODULE(target) Release/obj.target/bluetooth_hci_socket.node COPY Release/bluetooth_hci_socket.node COPY /opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/bluetooth-hci-socket/lib/binding/bluetooth_hci_socket.node TOUCH Release/obj.target/action_after_build.stamp make: Leaving directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/bluetooth-hci-socket/build' > @abandonware/noble@1.9.2-15 install /opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/noble > node-gyp rebuild make: Entering directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/noble/build' SOLINK_MODULE(target) Release/obj.target/noble.node COPY Release/noble.node make: Leaving directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/noble/build' > core-js@2.6.12 postinstall /opt/iobroker/node_modules/iobroker.ble/node_modules/core-js > node -e "try{require('./postinstall')}catch(e){}" Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library! The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: > https://opencollective.com/core-js > https://www.patreon.com/zloirock Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -) > parcel-bundler@1.12.5 postinstall /opt/iobroker/node_modules/iobroker.ble/node_modules/parcel-bundler > node -e "console.log('\u001b[35m\u001b[1mLove Parcel? You can now donate to our open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/parcel/donate\u001b[0m')" Love Parcel? You can now donate to our open collective: > https://opencollective.com/parcel/donate npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/glob-watcher/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/@parcel/watcher/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) + production@0.0.2 added 1489 packages from 1205 contributors in 146.424s 109 packages are looking for funding run `npm fund` for details root@helios64:/opt/iobroker/node_modules/iobroker.ble#.. danach nur noch den Adapter neustarten und er ist wieder Grün!
-
@apollon77 danke habe es eben auch im Issue bei git gelesen.
Leider fehlt der Hinweis auf das Verzeichnis in der Log Nachricht, wobei "adapter directory" es eigentlich sagt.Naja, jetzt hat es funktioniert...
root@helios64:/opt/iobroker# cd node_modules/iobroker.ble/ root@helios64:/opt/iobroker/node_modules/iobroker.ble# npm install -- production npm WARN deprecated request@2.12.0: request has been deprecated, see https://github.com/request/request/issues/3142 > deasync@0.1.24 install /opt/iobroker/node_modules/iobroker.ble/node_modules/deasync > node ./build.js make: Entering directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/deasync/build' CXX(target) Release/obj.target/deasync/src/deasync.o SOLINK_MODULE(target) Release/obj.target/deasync.node COPY Release/deasync.node make: Leaving directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/deasync/build' Installed in `/opt/iobroker/node_modules/iobroker.ble/node_modules/deasync/bin/linux-arm64-node-14/deasync.node` > usb@1.9.2 install /opt/iobroker/node_modules/iobroker.ble/node_modules/usb > node-gyp-build make: Entering directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/usb/build' CC(target) Release/obj.target/libusb/libusb/libusb/core.o CC(target) Release/obj.target/libusb/libusb/libusb/descriptor.o CC(target) Release/obj.target/libusb/libusb/libusb/hotplug.o CC(target) Release/obj.target/libusb/libusb/libusb/io.o CC(target) Release/obj.target/libusb/libusb/libusb/strerror.o CC(target) Release/obj.target/libusb/libusb/libusb/sync.o CC(target) Release/obj.target/libusb/libusb/libusb/os/poll_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/threads_posix.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_usbfs.o CC(target) Release/obj.target/libusb/libusb/libusb/os/linux_udev.o AR(target) Release/obj.target/usb.a COPY Release/usb.a CXX(target) Release/obj.target/usb_bindings/src/node_usb.o ../src/node_usb.cc: In function ‘Napi::Value SetDebugLevel(const Napi::CallbackInfo&)’: ../src/node_usb.cc:118:71: warning: ‘void libusb_set_debug(libusb_context*, int)’ is deprecated: Use libusb_set_option instead [-Wdeprecated-declarations] 118 | libusb_set_debug(usb_context, info[0].As<Napi::Number>().Int32Value()); | ^ In file included from ../src/node_usb.h:11, from ../src/node_usb.cc:1: ../libusb/libusb/libusb.h:1325:18: note: declared here 1325 | void LIBUSB_CALL libusb_set_debug(libusb_context *ctx, int level); | ^~~~~~~~~~~~~~~~ CXX(target) Release/obj.target/usb_bindings/src/device.o CXX(target) Release/obj.target/usb_bindings/src/transfer.o SOLINK_MODULE(target) Release/obj.target/usb_bindings.node COPY Release/usb_bindings.node make: Leaving directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/usb/build' > @abandonware/bluetooth-hci-socket@0.5.3-8 install /opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/bluetooth-hci-socket > node-pre-gyp install --fallback-to-build node-pre-gyp ERR! install response status 404 Not Found on https://github.com/abandonware/node-bluetooth-hci-socket/releases/download/0.5.3-8/bluetooth_hci_socket-0.5.3-8-node-v83-linux-arm64.tar.gz node-pre-gyp WARN Pre-built binaries not installable for @abandonware/bluetooth-hci-socket@0.5.3-8 and node@14.18.2 (node-v83 ABI, glibc) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/abandonware/node-bluetooth-hci-socket/releases/download/0.5.3-8/bluetooth_hci_socket-0.5.3-8-node-v83-linux-arm64.tar.gz make: Entering directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/bluetooth-hci-socket/build' CXX(target) Release/obj.target/bluetooth_hci_socket/src/BluetoothHciSocket.o In file included from /opt/iobroker/.cache/node-gyp/14.18.2/include/node/node_buffer.h:25, from ../src/BluetoothHciSocket.cpp:7: /opt/iobroker/.cache/node-gyp/14.18.2/include/node/node.h:787:7: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] 787 | (node::addon_register_func) (regfunc), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/iobroker/.cache/node-gyp/14.18.2/include/node/node.h:821:3: note: in expansion of macro ‘NODE_MODULE_X’ 821 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~ ../src/BluetoothHciSocket.cpp:635:1: note: in expansion of macro ‘NODE_MODULE’ 635 | NODE_MODULE(binding, BluetoothHciSocket::Init); | ^~~~~~~~~~~ ../src/BluetoothHciSocket.cpp: In member function ‘int BluetoothHciSocket::kernelDisconnectWorkArounds(int, char*)’: ../src/BluetoothHciSocket.cpp:401:1: warning: control reaches end of non-void function [-Wreturn-type] 401 | } | ^ SOLINK_MODULE(target) Release/obj.target/bluetooth_hci_socket.node COPY Release/bluetooth_hci_socket.node COPY /opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/bluetooth-hci-socket/lib/binding/bluetooth_hci_socket.node TOUCH Release/obj.target/action_after_build.stamp make: Leaving directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/bluetooth-hci-socket/build' > @abandonware/noble@1.9.2-15 install /opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/noble > node-gyp rebuild make: Entering directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/noble/build' SOLINK_MODULE(target) Release/obj.target/noble.node COPY Release/noble.node make: Leaving directory '/opt/iobroker/node_modules/iobroker.ble/node_modules/@abandonware/noble/build' > core-js@2.6.12 postinstall /opt/iobroker/node_modules/iobroker.ble/node_modules/core-js > node -e "try{require('./postinstall')}catch(e){}" Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library! The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: > https://opencollective.com/core-js > https://www.patreon.com/zloirock Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -) > parcel-bundler@1.12.5 postinstall /opt/iobroker/node_modules/iobroker.ble/node_modules/parcel-bundler > node -e "console.log('\u001b[35m\u001b[1mLove Parcel? You can now donate to our open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/parcel/donate\u001b[0m')" Love Parcel? You can now donate to our open collective: > https://opencollective.com/parcel/donate npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/glob-watcher/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/@parcel/watcher/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"}) + production@0.0.2 added 1489 packages from 1205 contributors in 146.424s 109 packages are looking for funding run `npm fund` for details root@helios64:/opt/iobroker/node_modules/iobroker.ble#.. danach nur noch den Adapter neustarten und er ist wieder Grün!
mit root geht es mit nodejs nicht gut!