NEWS
Modulare scripte in javascript Adaper benutzen
-
@MCU sagte: Muss man für module.exports nicht Typescript verwenden?
Nein, es funktioniert mit Javascript.
Nach Erstellen / Änderung des Node-Modules muss man die Javascript-Instanz neu starten.@paul53 Also bei mir funktioniert es nur mit Typescript, wenn man nur mit den Skripten arbeiten möchte und kein Node-Module erstellt.

function getNumberRooms() { return 347; } module.exports = { getNumberRooms };javascript.0 19:12:51.276 error Error: ReferenceError: module is not defined javascript.0 19:12:51.276 error at script.js.common.TestHaus:7:1 javascript.0 19:12:51.276 error at script.js.common.TestHaus:12:3 javascript.0 19:12:51.276 error at Script.runInContext (node:vm:149:12) -
Das mit dem Neustarten hatte ich gelesen, bringt aber nichts ausser das beim Starten auf die Scripte referenziert, also kennen tut er sie, nur finden nicht
-
In openDb.js steht :
const mariadb = require('mariadb');
//import mariadb from 'mariadb' ;// Expose the Pool object within this module
module.exports = Object.freeze({
pool: mariadb.createPool({
host: '192.168.1.5',
port: '3306',
user: 'ioBroker',
password: 'xxxxx'',
database : 'repository' ,
connectionlimit : 5
})
}); -
Das mit dem Neustarten hatte ich gelesen, bringt aber nichts ausser das beim Starten auf die Scripte referenziert, also kennen tut er sie, nur finden nicht
@Rudi-Restless
Mein letzter Test (nach Änderung und Instanz-Neustart):
Modul:'use strict'; function dwd() { return 789; } module.exports = dwd;Skript mit Log:
const myfunc = require('/home/iobroker/scripts/modules/test.js'); log(myfunc());javascript.0 19:21:03.348 info start JavaScript (Javascript/js) javascript.0 19:21:03.354 info 789 -
Okay, dann scheint es ja grundsätzlich zu gehen, nur bei mir nicht.
-
@Rudi-Restless
Mein letzter Test (nach Änderung und Instanz-Neustart):
Modul:'use strict'; function dwd() { return 789; } module.exports = dwd;Skript mit Log:
const myfunc = require('/home/iobroker/scripts/modules/test.js'); log(myfunc());javascript.0 19:21:03.348 info start JavaScript (Javascript/js) javascript.0 19:21:03.354 info 789 -
Okay, dann scheint es ja grundsätzlich zu gehen, nur bei mir nicht.
password: 'xxxxx'',ein ' zuviel ? Nur durch Anpassung?
evtl Port als Zahl?
port: 3306, -
Die scripts laufen in der shell ohne Probleme.
Beim Starten der Instanz kommt :
javascript.0
2026-01-12 19:42:17.490 info Watch /home/iobroker/script/
javascript.0
2026-01-12 19:42:17.490 info Watch /home/iobroker/script/common/
javascript.0
2026-01-12 19:42:17.489 info Watch /home/iobroker/script/common/testen/
javascript.0
2026-01-12 19:42:17.488 info Watch /home/iobroker/script/common/steuerung/
javascript.0
2026-01-12 19:42:17.487 info Watch /home/iobroker/script/common/mariadb/
javascript.0
2026-01-12 19:42:17.484 info Created script file on disk /home/iobroker/script/common/mariadb/openDb.js
javascript.0
2026-01-12 19:42:17.483 info Created script file on disk /home/iobroker/script/common/mariadb/testDb.js
javascript.0
2026-01-12 19:42:17.482 info Created script file on disk /home/iobroker/script/common/mariadb/typLaden.js
javascript.0
2026-01-12 19:42:17.481 info Created script file on disk /home/iobroker/script/common/steuerung/datenLaden.js
javascript.0
2026-01-12 19:42:17.480 info Created script file on disk /home/iobroker/script/common/testen/test.js
javascript.0
2026-01-12 19:42:17.478 info Created script file on disk /home/iobroker/script/common/testen/runTest.js
javascript.0
2026-01-12 19:42:17.377 debug [sunTimeSchedules] Next: 2026-01-12T23:00:01.000ZDas Beispiel von Paul53 läuft aber auch nicht, er findet die Datei nicht .....
Auf dem Rechner sieht das so aus :
Node.js v20.19.6
rudi@W10Gruppe:/home/iobroker/script$ ls -ls /home/iobroker/script/common/mariadb
insgesamt 12
4 -rwxr-xr-x 1 iobroker iobroker 299 12. Jan 16:44 openDb.js
4 -rwxr-xr-x 1 iobroker iobroker 802 12. Jan 16:44 testDb.js
4 -rwxr-xr-x 1 iobroker iobroker 73 12. Jan 16:44 typLaden.js -
Die scripts laufen in der shell ohne Probleme.
Beim Starten der Instanz kommt :
javascript.0
2026-01-12 19:42:17.490 info Watch /home/iobroker/script/
javascript.0
2026-01-12 19:42:17.490 info Watch /home/iobroker/script/common/
javascript.0
2026-01-12 19:42:17.489 info Watch /home/iobroker/script/common/testen/
javascript.0
2026-01-12 19:42:17.488 info Watch /home/iobroker/script/common/steuerung/
javascript.0
2026-01-12 19:42:17.487 info Watch /home/iobroker/script/common/mariadb/
javascript.0
2026-01-12 19:42:17.484 info Created script file on disk /home/iobroker/script/common/mariadb/openDb.js
javascript.0
2026-01-12 19:42:17.483 info Created script file on disk /home/iobroker/script/common/mariadb/testDb.js
javascript.0
2026-01-12 19:42:17.482 info Created script file on disk /home/iobroker/script/common/mariadb/typLaden.js
javascript.0
2026-01-12 19:42:17.481 info Created script file on disk /home/iobroker/script/common/steuerung/datenLaden.js
javascript.0
2026-01-12 19:42:17.480 info Created script file on disk /home/iobroker/script/common/testen/test.js
javascript.0
2026-01-12 19:42:17.478 info Created script file on disk /home/iobroker/script/common/testen/runTest.js
javascript.0
2026-01-12 19:42:17.377 debug [sunTimeSchedules] Next: 2026-01-12T23:00:01.000ZDas Beispiel von Paul53 läuft aber auch nicht, er findet die Datei nicht .....
Auf dem Rechner sieht das so aus :
Node.js v20.19.6
rudi@W10Gruppe:/home/iobroker/script$ ls -ls /home/iobroker/script/common/mariadb
insgesamt 12
4 -rwxr-xr-x 1 iobroker iobroker 299 12. Jan 16:44 openDb.js
4 -rwxr-xr-x 1 iobroker iobroker 802 12. Jan 16:44 testDb.js
4 -rwxr-xr-x 1 iobroker iobroker 73 12. Jan 16:44 typLaden.js@Rudi-Restless sagte: Beim Starten der Instanz kommt :
Die Info-Logs "Created script file on disk ..." erscheinen bei mir (JS v9.0.11) nicht.
-
Die scripts laufen in der shell ohne Probleme.
Beim Starten der Instanz kommt :
javascript.0
2026-01-12 19:42:17.490 info Watch /home/iobroker/script/
javascript.0
2026-01-12 19:42:17.490 info Watch /home/iobroker/script/common/
javascript.0
2026-01-12 19:42:17.489 info Watch /home/iobroker/script/common/testen/
javascript.0
2026-01-12 19:42:17.488 info Watch /home/iobroker/script/common/steuerung/
javascript.0
2026-01-12 19:42:17.487 info Watch /home/iobroker/script/common/mariadb/
javascript.0
2026-01-12 19:42:17.484 info Created script file on disk /home/iobroker/script/common/mariadb/openDb.js
javascript.0
2026-01-12 19:42:17.483 info Created script file on disk /home/iobroker/script/common/mariadb/testDb.js
javascript.0
2026-01-12 19:42:17.482 info Created script file on disk /home/iobroker/script/common/mariadb/typLaden.js
javascript.0
2026-01-12 19:42:17.481 info Created script file on disk /home/iobroker/script/common/steuerung/datenLaden.js
javascript.0
2026-01-12 19:42:17.480 info Created script file on disk /home/iobroker/script/common/testen/test.js
javascript.0
2026-01-12 19:42:17.478 info Created script file on disk /home/iobroker/script/common/testen/runTest.js
javascript.0
2026-01-12 19:42:17.377 debug [sunTimeSchedules] Next: 2026-01-12T23:00:01.000ZDas Beispiel von Paul53 läuft aber auch nicht, er findet die Datei nicht .....
Auf dem Rechner sieht das so aus :
Node.js v20.19.6
rudi@W10Gruppe:/home/iobroker/script$ ls -ls /home/iobroker/script/common/mariadb
insgesamt 12
4 -rwxr-xr-x 1 iobroker iobroker 299 12. Jan 16:44 openDb.js
4 -rwxr-xr-x 1 iobroker iobroker 802 12. Jan 16:44 testDb.js
4 -rwxr-xr-x 1 iobroker iobroker 73 12. Jan 16:44 typLaden.js@Rudi-Restless sagte in Modulare scripte in javascript Adaper benutzen:
Node.js v20.19.6
Evtl das System mal aktualisieren?
Nodejs sollte jetzt 22.21.0 sein
Welches Betriebssystem? debian 13 Trixie?
cat /etc/debian_version iob diag -
Nein, aktuell ist es bookworm. Aber unter Trixi auf einem PI bekomme ich nicht mal mariadb importiert und in docker mit trixi gehts auch nicht. Irgendetwas mache ich grundsätzlich falsch. Bookworm hatte wohl schon länger kein update, ds hol ich grad nach
-
Nein, aktuell ist es bookworm. Aber unter Trixi auf einem PI bekomme ich nicht mal mariadb importiert und in docker mit trixi gehts auch nicht. Irgendetwas mache ich grundsätzlich falsch. Bookworm hatte wohl schon länger kein update, ds hol ich grad nach
Das musst du dir dann anschauen, ein Upgrade auf Debian 13 'Trixie' ist unumgänglich. Und je länger das herausgezögert wird desto komplizierter kann das werden.
-
Ok das wird dann was grösseres
-
Ok das wird dann was grösseres
Nö, ist ein normales Dist-Upgrade, das bei Debian etwa alle zwei Jahre fällig wird.
-
bookworm ist erst mitte 2026 fällig so weit ich weiss. Aber upgrade auf node 22.22.0 hat es gebracht... Danke für das Interesse und Hilfe
-
bookworm ist erst mitte 2026 fällig so weit ich weiss. Aber upgrade auf node 22.22.0 hat es gebracht... Danke für das Interesse und Hilfe
@Rudi-Restless sagte in Modulare scripte in javascript Adaper benutzen:
bookworm ist erst mitte 2026 fällig so weit ich weiss.
Stimmt. Aber man sollte es auch nicht ganz am Ende des Supportzeitraums machen. Jetzt wäre ein guter Zeitpunkt, die ersten 3 Pointreleases für Debian 13 Trixie sind da und damit sind die ersten Kinken raus.