NEWS
Js-controller 1.5.3 in latest verfügbar
-
ich habe es auch unter Windows versucht…
zum Glück vorher den ioBroker Ordner gezippt.. Kopieren ging nicht, da eine Meldung kam, dass die Dateinamen zu lange werden. (ich vermute mal der Kodi-Adapter, der ist ziemlich lange mit vielen Unterordnern..)
Dann Update von 1.42 auf 1.53
Während dem Upgrade kamen vollgende Meldungen:
C:\ioBroker>iobroker upgrade self C:\ioBroker>node node_modules/iobroker.js-controller/iobroker.js upgrade self Update js-controller from @1.4.2 to @1.5.3 NPM version: 3.10.10 npm install iobroker.js-controller@1.5.3 --unsafe-perm --production --save --prefix "C:/ioBroker" (System call) gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:449:14) gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:404:11 gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\polyfills.js:264:29 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:123:15) gyp ERR! System Windows_NT 6.3.9600 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\ \node-gyp.js" "rebuild" gyp ERR! cwd C:\ioBroker\node_modules\iobroker.js-controller\node_modules\unix-dgram gyp ERR! node -v v6.14.2 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:449:14) gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:404:11 gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\polyfills.js:264:29 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:123:15) gyp ERR! System Windows_NT 6.3.9600 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\ \node-gyp.js" "rebuild" gyp ERR! cwd C:\ioBroker\node_modules\iobroker.js-controller\node_modules\diskusage gyp ERR! node -v v6.14.2 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok npm WARN optional SKIPPING OPTIONAL DEPENDENCY: unix-dgram@0.2.3 (node_modules\iobroker.js-controller\node_modules\unix-dgram): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: unix-dgram@0.2.3 install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: diskusage@0.2.4 (node_modules\iobroker.js-controller\node_modules\diskusage): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: diskusage@0.2.4 install: `node-gyp rebuild` npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 Host "Server" (win32) updated Starting node restart.js C:\ioBroker>iobroker start C:\ioBroker>node node_modules/iobroker.js-controller/iobroker.js start Starting iobroker controller daemon...
Danach war der Admin unter https nicht mehr erreichbar (lets encrypt Zertifikat) Leider habe ich wohl keine Instanz mit http…. deshalb habe ich versucht wieder auf 1.42 zu kommen, was aber nicht funktioniert hat (mit den hier schon oft zitierten Befehl ... irgendwas -production)
Dann habe ich versucht die relevanten Verzeichnisse aus der Zip wieder herzustellen, was zum Glück funktioniert hat.
Auf meinem PI schlägt schon das Update fehl...
pi@raspberrypi:/opt/iobroker $ sudo iobroker update undefined server error undefined Error: server error at Socket.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:445:19) at XHR. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/socket.js:268:10) at XHR.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20) at XHR.Transport.onPacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:145:8) at callback (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/polling.js:144:10) at Object.exports.decodePayload (/opt/iobroker/node_modules/engine.io-parser/lib/index.js:309:18) at XHR.Polling.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/polling.js:148:10) at Request. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/polling-xhr.js:126:10) at Request.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20) at Request.onData (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/polling-xhr.js:296:8) ^C</anonymous></anonymous>
Zu meinem System:
Windows-Büchse:
Modell
Intel(R) Xeon(R) CPU E31225 @ 3.10GHz
RAM
3.9 GB
Node.js
v6.14.2
NPM
3.10.10
Anzahl der Adapter
1/222
Pi:
Node.js
v6.12.3
NPM
6.4.1
Disk size
15607906304
Disk free
12193386496
Anzahl der Adapter
?/222
Soll ich es nochmal versuche, oder auf eine neue Version warten ?
Oder habe ich irgendwelche falschen Vorraussetzungen ?
-
Ich habe sogar einen anderen Browser probiert;).
Das Adapterfenster bleibt einfach leer.
Die ioBroker-Systemeinstellungen sind unvollständig.
z.B. keine Verwahrungsorte. (daher bleibt das wahrscheinlich auch leer)
Wenn ich in einen anderen Bereich wechsle sagt er mir, dass die Daten nicht gespeichert sind, lässt sie mich aber auch nicht speichern.
Es kam ab und an dann ein "Zugriffsfehler"
-
Windows: du hast scheinbar die Windows Build Tools nicht installiert … solltest du dringend. Das kann schon die Ursache sein. Weil Update hat damit scheinbar nicht geklappt.
https://www.npmjs.com/package/windows-build-tools
Pi: ist das ein ioBroker Slave? Kann es sein das der Master nicht an war als du es versucht hast?
Gesendet vom Handy ...
-
Ich habe sogar einen anderen Browser probiert;).
Das Adapterfenster bleibt einfach leer.
Die ioBroker-Systemeinstellungen sind unvollständig.
z.B. keine Verwahrungsorte. (daher bleibt das wahrscheinlich auch leer)
Wenn ich in einen anderen Bereich wechsle sagt er mir, dass die Daten nicht gespeichert sind, lässt sie mich aber auch nicht speichern.
Es kam ab und an dann ein "Zugriffsfehler" `
Zeigt die Browser Konsole irgendwas an Fehlern an?Gesendet vom Handy …
-
Windows: du hast scheinbar die Windows Build Tools nicht installiert … solltest du dringend. Das kann schon die Ursache sein. Weil Update hat damit scheinbar nicht geklappt.
https://www.npmjs.com/package/windows-build-tools
Pi: ist das ein ioBroker Slave? Kann es sein das der Master nicht an war als du es versucht hast?
Gesendet vom Handy ... `
Weiß ich nicht genau ob das bei mir installiert ist. Ich werde das mal installieren…
Ja, der Pi ist ein ioBroker Slave, bzw habe ich ein Multihost-System. Dort läuft allerdings nur eine relativ unwichtige MQTT-Instanz.
Bin mir nach dem Chaos nicht wirklich sicher, ob der Master an war.
-
Ein ioBroker Update aktualisiert auch nicht den js-Controller!! Das macht iobroker update self.
Gesendet vom Handy …
-
Ein ioBroker Update aktualisiert auch nicht den js-Controller!! Das macht iobroker update self.
Gesendet vom Handy … `
Das ist schon klar;)
Bei iobroker update kommt bei mir die Fehlermeldung: Objekt "system.config" not found
-
Windows: du hast scheinbar die Windows Build Tools nicht installiert … solltest du dringend. Das kann schon die Ursache sein. Weil Update hat damit scheinbar nicht geklappt.
https://www.npmjs.com/package/windows-build-tools
Pi: ist das ein ioBroker Slave? Kann es sein das der Master nicht an war als du es versucht hast?
Gesendet vom Handy ... `
Ja, auf dem Pi ist der Slave.. Master war aber 100% an…
beim Versuch die windows Build tools zu installieren kam:
C:\ioBroker>npm install --global --production windows-build-tools > windows-build-tools@4.0.0 postinstall C:\Program Files\nodejs\node_modules\windows-build-tools > node ./dist/index.js C:\Program Files\nodejs\node_modules\windows-build-tools\dist\aquire-installers.js:15 async function aquireInstallers(cb) { ^^^^^^^^ SyntaxError: Unexpected token function at createScript (vm.js:56:10) at Object.runInThisContext (vm.js:97:10) at Module._compile (module.js:549:28) at Object.Module._extensions..js (module.js:586:10) at Module.load (module.js:494:32) at tryModuleLoad (module.js:453:12) at Function.Module._load (module.js:445:3) at Module.require (module.js:504:17) at require (internal/module.js:20:19) at Object. <anonymous>(C:\Program Files\nodejs\node_modules\windows-build-tools\dist\start.js:4:29) npm ERR! Windows_NT 6.3.9600 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "--g lobal" "--production" "windows-build-tools" npm ERR! node v6.14.2 npm ERR! npm v3.10.10 npm ERR! code ELIFECYCLE npm ERR! windows-build-tools@4.0.0 postinstall: `node ./dist/index.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the windows-build-tools@4.0.0 postinstall script 'node ./dist/index.js'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the windows-build-tools package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node ./dist/index.js npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs windows-build-tools npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls windows-build-tools npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! C:\ioBroker\npm-debug.log C:\ioBroker></anonymous>
Node 6.14 und mpm 3.10 … Welche Versionen sind denn unter Windows tauglich / empfohlen ?
-
Noch immer der Fehler EMPTY ID
Screenshot (692).png `
Wenn der Pfad wie bei Dir bei mir im "Datei Manager" leer ist, bekomme ich auch den Fehler "Empty ID". Wenn ich z.B. den Pfad /vis.0/ eintrage, werden mir Dateien im Datei Manager angezeigt. Unter Umständen musst du noch einmal auf den Aktualisieren Button klicken.
-
So, nach einem nochmaligen Versuch die v1.5.3 zum laufen zu bekommen bin ich nun wieder auf der v1.4.2
Die 1.5.3 blockiert mein System mit über 200 Prozessen und einer Systemauslastung von 99%,
mit der v1.4.2 sind es ca. 91 bei einer Systemauslastung von durchschnittlich 12%.
Befehle wie "iobroker update " oder iobroker update self" funktionieren nicht.
Ich habe up- und downgrades nur mit "npm install …" realisieren können.
Kann mir jemand sagen wie ich die "system.config" wieder repariert bekomme?
Da diese nicht mehr vorhanden zu sein scheint ist der Part "Adapter" leer, und uch bekomme somit auch keinerlei Möglichkeit andere Adapter aktuell zu halten.
-
Da bin ich wieder bei Backups der objects.json wie weiter oben gesagt. Bei dir scheint was kaputt zu sein generell.
Gesendet vom Handy …
-
Hallo,
1.53 hab ich nicht expliziet erwähnt, da wir uns ja in dem "Thred" befinden.
Aber ja, "immer noch" bezieht sich auf 1.53.
Ich hab den JS-Controller auf 1.53 geupdated und danach den PI durchgebootet.
Ich hoffe, das meinst Du mit "alles gestoppt und gestartet"
Ach ja, und die Webserver HTTP Instance läuft ohne Probleme.
Genauso wie alle anderen Adapter.
Grüße, Frank
Hallo,
bei mir startet die WEB-Server Instance für HTTPS immer noch nicht.
Hat zuletzt bei 1.42 funktioniert, nicht in 1.51 und 1.52.
meine Config:
Hardware: RASPI 3
NPM Version: 3.10.10
NodeJS Version: V6.12.3
Admin Adapter Version 3.59
Alle installierten Adapter auf dem aktuellen Stand
Nutze Verwahrungsort: http://download.iobroker.net/sources-dist-latest.json
Hier die Logs (und das geht dann immer Kreis so)
2018-09-16 16:43:35.797 - info: host.wg6-wetter instance system.adapter.web.1 started with pid 7015
2018-09-16 16:43:39.206 - error: web.1 uncaught exception: util.promisify is not a function
2018-09-16 16:43:39.272 - error: Caught by controller[0]: TypeError: util.promisify is not a function
2018-09-16 16:43:39.273 - error: Caught by controller[0]: at /opt/iobroker/node_modules/greenlock/index.js:17:33
2018-09-16 16:43:39.273 - error: Caught by controller[0]: at Array.forEach (native)
2018-09-16 16:43:39.274 - error: Caught by controller[0]: at promisifyAllSelf (/opt/iobroker/node_modules/greenlock/index.js:15:20)
2018-09-16 16:43:39.274 - error: Caught by controller[0]: at Object.Greenlock.create (/opt/iobroker/node_modules/greenlock/index.js:258:13)
2018-09-16 16:43:39.274 - error: Caught by controller[0]: at Object.createServer (/opt/iobroker/node_modules/iobroker.js-controller/lib/letsencrypt.js:55:26)
2018-09-16 16:43:39.274 - error: Caught by controller[0]: at initWebServer (/opt/iobroker/node_modules/iobroker.web/main.js:847:28)
2018-09-16 16:43:39.274 - error: Caught by controller[0]: at adapter.getCertificates (/opt/iobroker/node_modules/iobroker.web/main.js:239:29)
2018-09-16 16:43:39.274 - error: Caught by controller[0]: at Socket.that.getForeignObject (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:724:21)
2018-09-16 16:43:39.275 - error: Caught by controller[0]: at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:312:9)
2018-09-16 16:43:39.276 - error: Caught by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:236:12)
2018-09-16 16:43:39.276 - error: Caught by controller[0]: at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
2018-09-16 16:43:39.276 - error: Caught by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/component-emitter/index.js:133:20)
2018-09-16 16:43:39.276 - error: Caught by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:332:8)
2018-09-16 16:43:39.276 - error: Caught by controller[0]: at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
2018-09-16 16:43:39.276 - error: Caught by controller[0]: at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
2018-09-16 16:43:39.277 - error: Caught by controller[0]: at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
2018-09-16 16:43:39.277 - error: host.wg6-wetter instance system.adapter.web.1 terminated with code 0 (OK)
2018-09-16 16:43:39.277 - info: host.wg6-wetter Restart adapter system.adapter.web.1 because enabled `
Das hätte aber schon mit 1.5.1 gefixt sein solle. Wurde da wirklich alles beendet und neu gestartet?Du hast 1.5.3 nicht erwähnt in deinem Post?
Gesendet vom Handy … `
-
So….
nach einer langen Fernwartungs-Session mit Stabilostick (nochmal danke dafür !!) läuft mein System jetzt auf 1.53
So ganz nebenbei sind einige meiner anderen Baustellen auch behoben, da wir das System neu aufgesetzt haben...
Kurz zur Vorgehensweise, soweit ich sie noch zusammenbekomme....
Mein System läuft unter Windows.
-
IOBroker Dienst beendet
-
c:\iobroker in iobroker.old umbenannt
-
node deinstalliert (alte Version)
-
Alte Verzeichnisse in c:\programme (alles mit node) und in %appdata%\roaming gelöscht. (waren node und node.cache)
-
den alten Dienst mit "sc delete iobroker" gelöscht
-
Dann node 8.12 runtergeladen und neu inst
-
dann von der iobroker.net Seite unter Downloads den letzen Installer runtergeladen und installiert. Diesmal wurde auch der Dienst automatisch installiert..... (nicht so , wie bei meinem ersten Aufzetzen.
-
den iobroker einmal gestartet, ob er funktioniert...
-
Dienst beendet und aus iobroker.old\iobroker-data die 3 .json Dateien ins das selbe Verzeichiss c:\iobroker\iobroker-data kopiert
-
den Lets Encrypt Ordner (falls ihr das verwendet) kopiert
-
die Ornder vis und vis.0 aus \iobroker.old\files in den neuen Ordner kopiert.
-
Dann den Dienst wieder gestartet
-
Nun wieder in den Admin rein ... Ging nicht, also in der Komandozeile "iobroker add admin" eine neue instanz installiert.
-
mit diesem Admin konnten wir uns wieder einloggen... den admin.0 erstmal deaktiviert.
-
jetzt konnte man im Log sehen, dass alle Adapter neu installiert wurden und auch wieder liefen.
-
Mein History lief unter \history ... daran hatten wir gar nicht gedacht, aber es war alles wieder da, da der Ordner ja nicht angefasst wurde.
-
Adapter die von Github kamen (speziel Lametric 0.0.2) mussten neu installiert werden und dann mit Upload im Expertenmodus hochgeladen werden...
-
Dann haben wir den Admin auf die neueste Version aktualiseiert... den admin.1 (ersatzadmin ) auf Port 8089 geändert und die ssl-Verschlüsselung getestet.. Lief nicht, aber im log kam ein eindeutiger Hinweise, dass man mit npm noch ein Modul installieren soll. (weiss nicht mehr auswendig welches..war aber wirlich tiefrot drauf hingewiesen.)
-
Dieses Modul installiert, iobroker neu gestartet und ssl lief.
-
jetzt nochmal ne Sicherung des gesamten IOBroker-Ordners gemacht und dann mit "iobroker update" und "iobroker upgrade self" auf 1.53 aktualsiert...
LÄUFT!
Nochmal Danke an Stabilostick !
-
-
Bitteschön! War mir eine Freude, Dich kennengelernt zu haben.
Viel Spaß noch mit dem ioBroker.
-
So, bin jetzt auf 1.5.3 hoch und wieder der Fehler, dass man nicht tiefer als vis.0 kommt!
EMPTY ID steht nur da.
neus SD Karte, neustes image. bei 1.40 und 1.4.2 des controlles konnte ich tiefer als vis.0 , nach dem upgrade auf 1.5.3 geht es nicht mehr.
Dazu folgende Fehlermeldung, wie bei vielen:
pi@ioBroker-RasPi:/opt/iobroker $ sudo iobroker stop Stopping iobroker controller daemon... iobroker controller daemon stopped. fs.js:1123 return binding.chmod(pathModule._makeLong(path), modeNum(mode)); ^ Error: ENOENT: no such file or directory, chmod '/opt/iobroker/node_modules/iobroker.js-controller/lib/../killall.sh' at Object.fs.chmodSync (fs.js:1123:18) at Daemon.daemon.on (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:286:32) at emitOne (events.js:121:20) at Daemon.emit (events.js:211:7) at Daemon. <anonymous>(/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:267:14) at Daemon._tryKill (/opt/iobroker/node_modules/daemonize2/lib/daemonize.js:277:23) at ontimeout (timers.js:498:11) at tryOnTimeout (timers.js:323:5) at Timer.listOnTimeout (timers.js:290:5)</anonymous>
P.S.: Ich gebe es auf, bin wieder auf 1.4.2 zurück. 4 neu Installationen ohne Erfolg. (der Fehler nach dem "sudo iobroker stop", ist dann auch wieder weg.)
Gruß und guten Nacht
Ostpower
-
Mal so gefragt: was ist denn „höher als vis.0“? Oder sind da Ansicht noch andere „Ordner“?
Gesendet vom Handy …
-
Guten Morgen apollon77,
höher als /vis.0/ ,ist ja meine eigenen Vis Struktur des z.B. main (wird beim ersten start erstellt) oder meine eigenen Projekte (Ordner).
Tiefer ist halt alles, unter /vis.0 z.B. die icon widgets, die man über den Admin bereich installieren kann.
Da bekomme ich immer bei 1.5.x den fehler Empty ID. Somit komme ich nicht mehr zu den z.B. mdf icons, welche ich installiert habe.
Wäre es nicht besser, dass widgets (die icons enthalten,welche man für die eigenen visu braucht) direkt unter /vis.0/"mdf icons" installiert werden?
Ist aber ein anderes Thema, ich bin hier neu und werde nicht eure tolle Arbeit oder Struktur infrage stellen. Hier steckt viel arbeit drin und es ist ein tolles Produkt (iobroker).
Gruß
Ostpower
-
Wenn man eine Ebene höher geht (ins Wurzelverzeichnis), sieht man die anderen Ordner. Sieht bei mir unter 1.4.2 so aus:
Stattdessen sieht man in 1.5.x nur 'Empty ID'.
-
So, bin jetzt auf 1.5.3 hoch und wieder der Fehler, dass man nicht tiefer als vis.0 kommt!
EMPTY ID steht nur da.
P.S.: Ich gebe es auf, bin wieder auf 1.4.2 zurück. 4 neu Installationen ohne Erfolg. (der Fehler nach dem "sudo iobroker stop", ist dann auch wieder weg.)
Gruß und guten Nacht
Ostpower `
So ist es bei mir auch!
-
Moin,
Ich habe gestern meinen Pi 3B neu aufgesetzt.
Also Rapsbian geflasht, ioBroker installiert. Alles manuell nach Anleitung.
Lief alles gut durch.
Dann direkt als erstes den JS Controller auf 1.5.3 geupdatet.
Anschließend Admin auf 3.5.9. (Weitere Daten in meiner Sig)
Bisher sind nur Admin, Discovery und der Web Adapter isntalliert.
Weiter keine Änderungen vorgenommen.
Im Log erhalte ich die folgende Meldungen:
admin.0 2018-09-18 05:39:30.073 warn Disable logging, because no one socket connected admin.0 2018-09-18 05:39:21.710 info Repository received successfully. admin.0 2018-09-18 05:39:21.400 info Use link "https://localhost:8081" to configure. admin.0 2018-09-18 05:39:21.400 info https server listening on port 8081 admin.0 2018-09-18 05:39:21.340 info created middleware admin.0 2018-09-18 05:39:20.585 info received all states admin.0 2018-09-18 05:39:20.568 warn No repository source configured