Hallo Zusammen,
ich in meiner Zisterne einen Ultraschallsensor, welcher mir den Füllstand gibt. Leider ist die Karte abgeschmiert und für das Gerät hatte ich keine Sicherungsiso erstellt. Das Ding lief an die 10 Jahre und ich weis jetzt nicht mehr genau wie ich das damals gelöst habe deshalb die Frage.
Ich habe folgendes Skript
#Bibliotheken einbinden
import RPi.GPIO as GPIO
import time
#GPIO Modus (BOARD / BCM)
GPIO.setmode(GPIO.BCM)
#GPIO Pins zuweisen
GPIO_TRIGGER = 8
GPIO_ECHO = 7
#Richtung der GPIO-Pins festlegen (IN / OUT)
GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
GPIO.setup(GPIO_ECHO, GPIO.IN)
def distanz():
# setze Trigger auf HIGH
GPIO.output(GPIO_TRIGGER, True)
# setze Trigger nach 0.01ms aus LOW
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
StartZeit = time.time()
StopZeit = time.time()
# speichere Startzeit
while GPIO.input(GPIO_ECHO) == 0:
StartZeit = time.time()
# speichere Ankunftszeit
while GPIO.input(GPIO_ECHO) == 1:
StopZeit = time.time()
# Zeit Differenz zwischen Start und Ankunft
TimeElapsed = StopZeit - StartZeit
# mit der Schallgeschwindigkeit (34300 cm/s) multiplizieren
# und durch 2 teilen, da hin und zurueck
distanz = (TimeElapsed * 34300) / 2
return distanz
if __name__ == '__main__':
try:
while True:
abstand = distanz()
print ("Gemessene Entfernung = %.1f cm" % abstand)
time.sleep(1)
# Beim Abbruch durch STRG+C resetten
except KeyboardInterrupt:
print("Messung vom User gestoppt")
GPIO.cleanup()
und folgendes DOIF in FHEM:
([USdummy] eq "on")
({ system ("sudo sudo -u root /opt/fhem/Melder.py &")})
(set USdummy off)
Meine Frage: Was muss ich wo ändern, dass der Wert in den Dummy WertZisterne
geschrieben wird. Wenn ich das Skrip direkt ausführe kommt ein plausibler Wert:
root@raspberrypi:/home/pi# sudo sudo -u root /opt/fhem/Melder.py &
[1] 1579
root@raspberrypi:/home/pi# sudo: /opt/fhem/Melder.py: command not found
Vielen Dank im Voraus.
VG Flo
So in der Art
os.system('perl /opt/fhem/fhem.pl 7072 "setreading <DEVICE> <READING> <VALUE>"')
Also systemintern per Telnet.
Zitat von: Pille90 am 01 Juni 2025, 16:53:07root@raspberrypi:/home/pi# sudo sudo -u root /opt/fhem/Melder.py &
Das ist nicht nur doppelt sondern sogar dreifach gerootet. ;D
Falls die "Schlange" wirklich erhöhte Rechte braucht sollte man das vor allem in der sudoers klären - und bitte nicht mit "alle dürfen alles"!
Auf Kommandozeile würde ich die Lauffähigkeit des Scriptes für FHEM so testen (unter der Annahme das FHEM mit user fhem läuft):
sudo -u fhem /opt/fhem/Melder.py
Gruß Otto