NEWS
Installation auf RPI3 mit max2play image (squeezebox)
-
Hallo zusammen,
ich habe einen RPI3 auf dem FHEM läuft und möchte gerne iobroker hierfür ausprobieren.
Seit kurzem habe ich einen zweiten RPI3 auf dem ich das Image von max2play verwendet habe für einen Squeezebox Player / Server.
Das Image basiert auf Jessie lite und ich habe versucht mit der Linux Schnellstart Anleitung iobroker zu installieren (http://www.iobroker.net/docu/?page_id=5106&lang=de).
Bei der Installation kamen einige Fehler bzw. Warnungen hoch - einige mit dem Hinweis, dass es an node.js liegen könnte.
node -v gibt mir jedoch einen sinnvollen Wert zurück (6.xxx).
Ich kann zwar iobroker starten bzw. es wird nach Reboot auch automatisch gestartet, aber es ist nicht unter http://IP-Adresse:8081 erreichbar.
Woran könnte das liegen?
Ich könnte zwar ein fertiges Image für iobroker verwenden, würde es aber gerne mit dem "eh da" RPI3 Musikserver kombinieren.
Vielen Dank im Voraus.
PEPITO82
-
schau bitte in htop oder top ob du "io" prozesse findest ..
wenn du frisch installiet hast müssen io.admin und io.discovery laufen und der js natürlich
-
In top kann ich kein io.admin und io.discovery entdecken.
So sieht die Abfrage aus:
<link_text text="https://lh3.googleusercontent.com/FWpFN ... 67-h923-no">https://lh3.googleusercontent.com/FWpFNIsYrB_UVqAPUMKkUydE0LZfOfW-E4Bv62OhaH5ZTFmmOZmZU48t1sb6yHfGVrHpupguWTavcQeLHgKQPlJVY51vpq7oW0iY7tsQQzNs2hUjZbD8FFRfmLmtBGGW5I_uWVEC0w2fq8UR1FK63URHVtJLcncIz2yPvoKE00ICcRZQj_C6sYiyX9YETUjqjKJnh1Xw6oxZZQAdi3kr9FsemDx8S6E0yNTjg-WwaAP36saYz94VBGa-5Xhq_tG8RCOA_lUeV2eab1d0B5xlST8lOswj9agHd4iaWUOt1KhJtl5sjHU8X1LMez3kLyup1zSn_DDONAvmjggH3E6D2gZKSWZCGMPpSZv-b-nMeWihitPQRQXluRvJ1-nEIbEzHdK-kYmc_nKE__Iae6GqYgOYR8LUv8GZLd7CHpukJ8bvsZs5Q5z2_c1_O3cMDsRcz_XxO5g66Uia-8nXfZWQbhEP47yi3Nsl95UmkmQ-BAq7EP66ifzqvvveJOs1KshtURub_O7zroy9WzuouIhGJd11tBrJ4ulQ6pWVFbfTLTexDpKPYUf4R2XzU3-j8D6g1d0-1XfaG1WhWslMlgopjNFPOWEwIHZ0_Pz_9lx37rD3s8Chd94jZ1_mubBeKpY95-hiLdSzQZb_4igReBk6OlgoVNQBBzl2=w867-h923-no</link_text>" /> -
schau bitte in htop oder top ob du "io" prozesse findest ..
wenn du frisch installiet hast müssen io.admin und io.discovery laufen und der js natürlich `
Ich hatte letzte Woche das gleiche Problem!!! - Iobroker über ein frisches M2P Image auf einer R3B installiert.
Alle Adapter liefen, bzw. hatte ich die richtigen Rückmeldungen erhalten, aber kam trotzdem nicht aufs WEB Interface.
Installiert hatte ich auch nach dieser Anleitung:
http://www.iobroker.net/docu/?page_id=5106&lang=de
Wie gesagt, beim ersten Anlauf die gleichen Probleme - gebracht hatte es dann folgendes:
Ab dem Punkt "Installation Node.js":
Mache mal ein DICKES (das hatte ich auch vergessen):
pi@max2play:~ $ <size size="150">sudo su</size>
root@max2play:/home/pi#
..und führe dann die komplette Installation als "Root durch" - danach ging es bei mir und ich kam normal auf das Iobroker Webinterface.
Noch ein Tip: Falls Du M2P auch als Squeezebox Server benutzt, diesen auch installiert hast, ist dieser über das M2P Web-Interface nicht mehr direkt über Port 9000 erreichbar, sondern verschiebt sich auf Port 9002, da Iobroker, warum auch immer, 9000 (ohne erkennbare Funktion) für sich einnimmt.
Kannst Du damit prüfen:
sudo lsof -i -P | grep -i LISTEN
! pi@max2play:~ $ sudo lsof -i -P | grep -i LISTEN
! systemd 1 root 34u IPv6 9667 0t0 TCP *:6600 (LISTEN)
! cnid_meta 648 root 3u IPv6 11449 0t0 TCP localhost:4700 (LISTEN)
! afpd 651 root 3u IPv4 9821 0t0 TCP *:548 (LISTE)
! shellinab 928 shellinabox 4u IPv4 13553 0t0 TCP *:4200 (LISTEN)
! xrdp 945 xrdp 6u IPv4 11880 0t0 TCP *:3389 (LISTEN)
! sshd 947 root 3u IPv4 15555 0t0 TCP *:22 (LISTEN)
! sshd 947 root 4u IPv6 15557 0t0 TCP *:22 (LISTEN)
! xrdp-sesm 950 root 6u IPv4 12484 0t0 TCP localhost:3350 (LISTEN)
! apache2 1105 root 4u IPv6 12518 0t0 TCP *:80 (LISTEN)
! x11vnc 1208 pi 10u IPv4 12858 0t0 TCP *:5900 (LISTEN)
! x11vnc 1208 pi 11u IPv6 12859 0t0 TCP *:5900 (LISTEN)
! iobroker. 1362 root 11u IPv4 14755 0t0 TCP localhost:9000 (LISTEN)
! iobroker. 1362 root 12u IPv4 14756 0t0 TCP localhost:9001 (LISTEN)
! smbd 1553 root 35u IPv6 13077 0t0 TCP *:445 (LISTE)
! smbd 1553 root 36u IPv6 13078 0t0 TCP *:139 (LISTE)
! smbd 1553 root 37u IPv4 13079 0t0 TCP *:445 (LISTE)
! smbd 1553 root 38u IPv4 13080 0t0 TCP *:139 (LISTE)
! io.admin. 1873 root 14u IPv6 15854 0t0 TCP *:8081 (LISTEN)
! squeezebo 1925 squeezeboxserver 9u IPv4 15664 0t0 TCP *:3483 (LISTEN)
! squeezebo 1925 squeezeboxserver 25u IPv4 17857 0t0 TCP *:9090 (LISTEN)
! squeezebo 1925 squeezeboxserver 30u IPv4 17871 0t0 TCP *:38543 (LISTEN)
! squeezebo 1925 squeezeboxserver 31u IPv4 15042 0t0 TCP *:9002 (LISTEN)
! io.web.0 2112 root 14u IPv6 17935 0t0 TCP *:8082 (LISTEN)
! io.upnp.0 2890 root 16u IPv6 20465 0t0 TCP *:8000 (LISTEN)
! io.yahka. 3036 root 13u IPv6 16066 0t0 TCP *:33585 (LISTEN)
! io.sonoff 3458 root 14u IPv4 19875 0t0 TCP *:1884 (LISTEN)
! io.mqtt.0 3520 root 14u IPv4 16365 0t0 TCP *:1883 (LISTEN)
! apache2 3583 www-data 4u IPv6 12518 0t0 TCP *:80 (LISTEN)
! apache2 3584 www-data 4u IPv6 12518 0t0 TCP *:80 (LISTEN)
! apache2 3585 www-data 4u IPv6 12518 0t0 TCP *:80 (LISTEN)
! apache2 3586 www-data 4u IPv6 12518 0t0 TCP *:80 (LISTEN)
! apache2 3587 www-data 4u IPv6 12518 0t0 TCP *:80 (LISTEN)
! apache2 3863 www-data 4u IPv6 12518 0t0 TCP *:80 (LISTEN)
! shairport 24904 pi 3u IPv4 7676856 0t0 TCP *:5000 (LISTEN)
! shairport 24904 pi 4u IPv6 7676857 0t0 TCP *:5000 (LISTEN)Mittlerweile bin ich nach erfolgreicher M2P/Iobroker Installation von der Micro SD-Karte, auf einen Boot-USB Stick (ohne gesteckte SD-Karte) umgezogen
Ich habe dieses M2P Bundle und für ein Image Backup musste ich jedes mal das Gehäuse zerlegen um die SD-Karte zu ziehen zu können - ist nun mit einem USB-Boot (Stick) Geschichte
https://shop.max2play.com/de/raspberry- … audio.html
root@max2play:/home/pi# sudo fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/<size size="150">sda1</size> 8192 131071 122880 60M c W95 FAT32 (LBA)
/dev/<size size="150">sda2</size> 131072 61702143 61571072 29,4G 83 Linux
root@max2play:/home/pi#
Habe in Iobrooker schon einige Adapter installiert und zusammen mit M2P noch folgenden Arbeeitsspeicher belegt, bzw. frei:
pi@max2play:~ $ free -m -t
total used free shared buffers cached
Mem: 875 817 58 53 36 182
-/+ buffers/cache: 598 277
Swap: 99 13 86
Total: 975 831 <u>144 (free)</u>
pi@max2play:~ $
-
@lemuba: Danke. Hatte auf SU gewechselt, aber werde das nochmal probieren.
Muss ich vorher noch was deinstallieren, oder einfach die Befehle nochmal durchgehen und drüberinstallieren?
-
Ich bin auch kein Linux Profi… bin aber nach dem Fehler von einem frischen M2P Image ausgegangen:
https://www.max2play.com/max2play-image/
Danach über sudo raspi-config das Filesytem auf der Sd-Karte erweitert, verfügbare Jessie Updates gefahren, etc., etc und dann zum Schluss entsprechend nach sudo su die Iobroker Installation gestartet...
Berichte bitte nochmal zurück ob Du es hinbekommen hast. Ich schreibe für Heiner/M2P auch nochmal für einen Blog Artikel eine kurze Anleitung zusammen, wie ich dann auf einen USB-Stick umgezogen bin, plus Umpartitionierung und Erweiterung des Filesystems auf dem USB-Stick im laufenden Betrieb und Konsole/Terminal... Erweiterung des Dateisystens (z.B. USB-Stick größer als SD-Karte) funktioniert für einen USB-Stick nicht wie für eine SD-Karte über "raspi-config"...
-
Ich habe es jetzt nochmal mit einem frischen Image von Max2Play probiert.
Es kommen kamen zwar auch wieder Warnungen bei der Installation hoch, aber am Schluss konnte ich iobroker im Browser aufrufen:
login as: pi pi@192.168.178.51's password: The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Fri Jan 19 17:19:02 2018 from eamodlxx27q5vf2.fritz.box pi@max2play:~ $ sudo su root@max2play:/home/pi# node -v v6.12.3 root@max2play:/home/pi# sudo mkdir /opt/iobroker root@max2play:/home/pi# sudo chmod 777 /opt/iobroker root@max2play:/home/pi# cd /opt/iobroker root@max2play:/opt/iobroker# sudo npm install iobroker --unsafe-perm > iobroker@1.0.6 install /opt/iobroker/node_modules/iobroker > node lib/setup.js NPM version: 3.10.10 npm install iobroker.discovery --production --save --prefix /opt/iobroker node-pre-gyp ERR! Tried to download(404): https://github.com/EmergingTechnolo gyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v48 -linux-arm.tar.gz node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@ 6.12.3 (node-v48 ABI) (falling back to source compile with node-gyp) ../src/serialport.cpp: In function ‘int getIntFromObject(v8::Local<v8::object>, std::string)’: ../src/serialport.cpp:90:52: warning: ‘v8::Local <v8::int32>v8::Value::ToInt3 2() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v8\. h:8214): Use maybe version [-Wdeprecated-declarations] return getValueFromObject(options, key)->ToInt32()->Int32Value(); ^ ../src/serialport.cpp: In function ‘double getDoubleFromObject(v8::Local<v8:: object="">, std::string)’: ../src/serialport.cpp:102:53: warning: ‘v8::Local <v8::number>v8::Value::ToNu mber() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/ v8.h:8178): Use maybe version [-Wdeprecated-declarations] return getValueFromObject(options, key)->ToNumber()->NumberValue(); ^ ../src/serialport.cpp: In function ‘void EIO_AfterOpen(uv_work_t*)’: ../src/serialport.cpp:174:31: warning: ‘v8::Local <v8::int32>v8::Value::ToInt 32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v8 .h:8214): Use maybe version [-Wdeprecated-declarations] int fd = argv[1]->ToInt32()->Int32Value(); ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::N AN_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:193:29: warning: ‘v8::Local <v8::int32>v8::Value::ToInt 32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v8 .h:8214): Use maybe version [-Wdeprecated-declarations] int fd = info[0]->ToInt32()->Int32Value(); ^ ../src/serialport.cpp:217:116: warning: ‘v8::Local <v8::int32>v8::Value::ToIn t32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v 8.h:8214): Use maybe version [-Wdeprecated-declarations] baton->baudRate = Nan::Get(options, Nan::New<v8::string>("baudRate").ToLoc alChecked()).ToLocalChecked()->ToInt32()->Int32Value(); ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Write(Nan::NA N_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:252:29: warning: ‘v8::Local <v8::int32>v8::Value::ToInt 32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v8 .h:8214): Use maybe version [-Wdeprecated-declarations] int fd = info[0]->ToInt32()->Int32Value(); ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NA N_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:369:32: warning: ‘v8::Local <v8::int32>v8::Value::ToInt 32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v8 .h:8214): Use maybe version [-Wdeprecated-declarations] baton->fd = info[0]->ToInt32()->Int32Value(); ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NA N_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:480:29: warning: ‘v8::Local <v8::int32>v8::Value::ToInt 32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v8 .h:8214): Use maybe version [-Wdeprecated-declarations] int fd = info[0]->ToInt32()->Int32Value(); ^ ../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::int32>v8::Value::ToInt 32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v8 .h:8214): Use maybe version [-Wdeprecated-declarations] int fd = info[0]->ToInt32()->Int32Value(); ^ ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NA N_METHOD_ARGS_TYPE)’: ../src/serialport.cpp:585:29: warning: ‘v8::Local <v8::int32>v8::Value::ToInt 32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/node/v8 .h:8214): Use maybe version [-Wdeprecated-declarations] int fd = info[0]->ToInt32()->Int32Value(); ^ ../src/serialport_unix.cpp: In function ‘OpenBatonPlatformOptions* ParsePlatf ormOptions(const v8::Local<v8::object>&)’: ../src/serialport_unix.cpp:44:109: warning: ‘v8::Local <v8::int32>v8::Value:: ToInt32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/no de/v8.h:8214): Use maybe version [-Wdeprecated-declarations] result->vmin = Nan::Get(options, Nan::New<v8::string>("vmin").ToLocalCheck ed()).ToLocalChecked()->ToInt32()->Int32Value(); ^ ../src/serialport_unix.cpp:45:111: warning: ‘v8::Local <v8::int32>v8::Value:: ToInt32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/no de/v8.h:8214): Use maybe version [-Wdeprecated-declarations] result->vtime = Nan::Get(options, Nan::New<v8::string>("vtime").ToLocalChe cked()).ToLocalChecked()->ToInt32()->Int32Value(); ^ ../src/serialport_poller.cpp: In static member function ‘static Nan::NAN_METH OD_RETURN_TYPE SerialportPoller::New(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/serialport_poller.cpp:86:31: warning: ‘v8::Local <v8::int32>v8::Value: :ToInt32() const’ is deprecated (declared at /root/.node-gyp/6.12.3/include/n ode/v8.h:8214): Use maybe version [-Wdeprecated-declarations] obj->fd_ = info[0]->ToInt32()->Int32Value(); ^ npm install iobroker.admin --production --save --prefix /opt/iobroker npm install iobroker.js-controller --production --save --prefix /opt/iobroker npm WARN deprecated localhost.daplie.me-certificates@1.3.5: this package has been deprecated npm WARN prefer global npm@2.15.12 should be installed with -g 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.6 └─┬ 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.5.0 │ │ └─┬ 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@max2play:/opt/iobroker# ^C root@max2play:/opt/iobroker#</v8::int32></v8::string></v8::int32></v8::string></v8::int32></v8::object></v8::int32></v8::int32></v8::int32></v8::int32></v8::int32></v8::string></v8::int32></v8::int32></v8::int32></v8::number></v8::></v8::int32></v8::object>
Danke für die Hilfe lemuba.
-
Na siehste wohl
Max2Play als Mugge Kasten mit ner hochwertigen Soundkarte oder AMP plus Iobroker ergänzt sich wunderbar auf einer PI.
Gruß,
Matthias