NEWS
Wieder mal das System zerschossen
-
mir hats wieder das System zerhauen.
Neu aufsetzen und den /opt Ordner kopieren klappt diesmal nicht.
Admin startet nicht mehr. Auch nicht mit neuer Instanz und auch nicht mit "drüber installieren" vom js-con.
Die Views habe ich, kann mir jamand sagen wo ich im alten /opt Ordner die scripte finde…
-
ruhig Blut
… was sagen die Logs ??
-
ruhig Blut
… was sagen die Logs ?? `
bei mir artet das immer zum Supergau aus…hier nur mal Stichpunkte, Log kann ich Abend liefern.
-System: Odroid C2 mit Ubuntu 16.4, Node 6.x, npm 5.x, emmc 16GB
-Update JS-Con auf 1.2.3
-noch ein paar andere Updates gemacht
-mit einem Script rumgespielt welches CAM-Bilder per Telegram verschickt
--> dabei gemerkt, dass das Bild, wie anfangs, nicht mehr gespeichert wird.
-dann ist die Kiste hängen geblieben und ein Start war auch nicht mehr möglich.
-neues System auf andere Karte, gestartet, alte Karte gemountet und /opt kopiert
-/opt auf neues System kopiert und ./reinstall.sh ausgeführt
-dann gingen die Fehler los.
ps -A | grep iobroker ergibt
601 ? 00:00:01 iobroker.js-con
iobroker list instances ohne Ergebnis
iobroker start admin es wird keine Instanz gefunden, ich kann auch keine neue anlegen mit neuem Port
-
Wie kommst du bei nodjs 6.x an npm 5.x?
npm 5.x ist noch buggy.
Gruß Rainer
-
Wie kommst du bei nodjs 6.x an npm 5.x?
npm 5.x ist noch buggy.
Gruß Rainer `
npm update -g
mir war so das ich gelesen hätte, dass man problemlos auf 5.x wechseln kann.
Ist dem wohl nicht so?
hatte vorher 3.10.10 drauf.
-
Ist dem wohl nicht so?
hatte vorher 3.10.10 drauf. `
Ne, Homoran predigt das auch immer wiederMan kann (fast) problemlos auf Node 8 upgraden, sollte dann aber unbedingt zurück auf npm 3
-
Ist dem wohl nicht so?
hatte vorher 3.10.10 drauf. `
Ne, Homoran predigt das auch immer wiederMan kann (fast) problemlos auf Node 8 upgraden, sollte dann aber unbedingt zurück auf npm 3 `
nun, dann wird das heut mein Abendwerk… -
Ne, Homoran predigt das auch immer wieder
Man kann (fast) problemlos auf Node 8 upgraden, sollte dann aber unbedingt zurück auf npm 3 `
Wenn ich heute mal dazu komme teste ich aktuell nochmal Node 8 mit npm 5.
Sinnvoll wäre dann auch RasPi mit Stretch, oder?
Gruß
Rainer
-
Wenn ich heute mal dazu komme teste ich aktuell nochmal Node 8 mit npm 5. `
Ich hatte das ne Weile am Laufen. Dann hat der JS-Adapter bei jedem Neustart noble (und den kompletten Bluetooth-Stack) installiert weil er dachte es müsste in seinem Unterordner node_modules liegen. Mit npm3 war Ruhe.Ich fürchte dafür muss in ioBroker noch ein wenig Hand angelegt werden.
-
Ich hatte das ne Weile am Laufen. Dann hat der JS-Adapter bei jedem Neustart noble (und den kompletten Bluetooth-Stack) installiert `
Da scheint es IMHO auch zu hängen. Es werden einige Installationenen beschrieben, bei denen nodejs 8.x mit npm 5.x problemlos funktionieren soll.Erst die Instanziierung bestimmter Adapter können zu dem npm-Problem führen.
Gruß
Rainer
-
so ich bins wieder.
System neu aufgesetzt.
nodejs 6.12.0
npm 3.10.10
iobroker installiert –> admin-Seite geht
den alten /opt rüber gespielt
./reinstall.sh
admin-Seite tot.
Ergebinsse:
ps -A | grep iobroker
5702 ? 00:00:02 iobroker.js-con
iobroker list instances
liefert keine Ergebnisse
iobroker start admin
Cannot find any instances of "admin"
iobroker add admin –port 8089
got /opt/iobroker/node_modules/iobroker.admin/admin upload [2] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/words.js words.js application/javascript upload [1] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/index.html index.html text/html upload [0] admin.admin /opt/iobroker/node_modules/iobroker.admin/admin/admin.png admin.png image/png host.odroid64 error: view instanceStats [object Object]
node node_modules/iobroker.admin/admin.js –logs
2017-11-30 19:55:46.507 - info: host.odroid64 received SIGTERM 2017-11-30 19:55:46.516 - info: host.odroid64 terminated 2017-11-30 19:57:38.275 - info: host.odroid64 iobroker.js-controller version 1.2.3 js-controller starting 2017-11-30 19:57:38.292 - info: host.odroid64 Copyright (c) 2014-2017 bluefox, 2014 hobbyquaker 2017-11-30 19:57:38.293 - info: host.odroid64 hostname: odroid64, node: v6.12.0 2017-11-30 19:57:38.296 - info: host.odroid64 ip addresses: 192.168.2.42 fe80::21e:6ff:fe33:9927 2017-11-30 19:57:38.400 - info: host.odroid64 inMem-states listening on port 9000 2017-11-30 19:57:38.440 - info: host.odroid64 inMem-objects listening on port 9001 2017-11-30 19:57:38.465 - info: host.odroid64 InMemoryDB connected 2017-11-30 19:57:38.498 - error: host.odroid64 _design/system missing - call node iobroker.js setup
Jemand Ideen? :shock: :shock: :shock:
-
Jemand Ideen? `
Ja, der alte /opt-Ordner ist defekt.versuch es mal mit Teilen davon.
für dich wären die /iobroker_data wichtig.
Gruß
Rainer
-
für dich wären die /iobroker_data wichtig. `
versuche ich gleich…sag mal ist das normal? ganz frisches System...
sudo npm install iobroker --unsafe-perm
! root@odroid64:/opt/iobroker# sudo npm install iobroker –unsafe-perm
! > iobroker@1.0.2 install /opt/iobroker/node_modules/iobroker
! > node lib/setup.js
! npm install iobroker.discovery --production --prefix /opt/iobroker
! node-pre-gyp ERR! Tried to download(404): https://github.com/EmergingTechnologyAd ... m64.tar.gz
! node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@6.12.0 (node-v48 ABI) (falling back to source compile with node-gyp)
! ../src/serialport.cpp: In function ‘int getIntFromObject(v8::Localv8::object, std::__cxx11::string)’:
! ../src/serialport.cpp:90:52: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! return getValueFromObject(options, key)->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport.cpp: In function ‘double getDoubleFromObject(v8::Localv8::object, std::_cxx11::string)’:
! ../src/serialport.cpp:102:53: warning: ‘v8::Local v8::numberv8::Value::ToNumber() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! return getValueFromObject(options, key)->ToNumber()->NumberValue();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8178:15: note: declared here
! Local <number>Value::ToNumber() const {
! ^
! ../src/serialport.cpp: In function ‘void EIO_AfterOpen(uv_work_t*)’:
! ../src/serialport.cpp:174:31: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! int fd = argv[1]->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
! ../src/serialport.cpp:193:29: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! int fd = info[0]->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport.cpp:217:116: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! baton->baudRate = Nan::Get(options, Nan::Newv8::string("baudRate").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Write(Nan::NAN_METHOD_ARGS_TYPE)’:
! ../src/serialport.cpp:252:29: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! int fd = info[0]->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
! ../src/serialport.cpp:369:32: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! baton->fd = info[0]->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
! ../src/serialport.cpp:480:29: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! int fd = info[0]->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
! ../src/serialport.cpp:528:29: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! int fd = info[0]->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
! ../src/serialport.cpp:585:29: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! int fd = info[0]->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport_unix.cpp: In function ‘OpenBatonPlatformOptions* ParsePlatformOptions(const v8::Localv8::object&)’:
! ../src/serialport_unix.cpp:44:109: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! result->vmin = Nan::Get(options, Nan::Newv8::string("vmin").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport_unix.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport_unix.cpp:45:111: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! result->vtime = Nan::Get(options, Nan::Newv8::string("vtime").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/./serialport.h:7,
! from ../src/serialport_unix.cpp:1:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! ../src/serialport_poller.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE SerialportPoller::New(Nan::NAN_METHOD_ARGS_TYPE)’:
! ../src/serialport_poller.cpp:86:31: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
! obj->fd = info[0]->ToInt32()->Int32Value();
! ^
! In file included from /root/.node-gyp/6.12.0/include/node/node.h:42:0,
! from ../../nan/nan.h:51,
! from ../src/serialport_poller.cpp:5:
! /root/.node-gyp/6.12.0/include/node/v8.h:8214:14: note: declared here
! Local <int32>Value::ToInt32() const {
! ^
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/package.json'
! npm WARN iobroker No description
! npm WARN iobroker No repository field.
! npm WARN iobroker No README data
! npm WARN iobroker No license field.
! npm install iobroker.admin –production --prefix /opt/iobroker
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/package.json'
! npm WARN iobroker No description
! npm WARN iobroker No repository field.
! npm WARN iobroker No README data
! npm WARN iobroker No license field.
! npm install iobroker.js-controller --production --prefix /opt/iobroker
! npm WARN deprecated localhost.daplie.me-certificates@1.3.5: this package has been deprecated
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/package.json'
! npm WARN iobroker No description
! npm WARN iobroker No repository field.
! npm WARN iobroker No README data
! npm WARN iobroker No license field.
! Write "./iobroker start" to start the ioBroker
! Auto-start was enabled. Write "update-rc.d -f iobroker.sh remove" to disable auto-start
! iobroker is started. Go to "http://ip-addr:8081" to open the admin UI.
! /opt/iobroker
! └─┬ iobroker@1.0.2
! └─┬ yargs@7.1.0
! ├── camelcase@3.0.0
! ├─┬ cliui@3.2.0
! │ ├─┬ strip-ansi@3.0.1
! │ │ └── ansi-regex@2.1.1
! │ └── wrap-ansi@2.1.0
! ├── decamelize@1.2.0
! ├── get-caller-file@1.0.2
! ├─┬ os-locale@1.4.0
! │ └─┬ lcid@1.0.0
! │ └── invert-kv@1.0.0
! ├─┬ read-pkg-up@1.0.1
! │ ├─┬ find-up@1.1.2
! │ │ ├── path-exists@2.1.0
! │ │ └─┬ pinkie-promise@2.0.1
! │ │ └── pinkie@2.0.4
! │ └─┬ read-pkg@1.1.0
! │ ├─┬ load-json-file@1.1.0
! │ │ ├── graceful-fs@4.1.11
! │ │ ├─┬ parse-json@2.2.0
! │ │ │ └─┬ error-ex@1.3.1
! │ │ │ └── is-arrayish@0.2.1
! │ │ ├── pify@2.3.0
! │ │ └─┬ strip-bom@2.0.0
! │ │ └── is-utf8@0.2.1
! │ ├─┬ normalize-package-data@2.4.0
! │ │ ├── hosted-git-info@2.5.0
! │ │ ├─┬ is-builtin-module@1.0.0
! │ │ │ └── builtin-modules@1.1.1
! │ │ ├── semver@5.4.1
! │ │ └─┬ validate-npm-package-license@3.0.1
! │ │ ├─┬ spdx-correct@1.0.2
! │ │ │ └── spdx-license-ids@1.2.2
! │ │ └── spdx-expression-parse@1.0.4
! │ └── path-type@1.1.0
! ├── require-directory@2.1.1
! ├── require-main-filename@1.0.1
! ├── set-blocking@2.0.0
! ├─┬ string-width@1.0.2
! │ ├── code-point-at@1.1.0
! │ └─┬ is-fullwidth-code-point@1.0.0
! │ └── number-is-nan@1.0.1
! ├── which-module@1.0.0
! ├── y18n@3.2.1
! └── yargs-parser@5.0.0
! npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/package.json'
! npm WARN iobroker No description
! npm WARN iobroker No repository field.
! npm WARN iobroker No README data
! npm WARN iobroker No license field.
! root@odroid64:/opt/iobroker#</int32></v8::int32></int32></v8::string></v8::int32></int32></v8::string></v8::int32></v8::object></int32></v8::int32></int32></v8::int32></int32></v8::int32></int32></v8::int32></int32></v8::int32></int32></v8::string></v8::int32></int32></v8::int32></int32></v8::int32></number></v8::number></v8::object></int32></v8::int32></v8::object> -
sag mal ist das normal? ganz frisches System… `
Ja!npm hat ein enormes Mitteilungsbedürfnis
Gruß
Rainer
-
glaube ich habe den Fehler gefunden:
die Datei "objects.json" im alten /opt Ordner ist offensichtlich Schrott. Mit einer früheren Datei geht es.
Mist, alle Scripte weg… :evil:
-
Verwende nicht mehr reinstall.sh, nur noch backup/restore.
Da mein eiBroker automatisch wöchentlich ein Backup anlegt und auf das NAS kopiert und ältere als 2 Monate löscht hab ich immer Reserven.
Ich brauch am neuen System nur ein leeres ioBroker installieren (ohne adaptersuche) den restore installiert sowieso alle adapter neu.
Einziges zusätzliches Problem: Wenn du eine Datenbank verwendest muss diese getrennt kopiert und vor dem restore wieder laufen mid den alten Daten so wie beim Backup.
Auch Dinge wie Redis sind natürlich vor dem Restore genauso zu installieren.
p.s.: Scripte und Adapter-Einstellungen sind auch im Backup!