Hallo,
ich habe seit längerem ein Problem meinen DHT11 wieder auslesen zu können und zwar ging das so los:
Ich habe von Jessie auf Stretch upgedated und danach ging Mosquitto nicht mehr und die Sensoren ließen sich auch nicht mehr auslesen. Nun habe ich Mosquitto wieder zum Laufen gebracht, aber die GPIOs kann ich nicht auslesen. Das äußert sich dann so:
Traceback (most recent call last):
File "/home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py", line 41, in <module>
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
File "build/bdist.linux-armv6l/egg/Adafruit_DHT/common.py", line 94, in read_retry
File "build/bdist.linux-armv6l/egg/Adafruit_DHT/common.py", line 81, in read
File "build/bdist.linux-armv6l/egg/Adafruit_DHT/Raspberry_Pi_2.py", line 34, in read
RuntimeError: Error accessing GPIO.
Das ist die Definition zum Auslesen des Sensors:
+*00:10:00 {my $value = qx(/home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 11 4);;fhem("set wz_DHT11 $value")}
Die neueste Version von Adafruit ist bereits geklont.
Eine Ausführung des Scripts als User pi ohne Adminrechte gibt es den korrekten Wert wieder und es funktioniert ohne Fehlermeldungen.
Testweise habe ich mal Folgendes probiert:
define test2 RPI_GPIO 17
2018.06.05 06:47:04 1: Can't open file: test2, value
2018.06.05 06:47:04 1: test2 GetFn: readout of Pinvalue fail
2018.06.05 06:47:04 1: PERL WARNING: Use of uninitialized value $zustand in concatenation (.) or string at ./FHEM/51_RPI_GPIO.pm line 198.
2018.06.05 06:47:48 1: Can't open file: test2, value
2018.06.05 06:47:48 1: test2: readout of Pinvalue fail
Die Eingabe von {`ls -l /sys/class/gpio/gpio17/`}
in fhem bringt folgende Meldung:
ls: Zugriff auf '/sys/class/gpio/gpio17/' nicht möglich: Keine Berechtigung
Die gleiche Eingabe im Terminal:
pi@fhem:~ $ ls -l /sys/class/gpio/gpio17/
insgesamt 0
-rwxrwx--- 1 root gpio 4096 Jun 5 06:46 active_low
lrwxrwxrwx 1 root gpio 0 Jun 5 06:46 device -> ../../../gpiochip0
-rwxrwx--- 1 root gpio 4096 Jun 5 06:47 direction
-rwxrwx--- 1 fhem dialout 4096 Jun 5 06:46 edge
drwxrwx--- 2 root gpio 0 Jun 5 06:46 power
lrwxrwxrwx 1 root gpio 0 Jun 5 06:46 subsystem -> ../../../../../../../class/gpio
-rwxrwx--- 1 root gpio 4096 Jun 5 06:46 uevent
-rwxrwx--- 1 fhem dialout 4096 Jun 5 06:46 value
Was stimmt hier nicht mehr in meiner Konfiguration?
Danke schon mal im Voraus.
Okay, hat sich erledigt... ???
Habe Adafruit noch 2 Mal neu geklont, installiert und die Rechte neu vergeben und nun nach einem Reboot hat es auf Anhieb funktioniert. :o
Komischerweise habe ich es davor nicht anders gemacht. Vielleicht hat auch einfach ein Reboot gefehlt?
Rechte neu vergeben
Dürfte der Grund gewesen sein. Wie er schrieb:
ZitatRuntimeError: Error accessing GPIO.