Autor Thema: Nodejs Script aus FHEM starten  (Gelesen 5324 mal)

Offline BenWend

  • Jr. Member
  • **
  • Beiträge: 58
Nodejs Script aus FHEM starten
« am: 27 März 2013, 00:04:52 »
Hallo,

ich habe mir mittles "sudo apt-get install nodejs npm" nodejs auf dem RaspberryPi installiert, auf dem auch FHEM läuft und ein kleines nodejs Script geschrieben.

Kann ich dieses Script irgendwie aus FHEM heraus starten? Ich würde den Scriptstart nämlich gerne auslösen, wenn mein Bewegungsmelder Bewegung erkennt.

Hat hier jemand einen passenden Codeschnipsel für mich?

Ben

P.S.: Auf der Linuxoberfläche starte ich das Script einfach mittels "nodejs test.js".


Offline fiedel

  • Hero Member
  • *****
  • Beiträge: 1884
Aw: Nodejs Script aus FHEM starten
« Antwort #1 am: 27 März 2013, 16:06:03 »
Here ua ;o)

define Bewegungsmelder_N notify Bewegungsmelder:* {system("nodejs test.js");;}


ggf. muss vor nodejs noch der Pfad gesetzt werden.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Offline BenWend

  • Jr. Member
  • **
  • Beiträge: 58
Aw: Nodejs Script aus FHEM starten
« Antwort #2 am: 29 März 2013, 19:58:01 »
Hallo Frank,

super, vielen Dank! Ich habe mein Testscript mit

define iTach notify Testaktor:on.* {system("nodejs /home/pi/test.js");;}

tatsächlich ausführen können.

Ich spiele noch ein bißchen mit den Möglichkeiten herum und würde diesmal gerne ein Verzeichnis oder ein Ordner auf dem RaspberryPi anlegen. Ausprobiert habe ich

define Testscript notify Testaktor:on.* {system("touch /home/pi/xxx");;}

und

define Testscript notify Testaktor:on.* {system("mkdir /home/pi/xxx");;}

Beides ohne Erfolg. Habe ich irgendwo einen Denkfehler gemacht? Ich muss dazu sagen, dass ich absoluter Linux Neuling bin.

Danke

Ben

Offline fhem86

  • Full Member
  • ***
  • Beiträge: 170
Aw: Nodejs Script aus FHEM starten
« Antwort #3 am: 04 April 2013, 20:19:13 »
Ich vermute der user unter dem fhem läuft hat kein root

Das wird ein Berechtigungsproblem sein.

Lösung:
Rechte für den fhem user auf den ordner setzen oder fhem als root ausführen