NEWS
ioBroker mit Problemen nach Stromausfall, kein Update
-
@Thomas-Braun sagte in ioBroker mit Problemen nach Stromausfall, kein Update:
@Maverick Da hat WOBCom wohl Schummelsoftware aufgespielt!
Muss dann aber kurz vor dem Stromausfall passiert sein
Hatte nachgesehen, gab Störungsmeldungen, aber eher wenige die auf ein generelles Problem hätten schließen lassen.iobroker Install ist nicht ohne Fehlermeldungen durchgelaufen, läuft aber. Liegt das an node 12 anstelle 10?
curl -sL https://iobroker.net/install.sh | bash - library: loaded Library version=2020-06-12 ========================================================================== Welcome to the ioBroker installer! Installer version: 2020-06-12 You might need to enter your password a couple of times. ========================================================================== ========================================================================== Installing prerequisites (1/4) ========================================================================== OK:1 http://archive.raspberrypi.org/debian buster InRelease Holen:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15,0 kB] OK:3 https://deb.nodesource.com/node_12.x buster InRelease Es wurden 15,0 kB in 1 s geholt (10,3 kB/s). Paketlisten werden gelesen... Fertig Changing npm registry to https://registry.npmjs.org Installed acl Installed gcc-c++ Installed libavahi-compat-libdnssd-dev Installed libudev-dev Installed libpam0g-dev Installed git Installed python-dev ========================================================================== Creating ioBroker user and directory (2/4) ========================================================================== User iobroker created Created /etc/sudoers.d/iobroker Directory /opt/iobroker created ========================================================================== Installing ioBroker (3/4) ========================================================================== In file included from ../src/main.cpp:3: ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from ../../nan/nan.h:56, from ../src/main.cpp:3: ../src/main.cpp: At global scope: /home/pi/.cache/node-gyp/12.18.0/include/node/node.h:608:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/pi/.cache/node-gyp/12.18.0/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/main.cpp:42:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(diskusage, Init) ^~~~~~~~~~~ In file included from ../src/unix_dgram.cc:5: ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: ../src/unix_dgram.cc: At global scope: /home/pi/.cache/node-gyp/12.18.0/include/node/node.h:608:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/pi/.cache/node-gyp/12.18.0/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(unix_dgram, Initialize) ^~~~~~~~~~~ In file included from ../src/./serialport.h:6, from ../src/serialport.cpp:1: ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); ^~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); ^~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); ^~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:270:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSe); ^~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:314:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGe); ^~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:363:76: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); ^~~~~~~~~~~~~~~~~~~~ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:409:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~~~~~~~~~ ../src/serialport.cpp: At global scope: ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) { ^ ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^ In file included from ../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1: /home/pi/.cache/node-gyp/12.18.0/include/node/node.h:608:43: 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] (node::addon_register_func) (regfunc), \ ^ /home/pi/.cache/node-gyp/12.18.0/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ In file included from ../src/serialport.h:6, from ../src/serialport_unix.cpp:2: ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ ../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’: ../src/serialport_unix.cpp:176:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp:176:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’: ../src/serialport_unix.cpp:86:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/serialport_unix.cpp:86:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../src/poller.cpp:1: ../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ ========================================================================== Finalizing installation (4/4) ========================================================================== Enabling autostart... Created symlink /etc/systemd/system/multi-user.target.wants/iobroker.service → /lib/systemd/system/iobroker.service. Autostart enabled! Fixing directory permissions... ========================================================================== ioBroker was installed successfully Open http://192.168.178.63:8081 in a browser and start configuring! ==========================================================================
-
@Maverick
Als user pi:npm cache clean --force
-
@Thomas-Braun sagte in ioBroker mit Problemen nach Stromausfall, kein Update:
npm cache clean --force
npm WARN using --force I sure hope you know what you are doing.
Not really. I trust the professionals
-
@Maverick
Ja, das passt schon. -
@Thomas-Braun sagte in ioBroker mit Problemen nach Stromausfall, kein Update:
@Maverick
Ja, das passt schon.Ok.
Adapter habe ich installiert. Sieht wesentlich aufgeräumter aus jetzt.
Mal sehen, ob das Backup einspielen funktioniert.... -
@Maverick
Keine Adapter außer Backitup manuell installieren! -
@Jan1 sagte in ioBroker mit Problemen nach Stromausfall, kein Update:
@Maverick
Keine Adapter außer Backitup manuell installieren!Ok, ich hau die wieder raus. Doof ist nur, dass Backitup das minimal_Backup meiner alten Konfiguration nicht beim Wiederherstellen anzeigt.
Backupdaten liegt in /opt/iobroker/backups -
@Maverick
Du musst auf lokal schalten und suchen lassen. Kann sein , dass der Adapter erst ein Neustart braucht um es zu finden. Hatte ich auch schon. -
@Jan1 sagte in ioBroker mit Problemen nach Stromausfall, kein Update:
@Maverick
Du musst auf lokal schalten und suchen lassen. Kann sein , dass der Adapter erst ein Neustart braucht um es zu finden. Hatte ich auch schon.Der startet ja automatisch neu, wenn man die Konfiguration ändert. Im Verzeichnis lag auch ein iobroker backup mit Zeitstempel der Installation.
Das andere backup wird nicht angezeigt, Ordner local ist leer.Ich hab die Vermutung, dass ein Backup mit dem Backitup Adapter 1.22 evtl. nicht kompatibel ist zu 1.4.5?
-
ah... die Dateien heissen jetzt anders. Früher minimal_, jetzt iobroker_.
Hab es umbenannt und probier mal. -
@Maverick
Dem ist egal wie die heißen, der zeigt eigentlich alles an was in dem Ordner liegt und die Endung tar.gz hat. Ebenfalls ist es egal mit welcher Version des Adapter die Backups angelegt wurden. -
@Jan1 sagte in ioBroker mit Problemen nach Stromausfall, kein Update:
@Maverick
Dem ist egal wie die heißen, der zeigt eigentlich alles an was in dem Ordner liegt und die Endung tar.gz hat. Ebenfalls ist es egal mit welcher Version des Adapter die Backups angelegt wurden.Leider nein. Ohne Umbenennung wurde die Datei nicht angezeigt. Scheint leider aber auch nicht komplett durchzulaufen. "Gestartet..." erscheint, die Ringe drehen sich [Anleitung], aber es kommt keine Meldung nach Fertigstellung. Ich weiß nicht, ob die Installation stoppt, wenn der Bildschirmschoner angeht, aber das lief jetzt die Nacht so durch.
-
@Maverick
War da vorher https eingestellt?
Normal sieht man was gemacht wird, weil die Adapter nacheinander installiert werden und im Anschluss die Instanzen angelegt. Wird der Haken bei Instanzen automatisch starten nicht gesetzt, müssen die noch gestartet werden, fertig.
Das Umbenennen ist nicht nötig, es hätte wohl gereicht, den Adapater noch mal manuell zu starten. Klar startet der automatisch neu wenn eine Änderung gemacht wird, nur hatte ich genau deshalb geschrieben, dass man ihn dann einfach noch mal startet, wobei ich das dann gleich vom NAS aus restore und da hat er eben seine Probleme das Backup sofort zu finden.Ich hab das schon so oft gemacht und es hat immer funktioniert, weil man damit auch einfach mal sein IOBroker wieder sauber bekommt.
Die Anleitung im anderen Thread passt ab da wo der Backitup Adapter ins Spiel kommt, da dort ein IOBroker Image verwendet wurde und nicht neu aufgesetzt.
-
@Jan1 wo und wann meinst du das mit https?
Außer Gestartet... wird mir nichts angezeigt.
Habe das jetzt abgebrochen und den Raspi stromlos gemacht und neu gestartet. Per ssh komme ich noch drauf, aber iobroker startet nicht mehr.
Es ist zum Mäuse melken.... -
@Maverick
stromlos??? ich hoffe vorher runter gefahren, sonst ist der jetzt eh wieder hin.
Na ob Du den IOBroker vorher unter HTTPS laufen hattest.Beim starten des Backup, wird IOBroker kurz gestoppt und gleich wieder gestartet, somit siehst direkt was gerade gemacht wird. Die Adapter kommen nach und nach dazu und eben die Instanzen.
-
@Jan1 sagte in ioBroker mit Problemen nach Stromausfall, kein Update:
@Maverick
stromlos??? ich hoffe vorher runter gefahren, sonst ist der jetzt eh wieder hin.
Na ob Du den IOBroker vorher unter HTTPS laufen hattest.Beim starten des Backup, wird IOBroker kurz gestoppt und gleich wieder gestartet, somit siehst direkt was gerade gemacht wird. Die Adapter kommen nach und nach dazu und eben die Instanzen.
Nicht dass ich wüsste (dann hätte ich ja ein Zertifikat anlegen müssen) und nein, ich konnte nicht sehen, was gemacht wird.
node node_modules/iobroker.js-controller/controller.js --logs 2020-06-15 08:19:26.685 - info: host.raspberrypi iobroker.js-controller version 3.1.4 js-controller starting 2020-06-15 08:19:26.701 - info: host.raspberrypi Copyright (c) 2014-2020 bluefox, 2014 hobbyquaker 2020-06-15 08:19:26.703 - info: host.raspberrypi hostname: raspberrypi, node: v10.21.0 2020-06-15 08:19:26.706 - info: host.raspberrypi ip addresses: 192.168.178.22 2a01:585:121:1:cab2:9bcb:e02d:833f fe80::93f3:cb07:8306:d498 2020-06-15 08:19:27.461 - info: host.raspberrypi Error inMem-objects listening on port 9001 2020-06-15 08:19:57.466 - error: host.raspberrypi No connection to databases possible, restart 2020-06-15 08:19:57.483 - info: host.raspberrypi iobroker _restart
-
@Maverick
Das Vorgehen ist wie folgt:-
nach raspifun.de Anleitung einrichten, oder eben nach einer anderen vernünftigen Anleitung (neue SD Karte)
-
IOBroker nach Doku installieren
-
alle angebotenen Updates des gewählten Repo installieren
-
Backitup Adapter installieren
-
nicht wirklich benötigte Adapter (Discovery) deinstallieren
-
Backup in den Backups Ordner kopieren (oder Adapter für NAS Zugriff einrichten)
-
Backitup Adapter noch mal neu starten (nur zur Sicherheit)
-
Backup unter lokal oder NAS abrufen und starten
-
zurück lehnen und warten
-
-
@Jan1 ich wüsste nicht, was ich anders gemacht haben soll.
Bin ja jetzt "geübt" und geh das nochmal durch. Meld mich, wenn Backitup und das Backup installiert sind (vor dem Start).
-
@Maverick
und nie einfach den Stecker ziehen! Das killt den Pi früher oder später -
@Jan1 sagte in ioBroker mit Problemen nach Stromausfall, kein Update:
@Maverick
und nie einfach den Stecker ziehen! Das killt den Pi früher oder spätersudo shutdown -h 0
Danach zieh ich den Stecker