GPIO Invertieren active_Low

Begonnen von NAS4Killer, 23 September 2015, 00:40:29

Vorheriges Thema - Nächstes Thema

NAS4Killer

Moin,

also ich würde gerne einen GPIO Ausgang Invertiert Ansteuern, leider klappt das irgendwie nicht.
Fhem ist upgedatet somit auf dem neusten Stand
Mein GPIO Ausgang ist
attr direction out
attr active_Low yes

Trotzdem ist in Ruhe der Zustand Aus und bei Betätigung der Zustand An.

Muss ich noch irgendetwas machen dafür ?

danke.

cremofix

Hallo NAS4Killer

was sagt das log? Gibt es evtl. Probleme mit den Berechtigungen. Bei mir war es lange so, dass fhem die GPIOs mit root:root angelegt hat und nicht mit root:gpio. Dadurch konnte es auf die actiove_low nich zugreifen. Das ist wohl ein verbreitetes Problem mit eingen Kernelversionen.
Habe dann das System mit "raspbian jessie" aufgesetzt und jetzt gehts.

Gruß
MArio

Surfer541


Die Ursache dafür, dass die Ports bei Debian Wheezy mit root:root Rechten angelegt werden liegt in der DefinitionsDatei von udev.
Diese befindet sich im Verzeichnis  /etc/udev/rules.d/
dort befindet sich unter anderem eine Regeldatei 99-com.rules mit dem Eintrag:
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio; chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio'"

Ich habe einfach im Verzeichnis eine neue Regeldatei  mit
dem Namen /etc/udev/rules.d/91-gpio.rules
und folgendem Inhalt hinzugefügt.

SUBSYSTEM=="gpio", KERNEL=="gpiochip*", ACTION=="add", PROGRAM="/bin/sh -c 'chown root:gpio /sys/class/gpio/export /sys/class/gpio/unexport ; chmod 220 /sys/class/gpio/export /sys/class/gpio/unexport'"
SUBSYSTEM=="gpio", KERNEL=="gpio*", ACTION=="add", PROGRAM="/bin/sh -c 'chown root:gpio /sys%p/active_low /sys%p/direction /sys%p/edge /sys%p/value ; chmod 660 /sys%p/active_low /sys%p/direction /sys%p/edge /sys%p/value'

Damit werden die Ports und vor allem active_low auch mit der Gruppenzugehörigkeit gpio angelegt.

Den Benutzer fhem habe ich der Gruppe gpio mit
usermod -aG gpio fhem

hinzugefügt.

funktioniert bei mir prima :-)