NEWS
Z-Wave lässt sich nicht installieren
-
Ich habe gestern (24.09.19) ein nagelneues System mit einem Raspberry 3B+ aufgesetzt und den IoBroker installiert. Soweit sogut hat auch alles funktioniert. Anschließend die Razberry-Platine aufgesteckt, die Befehle in der Dokumentation zum Z-Wave-Adapter ausgeführt (BT-Abschaltung) und die Installation des Adapters gestartet. Leider wird diese Installation aber mit einer Unmenge an Fehlern abgebrochen.
Hier die Informationen zum System:
Node.js: v10.16.3
NPM: 6.9.0
js-controller: 1.5.14
OS: raspbian buster full (2019-07-10)Hier der Inhalt des Installationsfensters des Admin-Adapters:
$ ./iobroker add zwave --host raspberrypi NPM version: 6.9.0 npm install iobroker.zwave@1.4.2 --unsafe-perm --production --save --prefix "/opt/iobroker" (System call) find: ‘/tmp/dhcpcd-pi’: Keine Berechtigungfind: ‘/tmp/ssh-4LSoePY1E1g7’: Keine Berechtigung find: ‘/tmp/systemd-private-4efcb8ebbd454346adfa215974ced6d5-systemd-timesyncd.service-lXhZEF’: Keine Berechtigung find: ‘/tmp/ssh-fysNflCOUU4s’: Keine Berechtigung find: ‘/tmp/.org.chromium.Chromium.s27LW7’: Keine Berechtigung find: ‘/etc/ssl/private’: Keine Berechtigungfind: ‘/etc/polkit-1/localauthority’: Keine Berechtigung find: ‘/tmp/dhcpcd-pi’: Keine Berechtigungfind: ‘/tmp/ssh-4LSoePY1E1g7’: Keine Berechtigung find: ‘/tmp/systemd-private-4efcb8ebbd454346adfa215974ced6d5-systemd-timesyncd.service-lXhZEF’: Keine Berechtigung find: ‘/tmp/ssh-fysNflCOUU4s’: Keine Berechtigung find: ‘/tmp/.org.chromium.Chromium.s27LW7’: Keine Berechtigung % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 122 0 122 0 0 491 0 --:--:-- --:--:-- --:--:-- 493 100 171k 0 171k 0 0 175k 0 --:--:-- --:--:-- --:--:-- 175k 100 1581k 0 1581k 0 0 828k 0 --:--:-- 0:00:01 --:--:-- 1516k 100 1917k 0 1917k 0 0 914k 0 --:--:-- 0:00:02 --:--:-- 1564k % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 147 0 147 0 0 517 0 --:--:-- --:--:-- --:--:-- 519 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 16081 0 16081 0 0 26147 0 --:--:-- --:--:-- --:--:-- 51050 In file included from /usr/include/c++/8/map:60, from /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/CommandClasses.h:32, from /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/ManufacturerSpecific.cpp:28: /usr/include/c++/8/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<long long int&&>, std::tuple<>}; _Key = long long int; _Val = std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>; _KeyOfValue = std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >; _Compare = std::less<long long int>; _Alloc = std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >]’: /usr/include/c++/8/bits/stl_tree.h:2411:7: note: parameter passing for argument of type ‘std::_Rb_tree<long long int, std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>, std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >, std::less<long long int>, std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >’} changed in GCC 7.1 _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/map:61, from /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/CommandClasses.h:32, from /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/ManufacturerSpecific.cpp:28: /usr/include/c++/8/bits/stl_map.h: In static member function ‘static bool OpenZWave::ManufacturerSpecific::LoadProductXML()’: /usr/include/c++/8/bits/stl_map.h:518:8: note: parameter passing for argument of type ‘std::_Rb_tree<long long int, std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>, std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >, std::less<long long int>, std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >’} changed in GCC 7.1 __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, /usr/include/c++/8/bits/stl_map.h:518:8: note: parameter passing for argument of type ‘std::_Rb_tree<long long int, std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>, std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >, std::less<long long int>, std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >’} changed in GCC 7.1 __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, /usr/include/c++/8/bits/stl_map.h:518:8: note: parameter passing for argument of type ‘std::_Rb_tree<long long int, std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>, std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >, std::less<long long int>, std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >’} changed in GCC 7.1 __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/DoorLockLogging.cpp: In member function ‘virtual bool OpenZWave::DoorLockLogging::HandleMsg(const uint8*, uint32, uint32)’: /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/DoorLockLogging.cpp:313:48: error: ‘char* strncat(char*, const char*, size_t)’ output may be truncated copying between 0 and 253 bytes from a string of length 253 [-Werror=stringop-truncation] strncat(usercode, tmpusercode, sizeof(usercode) - strlen(usercode) - 1 ); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors make[1]: *** [/opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/build/support.mk:151: /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/.lib/DoorLockLogging.o] Fehler 1 make: *** [Makefile:20: all] Fehler 2 /opt/iobroker/node_modules/iobroker.zwave/lib/preinstall.js:16 if (!suppressException) throw e; ^ Error: Command failed: cd open-zwave-1.4 && make && sudo make install In file included from /usr/include/c++/8/map:60, from /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/CommandClasses.h:32, from /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/ManufacturerSpecific.cpp:28: /usr/include/c++/8/bits/stl_tree.h: In function ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<long long int&&>, std::tuple<>}; _Key = long long int; _Val = std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>; _KeyOfValue = std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >; _Compare = std::less<long long int>; _Alloc = std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >]’: /usr/include/c++/8/bits/stl_tree.h:2411:7: note: parameter passing for argument of type ‘std::_Rb_tree<long long int, std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>, std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >, std::less<long long int>, std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >’} changed in GCC 7.1 _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/8/map:61, from /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/CommandClasses.h:32, from /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/ManufacturerSpecific.cpp:28: /usr/include/c++/8/bits/stl_map.h: In static member function ‘static bool OpenZWave::ManufacturerSpecific::LoadProductXML()’: /usr/include/c++/8/bits/stl_map.h:518:8: note: parameter passing for argument of type ‘std::_Rb_tree<long long int, std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>, std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >, std::less<long long int>, std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >’} changed in GCC 7.1 __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, /usr/include/c++/8/bits/stl_map.h:518:8: note: parameter passing for argument of type ‘std::_Rb_tree<long long int, std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>, std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >, std::less<long long int>, std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >’} changed in GCC 7.1 __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, /usr/include/c++/8/bits/stl_map.h:518:8: note: parameter passing for argument of type ‘std::_Rb_tree<long long int, std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*>, std::_Select1st<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >, std::less<long long int>, std::allocator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> > >::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<std::pair<const long long int, OpenZWave::ManufacturerSpecific::Product*> >’} changed in GCC 7.1 __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/DoorLockLogging.cpp: In member function ‘virtual bool OpenZWave::DoorLockLogging::HandleMsg(const uint8*, uint32, uint32)’: /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/src/command_classes/DoorLockLogging.cpp:313:48: error: ‘char* strncat(char*, const char*, size_t)’ output may be truncated copying between 0 and 253 bytes from a string of length 253 [-Werror=stringop-truncation] strncat(usercode, tmpusercode, sizeof(usercode) - strlen(usercode) - 1 ); ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: all warnings being treated as errors make[1]: *** [/opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/cpp/build/support.mk:151: /opt/iobroker/node_modules/iobroker.zwave/open-zwave-1.4/.lib/DoorLockLogging.o] Fehler 1 make: *** [Makefile:20: all] Fehler 2 at checkExecSyncError (child_process.js:629:11) at Object.execSync (child_process.js:666:13) at doScript (/opt/iobroker/node_modules/iobroker.zwave/lib/preinstall.js:13:15) at installOpenZwaveFromSource (/opt/iobroker/node_modules/iobroker.zwave/lib/preinstall.js:154:3) at installOpenZwave (/opt/iobroker/node_modules/iobroker.zwave/lib/preinstall.js:139:3) at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.zwave/lib/preinstall.js:27:7) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.4 (node_modules/osx-temperature-sensor):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm ERR! code ELIFECYCLE npm ERR! errno 1npm ERR! iobroker.zwave@1.4.2 preinstall: `node lib/preinstall.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the iobroker.zwave@1.4.2 preinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2019-09-25T13_14_23_179Z-debug.log
Da ich absoluter Neuling bin hoffe ich auf eure Hilfe.
-
@Udo_E Es scheint die neueren Z-Wave-Versionen sind noch nicht im stable-Repo. Wechsle mal temporär zum Latest-Repo (in den ioBroker-Einstellungen) und versuche dann das Update nochmal.
-
@AlCalzone Super, hat geholfen. Vielleicht kannst du mir auch direkt bei einem zweiten Porblem helfen. Ich habe die gleiche Softwarekonstellation auch auf einem Pi2 installiert. Dabei hat bei der Installation alles geklappt, aber der Z-Wave Adapter starten ständig neu. Vielleicht hast du da auch einen hilfreichen Tip. Ich schick dir mal den Auszug aus dem Log im Admin.
host.raspberrypi 2019-09-28 07:35:06.874 info instance system.adapter.zwave.0 started with pid 32168 host.raspberrypi 2019-09-28 07:34:36.850 info Restart adapter system.adapter.zwave.0 because enabled host.raspberrypi 2019-09-28 07:34:36.849 error instance system.adapter.zwave.0 terminated with code null () host.raspberrypi 2019-09-28 07:34:36.848 warn instance system.adapter.zwave.0 terminated due to SIGSEGV zwave.0 2019-09-28 07:34:23.506 info starting. Version 1.6.1 in /opt/iobroker/node_modules/iobroker.zwave, node: v10.16.3
-
@Udo_E SIGSEGV heißt da stimmt irgendwas mit den Binaries nicht. Hattest du da vorher schon mal OpenZWave drauf?
Wenn ja, kann es sein dass du es manuell löschen musst und dann den Adapter nochmal installieren -
@AlCalzone nein, das ist ein jungfräuliches System.
-
Seltsam... Eventuell war doch was bei der Installation faul, es hat aber nicht zum Fehler geführt.
@cburghardt ne Idee? -
Mit den wenigen Infos leider nicht. Wie sieht denn das gesamte Installationslog aus?
-
@cburghardt sorry für die späten Antworten. Ich hab nur hin und wieder zwischendurch Zeit um an dem System zu arbeiten. Installationslog vom Adapter oder vom ioBroker? Und wo kann ich das finden?
-
@Udo_E im Endeffekt das log von iobroker wenn der Adapter installiert wird. Am Besten noch mal den Adapter löschen und dann frisch installieren. Und ldconfig nicht vergessen.
-
Es ist jetzt ziemlich viel Zeit ins Land gegangen. Meine einfachste und schnellste Lösung für das zweite Problem war den Pi2 einfach durch einen Pi3 zu ersetzten. Daher habe ich mich auch nicht mehr weiter darum gekümmert. Vielen Dank noch für euer beider Hilfe @AlCalzone und @cburghardt .