PRESENCE Problem mit eigenem Script

Begonnen von Mitch, 20 November 2014, 17:51:44

Vorheriges Thema - Nächstes Thema

Mitch

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?
FHEM im Proxmox Container

Markus Bloch

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.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

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.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Mitch

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   >:(
FHEM im Proxmox Container

Markus Bloch

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.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Mitch

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.
FHEM im Proxmox Container