FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Mitch am 20 November 2014, 17:51:44

Titel: PRESENCE Problem mit eigenem Script
Beitrag von: Mitch am 20 November 2014, 17:51:44
Habe bzgl. LE Scan einen Script geschrieben:

#!/bin/bash
hcitool lescan > /tmp/res.txt & sleep 10
pkill --signal SIGINT hcitool
sleep 1
markus=$(grep -c 0E:0A:14:09:7E:11 /tmp/res.txt)
if [ $markus -gt 0 ]; then
        echo 1
else
        echo 0
fi
rm /tmp/res.txt


Der Script liefert auch 1 bei "Sichtbarkeit":

markus@qfserver:/opt/fhem$ sudo ./lescan_markus.sh
1
markus@qfserver:/opt/fhem$


Leider zeigt PRESENCE trotzdem immer absent an:

2014.11.20 17:05:05 5: PRESENCE (Pebble.Markus) - blocking scan result: Pebble.Markus|1|absent
2014.11.20 17:05:05 5: PRESENCE (Pebble.Markus) - script output: 0
2014.11.20 17:04:54 5: PRESENCE (Pebble.Markus) - execute local shell script: Pebble.Markus|/opt/fhem/lescan_markus.sh|1
2014.11.20 17:04:54 5: PRESENCE (Pebble.Markus) - starting blocking call for mode shellscript
2014.11.20 17:04:54 5: PRESENCE (Pebble.Markus) - starting local scan
2014.11.20 17:04:25 4: PRESENCE (Pebble.Markus) - rescheduling next check in 300 seconds


Woran könnte das liegen?
Titel: Antw:PRESENCE Problem mit eigenem Script
Beitrag von: Markus Bloch am 20 November 2014, 19:02:40
hmm, da steht aber ja extra in der Log-Zeile:

2014.11.20 17:05:05 5: PRESENCE (Pebble.Markus) - script output: 0

So bekomme ich es 1-zu-1 von der Shell zurückgeliefert.
Titel: Antw:PRESENCE Problem mit eigenem Script
Beitrag von: Markus Bloch am 20 November 2014, 19:04:17
Bitte beachte auch, ob dein FHEM User unter dem fhem.pl läuft, ausreichende Rechte für einen Aufruf von hcitool lescan hast  ;-)

In deinem lokalen versuch, hast du ja "sudo" verwendet. Evtl. auch sudo im Skript verwenden.
Titel: Antw:PRESENCE Problem mit eigenem Script
Beitrag von: Mitch am 20 November 2014, 20:19:20
Ich bekomm es einfach nicht hin  :'(

fhem habe ich zur Gruppe sudo hinzu gefügt und die Befehle werden im Script mit sudo aufgerufen.

Alles ohne Erfolg   >:(
Titel: Antw:PRESENCE Problem mit eigenem Script
Beitrag von: Markus Bloch am 21 November 2014, 00:43:13
Was ist mit dem File /tmp/res.txt? Wem gehört das File? root oder fhem? Da du das Skript vorher als root auf der Shell gestartet hast, sollte es nicht möglich sein für fhem da rein zu schreiben.
Titel: Antw:PRESENCE Problem mit eigenem Script
Beitrag von: Mitch am 21 November 2014, 09:18:07
Nein, am TXT kann es nicht liegen, da muss hem ja nicht rein schreiben, nur der Script liest daraus.
Er wird aber auch von user hem angelegt.

Mittlerweile habe ich es wohl hinbekommen.
Problem war, dass der Aufruf von hcitool mit sudo auch das sudo Passwort wollte.
Dies umgehe ich, indem ich in der sudoers das deaktiviere.