Autor Thema: fhem.js - websocket connection to fhem via node.js proxy  (Gelesen 44108 mal)

Offline marcg

  • New Member
  • *
  • Beiträge: 9
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #240 am: 09 April 2019, 08:22:25 »
steht eigentlich alles oben in der Log-Ausgabe drin, aber dann eben nochmal nicht so ausführlich  ::) ::)

Zitat
root@mailserver-neu:/opt# node -v
v11.13.0
Zitat
root@mailserver-neu:/opt# npm -v
6.7.0
Zitat
root@mailserver-neu:/opt# npm -g install --unsafe-perm fhem.js
/usr/bin/fhem.js -> /usr/lib/node_modules/fhem.js/bin/fhem.js
/usr/bin/forever -> /usr/lib/node_modules/fhem.js/node_modules/forever/bin/forever

> fhem.js@3.2.1 postinstall /usr/lib/node_modules/fhem.js
> ./bin/postinstall.sh

sh: 1: ./bin/postinstall.sh: Permission denied
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules/fhem.js/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 126
npm ERR! fhem.js@3.2.1 postinstall: `./bin/postinstall.sh`
npm ERR! Exit status 126
npm ERR!
npm ERR! Failed at the fhem.js@3.2.1 postinstall 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!     /root/.npm/_logs/2019-04-09T06_16_03_401Z-debug.log
root@mailserver-neu:/opt#

im Anhang noch das aufgeführte Log...

Marc


Offline Werner Schäffer

  • Full Member
  • ***
  • Beiträge: 291
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #241 am: 10 April 2019, 17:50:42 »
Gibt es dass Verzeichnis /usr/lib/node_modules/fhem.js?

Wenn ja, dann versuch  mal manuell als root das Script

/usr/lib/node_modules/fhem.js/bin/postinstall.sh

auszuführen.

Wenn nein, dann ist irgendetwas grundsättzlich schief gelaufen, da im Log eigentlich steht dass fhem.js installiert wurde, bis auf den postinstall Prozess.

Offline marcg

  • New Member
  • *
  • Beiträge: 9
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #242 am: 11 April 2019, 10:38:48 »
Zitat
Gibt es dass Verzeichnis /usr/lib/node_modules/fhem.js?

Nöö, da ist nix. In node_modules gibts nur einen npm Unterordner.

Ich finde in /usr/bin/ auch nur einen kaputten Symlink von fhem.js nach /usr/lib/node_modules/fhem.js/bin/fhem.js.
"forever" scheint auch kaputt zu sein, da gibts auch einen defekten Symlink in /usr/bin/ der nach /usr/lib/node_modules/fhem.js/node_modules/forever/bin/forever (ja echt genau so) hinzeigt.

naja... ich hab mal das ganze fhem.js von github runtergeladen und versuche es nun von Hand zu installieren, in der Hoffnung das der vorherige npm Installationsversuch vorher alle benötigten Libs schon runtergeladen hat...

Marc

PS: in meinem fhem Ordner in /opt/fhem befindet sich eine fhem.js (genauer /opt/fhem/www/codemirror/fhem.js). Das gehört nicht zu Deinem fhem.js oder ??

Offline Werner Schäffer

  • Full Member
  • ***
  • Beiträge: 291
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #243 am: 11 April 2019, 19:40:23 »
In dem Log scheint es ja nur Problem mit dem postinstall.sh zu geben. Versuch doch mal

npm -g install --unsafe-perm --ignore-scripts fhem.js

Dadurch wird die Ausführung des postinstall-Scripts unterbunden. Schau dann mal ob unter /usr/lib/node_modules nun ein fhem.js liegt. Wenn ja, dann must nur noch in diesem Verzeichnis das Script ./bin/postinstall.sh ausführen.


Offline marcg

  • New Member
  • *
  • Beiträge: 9
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #244 am: 12 April 2019, 10:29:03 »
Fehler gefunden ( Deiner  ;) )

Zitat
npm -g install --unsafe-perm --ignore-scripts fhem.js

das hat funktioniert, nun existiert ein /usr/lib/node_modules/fhem.js Ordner, aber das ausführen von postinstall.sh geht trotzdem nicht... weil....

es per default nicht ausführbar ist !!!! ein chmod behebt das Problem. Warum aber das ganze Paket im Fehlerfalle gelöscht wird weiß ich auch nicht

Zitat
root@mailserver-neu:/usr/lib/node_modules/fhem.js# ls -al bin/
total 20
drwxr-xr-x 2 root root 4096 Apr 12 10:12 .
drwxr-xr-x 6 root root 4096 Apr 12 10:12 ..
-rwxr-xr-x 1 root root  654 Jan 18  2017 fhem.js
-rw-r--r-- 1 root root 3242 Jan 14 18:20 postinstall.sh
-rw-r--r-- 1 root root  383 Feb  4  2016 preuninstall.sh
root@mailserver-neu:/usr/lib/node_modules/fhem.js# chmod 755 bin/postinstall.sh
root@mailserver-neu:/usr/lib/node_modules/fhem.js# chmod 755 bin/preuninstall.sh
root@mailserver-neu:/usr/lib/node_modules/fhem.js# bin/postinstall.sh

User for running fhem.js (fhem)?

ok, user is valid

root@mailserver-neu:/usr/lib/node_modules/fhem.js#

Dann will ich mal weiter testen. Danke für die Hilfe soweit..

Grüße
Marc


Offline Werner Schäffer

  • Full Member
  • ***
  • Beiträge: 291
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #245 am: 12 April 2019, 13:32:09 »
Es gibt ein neues Release 3.2.2 von fhem.js in dem die execution permission für postinstall.sh gesetzt ist.

Offline m-d-ley

  • New Member
  • *
  • Beiträge: 11
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #246 am: 09 Mai 2019, 18:01:49 »
Hallo, irgendwie stehe ich ein bisschen auf dem Schlauch bei der Inbetriebnahme von fhem.js und fhemswitch.

Erstmal kurz zu meinem System, ich habe ein Ubuntu 18.04 mit FHEM laufen. Soweit auch die Ports weitergeleitet und verschlüsselt. Die beschreibst in diesem Thread (https://forum.fhem.de/index.php/topic,62716.msg541475.html) alles wunderbar, nur sind die angehängten scripte und Dateien für nginx. Ich habe aber Apache und darauf einiges mehr laufen und wollte eher ungern beide parallel laufen lassen oder mich von Apache verabschieden.

Wäre es möglich dies auch nochmal für Apache zu beschreiben? Auf jeden Fall die Websockets. Verbindung zu FHEM habe ich ja im lokalen Netz offen und im www verschlüsselt.

Vielen Dank schonmal.

Offline Werner Schäffer

  • Full Member
  • ***
  • Beiträge: 291
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #247 am: 09 Mai 2019, 18:47:03 »
Leider kann ich für Apache kein Beispiel liefern, da ich mit nginx arbeite. Ich denke aber dass es Andere gibt, die die Anbindung mit Apache realisiert haben. Es wäre schön wenn das jemand beschereiben könnte.

Offline m-d-ley

  • New Member
  • *
  • Beiträge: 11
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #248 am: 09 Mai 2019, 20:00:08 »
Ohne diese Apache bzw. Nginx Anbindung läuft die App garnicht, nichtmal im lokalen Netz oder?

Offline Werner Schäffer

  • Full Member
  • ***
  • Beiträge: 291
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #249 am: 22 Mai 2019, 19:16:46 »
Ohne diese Apache bzw. Nginx Anbindung läuft die App garnicht, nichtmal im lokalen Netz oder?

Versuch mal mit local-ip-addr:8086

falls du in der params.js
exports.nodePort = 8086;
hast

Offline joachimm

  • Full Member
  • ***
  • Beiträge: 192
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #250 am: 23 Mai 2019, 07:32:42 »
Das ist ja eine prima Sache. Ist es dann möglich Johnny-Five mit fhem sprechen zu lassen? Das eröffnet ja neue Möglichkeiten..

Danke
Joachim
fhem,
RS485, Homematic, Synology, 1-wire

Offline Werner Schäffer

  • Full Member
  • ***
  • Beiträge: 291
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #251 am: 23 Mai 2019, 16:43:56 »
Das ist ja eine prima Sache. Ist es dann möglich Johnny-Five mit fhem sprechen zu lassen? Das eröffnet ja neue Möglichkeiten..

Danke
Joachim

ich musste erst googeln um herauszufinden was Johnny-Five ist. Da Johnny-Five ein node.js Framework ist, sehe ich da keine Probleme für eine Kommunikation mit fhem.js und damit auch mit fhem.

Offline joachimm

  • Full Member
  • ***
  • Beiträge: 192
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #252 am: 23 Mai 2019, 18:33:52 »
Hallo Werner,

wäre es möglich wenn Du mal ein Beispiel machen könntest? Led.blink würde schon reichen... das schöne an johnny-five sind die Vielzahl von Sensoren die schon standardmäßig in der Bibliothek sind. Schau mal nach Johnny-five examples. Ich bin in da noch nicht so weit....

würde ich mich freuen....

danke
Joachim
fhem,
RS485, Homematic, Synology, 1-wire

Offline Werner Schäffer

  • Full Member
  • ***
  • Beiträge: 291
Antw:fhem.js - websocket connection to fhem via node.js proxy
« Antwort #253 am: 24 Mai 2019, 09:53:43 »
Wie gesagt habe ich Johnny-Five gegoogelt und daraus folgt, dass ich damit bisher nichts am Hut hatte und ich deshalb auch keine Beispiele liefern kann.

Die allgemeine Dokumentation und Beispiele für fhem.js gibt es auf https://github.com/winne27/fhem.js.

Außerdem ist zu bemerken, dass fhem.js eine Schnittstelle ist um mit websocket connections in Javascript Anwendungen auf FHEM zuzugreifen.
Was aber damit nicht geht,  ist irgendwelche Sensoren in FHEM einzubinden und z.B. deren Status zu lesen. Das ist eine ganz andere Baustelle.

 

decade-submarginal