NEWS
IoBroker.phantomjs
-
@apollon77 sagte in IoBroker.phantomjs:
Das Issue gehört zum Admin Adapter ... https://github.com/ioBroker/ioBroker.admin/blob/master/src/lib/js/selectID.js#L2405
-
Hallo,
Wollte den Adapter auch mal testen.
Bekomme ihn leider nicht installiert.Sieht einer den Fehler?
Kommando-Ausführung: $ ./iobroker url "https://github.com/ioBroker/ioBroker.phantomjs" --debug Fertig mit Fehler: host.iobroker Cannot install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee: 1 $ ./iobroker url "https://github.com/ioBroker/ioBroker.phantomjs" --debug install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee NPM version: 6.14.6 npm install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee --loglevel error --prefix "/opt/iobroker" (System call) > node-bluetooth@1.2.6 install /opt/iobroker/node_modules/node-bluetooth> node-gyp configure build make: Verzeichnis „/opt/iobroker/node_modules/node-bluetooth/build“ wird betreten CXX(target) Release/obj.target/BluetoothSerialPort/src/linux/BluetoothSerialPort.o In file included from ../src/DeviceINQ.h:17, from ../src/linux/BluetoothSerialPort.cc:13:../node_modules/nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:../node_modules/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 ../src/linux/BluetoothSerialPort.cc:12:../src/linux/BluetoothSerialPort.cc: At global scope:/home/iobroker/.cache/node-gyp/10.22.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(v8::Handle<v8::Object>)’ {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/iobroker/.cache/node-gyp/10.22.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~../src/linux/BluetoothSerialPort.cc:23:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(BluetoothSerialPort, InitAll) ^~~~~~~~~~~ In file included from /home/iobroker/.cache/node-gyp/10.22.0/include/node/node.h:63, from ../src/linux/BluetoothSerialPort.cc:12:/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:/home/iobroker/.cache/node-gyp/10.22.0/include/node/node_object_wrap.h:84:78: required from here/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] reinterpret_cast<Callback>(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:../node_modules/nan/nan_object_wrap.h:65:61: required from here/home/iobroker/.cache/node-gyp/10.22.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type] CXX(target) Release/obj.target/BluetoothSerialPort/src/linux/DeviceINQ.o ../src/linux/DeviceINQ.cc:35:14: fatal error: bluetooth/bluetooth.h: Datei oder Verzeichnis nicht gefunden #include <bluetooth/bluetooth.h> ^~~~~~~~~~~~~~~~~~~~~~~compilation terminated. make: *** [BluetoothSerialPort.target.mk:107: Release/obj.target/BluetoothSerialPort/src/linux/DeviceINQ.o] Fehler 1make: Verzeichnis „/opt/iobroker/node_modules/node-bluetooth/build“ wird verlassen gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:191:23)gyp ERR! stack at ChildProcess.emit (events.js:198:13)gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12) gyp ERR! System Linux 5.4.51-v7l+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"gyp ERR! cwd /opt/iobroker/node_modules/node-bluetoothgyp ERR! node -v v10.22.0gyp ERR! node-gyp -v v5.1.0gyp ERR! not ok > phantomjs-prebuilt@2.1.16 install /opt/iobroker/node_modules/phantomjs-prebuilt> node install.js PhantomJS not found on PATH Unexpected platform or architecture: linux/armIt seems there is no binary available for your platform/architectureTry to install PhantomJS globally npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! phantomjs-prebuilt@2.1.16 install: `node install.js`npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the phantomjs-prebuilt@2.1.16 install 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/2020-08-16T19_54_55_528Z-debug.log ERROR: host.iobroker Cannot install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee: 1 ERROR: process exited with code 25
-
@David-G Hast du libbluetooh-dev installiert?
apt policy libbluetooth-dev
-
War nicht installiert.
Habe ich nachgeholt.
Allerdings klappt es immer noch nicht.....$ ./iobroker url "https://github.com/ioBroker/ioBroker.phantomjs" install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee NPM version: 6.14.6 npm install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee --loglevel error --prefix "/opt/iobroker" (System call) Unexpected platform or architecture: linux/armIt seems there is no binary available for your platform/architectureTry to install PhantomJS globally npm ERR! code ELIFECYCLEnpm ERR! errno 1 npm ERR! phantomjs-prebuilt@2.1.16 install: `node install.js`npm ERR! Exit status 1npm ERR! npm ERR! Failed at the phantomjs-prebuilt@2.1.16 install 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/2020-08-17T04_05_56_483Z-debug.log ERROR: host.iobroker Cannot install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee: 1 ERROR: process exited with code 25
-
cd /opt/iobroker npm cache clean --force lsb_release -a && whoami && which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
-
Danke, aber es will immer noch nicht.....
Alle Befehle ausgeführt.Anbei die Ergebnisse.
$ ./iobroker url "https://github.com/ioBroker/ioBroker.phantomjs" install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee NPM version: 6.14.6 npm install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee --loglevel error --prefix "/opt/iobroker" (System call) Unexpected platform or architecture: linux/armIt seems there is no binary available for your platform/architectureTry to install PhantomJS globally npm ERR! code ELIFECYCLEnpm ERR! errno 1 npm ERR! phantomjs-prebuilt@2.1.16 install: `node install.js`npm ERR! Exit status 1npm ERR! npm ERR! Failed at the phantomjs-prebuilt@2.1.16 install 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/2020-08-17T05_01_22_677Z-debug.log ERROR: host.iobroker Cannot install https://github.com/ioBroker/ioBroker.phantomjs/tarball/f05bc61c8e3cc86371492d2c6e89d44a2eed6aee: 1 ERROR: process exited with code 25
pi@iobroker:/opt/iobroker $ lsb_release -a && whoami && which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster pi /usr/bin/nodejs v10.22.0 /usr/bin/node v10.22.0 /usr/bin/npm 6.14.6 nodejs: Installiert: 10.22.0-1nodesource1 Installationskandidat: 10.22.0-1nodesource1 Versionstabelle: *** 10.22.0-1nodesource1 500 500 https://deb.nodesource.com/node_10.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.21.0~dfsg-1~deb10u1+rpi1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
-
It is used prebuild package of phantomjs. If for your system the prebuild does not exist, you cannot use this adapter. On some linux systems the additional library "libfontconfig" is required. It can be installed as follow:
Vielleicht mal noch libfontconfig nachinstallieren.
sudo apt install libfontconfig
-
pi@iobroker:~ $ sudo apt install libfontconfig Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Hinweis: »libfontconfig1« wird an Stelle von »libfontconfig« gewählt. libfontconfig1 ist schon die neueste Version (2.13.1-2). 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Hat nichts aktualisiert.
Hat nur irgendwie ein libfontconfig1 angenommen. -
@David-G
Ja, das ist okay. Dann geht das bei dir nicht wegen des Hinweises aus git. -
@David-G
Wenn phamtomjs für deine Platform nicht vorkompiliert existiert musst du es selber machen.
Befolge dazu diese Anweisungen.
https://phantomjs.org/build.html
Evtl. Wird aus den daraus resultierenden Fehlermeldungen deutlich, wo das Problem wirklich liegt.
Wenn das dann erfolgreich durchläuft, dann kannst du die obige Installation erneut durchführen. -
@OliverIO said in IoBroker.phantomjs:
@David-G
Wenn phamtomjs für deine Platform nicht vorkompiliert existiert musst du es selber machen.
Befolge dazu diese Anweisungen.
https://phantomjs.org/build.html
Evtl. Wird aus den daraus resultierenden Fehlermeldungen deutlich, wo das Problem wirklich liegt.
Wenn das dann erfolgreich durchläuft, dann kannst du die obige Installation erneut durchführen.Ich habe die Installation nach deiner verlinkten Seite ausprobiert diese ist angeblich auch durchgelaufen aber ich finde keine Instanze im IObroker von phantom js. Habe es dann nochmal über den Adapter probiert und bekomme diese Fehlermeldung
$ ./iobroker add phantomjs --host raspberrypi NPM version: 6.14.6 npm install iobroker.phantomjs@1.0.1 --loglevel error --prefix "/opt/iobroker" (System call) Unexpected platform or architecture: linux/armIt seems there is no binary available for your platform/architectureTry to install PhantomJS globally npm ERR! code ELIFECYCLEnpm ERR! errno 1 npm ERR! phantomjs-prebuilt@2.1.16 install: `node install.js`npm ERR! Exit status 1npm ERR! npm ERR! Failed at the phantomjs-prebuilt@2.1.16 install 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/2020-08-19T10_26_32_229Z-debug.log ERROR: host.raspberrypi Cannot install iobroker.phantomjs@1.0.1: 1 ERROR: process exited with code 25
Kann mir jemand helfen ich weiß nicht wie ich es installiert bekomme ?
-
@Miro-S Soweit ich mich erinnere, ist die Kombi "phantomjs&Raspberrypi" nicht ganz unproblematisch. Lt. dieser Seite (https://github.com/fg2it/phantomjs-on-raspberry) gibt es wohl keine offiziellen binaries dafür. Vielleicht helfen dir ja die fertigen binaries von dort weiter. Achte darauf, welchen Pi-Version (1a, 1b, 2 ...) du hast, die haben ggf. unterschiedliche ARM-Strukturen (ARMv6, ARMv7 usw.)
Ich selber bin mit der Kombination nie so recht glücklich geworden. Als es dann irgendwann mal lief, stellte sich heraus, das der Pi zu schwach war, die gewünschten Sites zu rendern. -
@I-Punkt Okey, danke. Ich habe den 4B, dann ist da wohl keiner dabei. Gibt es eventuell eine alternative Graphen zu rendern und dann zu nutzen? Nutze gerade Flot und wollte dann mit Phantom den Graphen rendern.
-
@Miro-S Wäre vielleicht ein Versuch wert -> https://www.npmjs.com/package/html-to-image Könnte mir vorstellen, daß sich das als package in die Javascript-Engine in iobroker einbinden und dann von dort benutzen läßt.
Ansonsten mal die Suchmaschine deiner Wahl mit "html to image" füttern. -
Für diese Variante hab ich mich vorgestern entschieden.
Klappt sehr gut.
Hab mich hier an dem Post orientiert.
-
@Miro-S
Wenn dein Build erfolgreich durchgelaufen ist, hast du doch dein binary für den 4b.
Du musst es nur noch an die richtige Stelle kopieren.
Da ich Phantomjs nicht verwende, kann ich dir die richtige Stelle leider nicht sagen. Evtl jemand, der das erfolgreich installiert hat. -
Hi,
ich bekomme leider auch eine 127-Fehlermeldung.
phantomjs.0 2020-12-30 14:46:44.845 error (586) {"killed":false,"code":127,"signal":null,"cmd":"/opt/iobroker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs --ignore-ssl-errors=true /opt/iobroker/node_modules/iobroker.phantomjs/lib
Bei mir läuft der ioBroker im Docker-Container auf einer Synology DiskStation. Das Nachinstallieren von libfontconfig schlug leider fehl.
Jemand noch eine Idee?
-
Man, man, man, was für ein Mist. Es hat in der Vergangenheit eigentlich immer funktioniert und nun will es nicht mehr. Gut, hatte den Adapter bestimmt ein Jahr nicht im Einsatz, aber so ganz ist mir nicht klar, was die Ursache sein könnte.
Hab den Adapter vollständig deinstalliert und neu installiert. -> Ohne Erfolg.
Hab den Docker-Container auf Version 5.1.0 aktualisiert. > Ohne Erfolg.
Hab den Docker-Container von host auf bridge umgestellt. -> Ohne Erfolg.
Hab "apt-get install libfontconfig" ausgeführt. -> Da ändert sich der Fehlercode immerhin von 127 auf 1.Bin ratlos.
-
Wenn ich in meinem Docker-Container (node: v12.20.0, npm: 6.14.8) das Paket libfontconfig lade, dann erhalte ich ja den Fehlercode 1 statt 127. Doch diesen bekomme ich einfach nicht weg.
Bei der Adapter-Installation erhalte ich noch die folgende Fehlermeldung
ERROR: Cannot detect "sudo -n apt-get -v": sudo: Hostname ioBroker kann nicht aufgelöst werden: Der Name oder der Dienst ist nicht bekannt
Kann das der Grund für den Error Code 1 sein? Oder gibt es da ggf. andere Inkompatibilitäten?
-
@dtp Das dürfte daran liegen, dass in dem Container sudo nicht aktiv ist.