Hallo zusammen,
ich hatte bis heute pilight 3.0 als selbstkompilierte Version von GIT im Verzeichnis /home/pi/pilight.
Nun habe ich auf pilight 5.0 geupdated, und zwar diesmal über das offizielle repository, d.h. der Pfad hat sich geändert.
Über die Konsole funktioniert als user pi auch die neue Version 5 problemlos - Steckdose geht an:
pilight-send -p pollin --systemcode=15 --unitcode=2 --on
Bislang mit Version 3.0 hatte ich das nun wie folgt in FHEM eingebunden:
PollinZufall3Bad { if ( Value("PollinZufall3Bad") eq "on" ) {system("/home/pi/pilight/pilight-send -p pollin -s 15 -u 2 -t");} }
Nun mit Version 5.0 funktioniert dies leider nicht mehr - den Pfad habe ich weggelassen, da über apt-get install das pilight nun wohl so als service eingebunden ist, dass ich es von jedem Pfad aus aufrufen kann. su ist für das Senden übrigens nicht erforderlich.
PollinZufall3Bad { if ( Value("PollinZufall3Bad") eq "on" ) {system("pilight-send -p pollin --systemcode=15 --unitcode=2 --off");} }
Wo liegt der Fehler?
Es passiert nichts, und im Log steht auch nichts.
Wie rufe ich den pilight-service korrekt aus fhem auf?
Viele Grüße,
Heiko
Lösung habe ich hier gefunden:
http://www.spech.de/blog/article/funksteckdosen
pilight muss mittels sudo als root aufgerufen werden
User Pi war da schon drin, deshalb lief es als root.
sudo visudo
pi ALL=(ALL) NOPASSWD: ALL
fhem ALL=(ALL) NOPASSWD: ALL
Ein ungutes Gefühl bleibt, weil der Benutzer fhem nun jederzeit ohne Password-Nachfrage mit root-Rechten Systembefehle ausführen kann...
2 Ideen:
Mach doch ein chmod 4755 auf das pilight-send
oder ein chmod 666 auf die entsprechenden gpios im Verzeichnis /dev.
danke!
genau das habe ich gesucht, funktioniert perfekt.