Gpio-Ports in FHEM nutzen [gelöst]

Begonnen von tantor, 27 November 2017, 20:14:40

Vorheriges Thema - Nächstes Thema

tantor

Hallo Gemeinde,

ich möchte gerne die GPIO's meines Raspberry in FHEM für ein Relaisboard und zur Signalisierung nutzen. Die FHEM-Konfig habe nach dem Wiki unter Perl-Modul erstellt.

https://wiki.fhem.de/wiki/Raspberry_Pi:_GPIOs_schalten

Nun habe ich das Problem, dass sich nichts tut. Muss ich eventuell auch das Bash-Script erstellen? Wie und wo erstellt man so ein Bash-Script. Ich würde mich sehr über eure Unterstützung und Hilfe freuen, da das Netz für meinen Wissensstand leider keine ausreichenden Infos über das Zusammenspiel bzw die Abhängigkeit der beiden System liefert.



FHEM mit CUL V3.4 an Raspberry Pi 3
CUL V 1.67 CUL868; nanoCUL V1.66 433MHz; 1Wire USB-Adapter 2480B
8x HM-CC-RT-DN Fw 1.3; 9x HM-LC-Bl1PBU-FM Fw2.3
11x DS1820 2xDS2408

Frank_Huber

Was für ein Raspbian?
Also welche Version installiert und welche Version jetzt nach upgrades?

Mit dem Handy online, daher kurz gefasst...


tantor

Hallo,

Ich verwende das aktuelle Raspian-lite September-Version und vollständig auf aktuellem Stand von den Updates.

Gesendet von meinem SM-G930F mit Tapatalk

FHEM mit CUL V3.4 an Raspberry Pi 3
CUL V 1.67 CUL868; nanoCUL V1.66 433MHz; 1Wire USB-Adapter 2480B
8x HM-CC-RT-DN Fw 1.3; 9x HM-LC-Bl1PBU-FM Fw2.3
11x DS1820 2xDS2408

Frank_Huber

#3
OK, das is schonmal gut.
Wie schaut dein define aus?
Hast was im log?


tantor

Meine Konfiguration umfasst lediglich die Angaben aus der Anleitung für das Perl-Modul. Ich weiß, dass man die GPIO's vor der Nutzung anmelden muss. Jedoch fehlt mir die entsprechende Umsetzung.

Gesendet von meinem SM-G930F mit Tapatalk

FHEM mit CUL V3.4 an Raspberry Pi 3
CUL V 1.67 CUL868; nanoCUL V1.66 433MHz; 1Wire USB-Adapter 2480B
8x HM-CC-RT-DN Fw 1.3; 9x HM-LC-Bl1PBU-FM Fw2.3
11x DS1820 2xDS2408

klausw

Meinst du die Anleitung aus der Wiki oder der commandref?

Mit anmelden meinst und vermutlich das exportieren eines GPIO.
Dies wird beim define vom Modul erledigt (wenn du FHEM die korrekten rechte gewährt hast)
In der Commandref steht eigentlich alles drin.
Wenn du nicht weiterkommst, erst mal ins Log schauen. Dann Problem detailliert beschreiben, die Konfiguration des GPIO und das Log mit posten.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Brice

Zitat von: tantor am 27 November 2017, 21:15:40
Ich verwende das aktuelle Raspian-lite September-Version

Stetch oder Jessie?

Zum Thema Export und als Hinweis, da ich in der Vergangenheit bei der Einrichtung der GPIO auch gestolpert bin. Schau dir an, wo das Verzeichnis /sys/devices/.../gpio liegt.

Für Debian Stretch (und nach meiner Erinnerung nach für Jessie) liegt das in der Commandref beschriebene Verzeichnis nicht unter /sys/devices/virtual/gpio/*, sondern unter /sys/devices/platform/soc/3f200000.gpio/gpio

so dass der Eintrag in /etc/rc.local lauten muss

sudo chown -R fhem:gpio /sys/devices/platform/soc/3f200000.gpio/gpio/*

Der weitere Eintrag
chown -R fhem:root /sys/class/gpio/*
kann übernommen werden.
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

tantor

@ Brice: GPIO befindet sich bei mir genau an der von Dir vermuteten Stelle  /sys/devices/platform/soc/3f200000.gpio/gpio

den sudo-Befehl habe ich ausgeführt und was geschieht mit der weiteren Zeile?

Meine Konfig von den GPIO-Ports sieht wie folgt aus:

define GPIO19 RPI_GPIO 19
attr GPIO19 active_low yes
attr GPIO19 direction output
attr GPIO19 room GPIO
attr GPIO19 group Relaisboard

Im Log-File wird kein Eintrag gesetzt, wenn ich den Port 19 schalte.
FHEM mit CUL V3.4 an Raspberry Pi 3
CUL V 1.67 CUL868; nanoCUL V1.66 433MHz; 1Wire USB-Adapter 2480B
8x HM-CC-RT-DN Fw 1.3; 9x HM-LC-Bl1PBU-FM Fw2.3
11x DS1820 2xDS2408

klausw

Zitat von: Brice am 28 November 2017, 12:54:31
Stetch oder Jessie?

Zum Thema Export und als Hinweis, da ich in der Vergangenheit bei der Einrichtung der GPIO auch gestolpert bin. Schau dir an, wo das Verzeichnis /sys/devices/.../gpio liegt.

Für Debian Stretch (und nach meiner Erinnerung nach für Jessie) liegt das in der Commandref beschriebene Verzeichnis nicht unter /sys/devices/virtual/gpio/*, sondern unter /sys/devices/platform/soc/3f200000.gpio/gpio

so dass der Eintrag in /etc/rc.local lauten muss

sudo chown -R fhem:gpio /sys/devices/platform/soc/3f200000.gpio/gpio/*

Der weitere Eintrag
chown -R fhem:root /sys/class/gpio/*
kann übernommen werden.

Ich habe gerade die aktuelle Version von Stretch installiert.

Einträge in die /etc/rc.local sind vollkommen überflüssig

ein einfaches:
sudo adduser fhem gpio
Neustart
und schon lässt sich mit beispielsweise
define Pin13 RPI_GPIO 27
ein GPIO exportieren

Das gleiche gilt im Übrigen für Jessie.
Vorausgesetzt das ihr kein Kernelupgrade mache. Danach kann es sein das nichts mehr geht.
Wo die GPIOs liegen ist vollkommen egal, solange es links von /sys/class/gpio/ dorthin gibt

Zitat von: tantor am 28 November 2017, 20:12:40
Meine Konfig von den GPIO-Ports sieht wie folgt aus:

define GPIO19 RPI_GPIO 19
attr GPIO19 active_low yes
attr GPIO19 direction output
attr GPIO19 room GPIO
attr GPIO19 group Relaisboard

Im Log-File wird kein Eintrag gesetzt, wenn ich den Port 19 schalte.


kein Eintrag bedeutet: kein Fehler
Hast du beachtet, das GPIO Nummer nicht gleich Portnummer ist?
GPIO19 ist Pin 35
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

tantor

die GPIO's sind nach sys/class/gpio verlinkt und die Pin-Belegung ist auch richtig berücksichtigt.
FHEM mit CUL V3.4 an Raspberry Pi 3
CUL V 1.67 CUL868; nanoCUL V1.66 433MHz; 1Wire USB-Adapter 2480B
8x HM-CC-RT-DN Fw 1.3; 9x HM-LC-Bl1PBU-FM Fw2.3
11x DS1820 2xDS2408

tantor

Nachdem ich nun das System mal spannungslos gemacht habe und den Raspberry neugestartet ist, funktioniert es nun komischerweise. Warum und weshalb kann ich jetzt auch nicht sagen. habe das System immer nach Änderungen mit "sudo reboot" neugestartet.
FHEM mit CUL V3.4 an Raspberry Pi 3
CUL V 1.67 CUL868; nanoCUL V1.66 433MHz; 1Wire USB-Adapter 2480B
8x HM-CC-RT-DN Fw 1.3; 9x HM-LC-Bl1PBU-FM Fw2.3
11x DS1820 2xDS2408

klausw

Schön das es jetzt geht.
Etwas komisch ist es aber.
Bei mir hat bisher immer "sudo reboot" gereicht.
Beim Neustart werden die virtuellen GPIO Pfade doch neu angelegt.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

die19

ZitatHast du beachtet, das GPIO Nummer nicht gleich Portnummer ist?
GPIO19 ist Pin 35

Danke für den Tip, habe halben Tag die Lösung gesucht  :) jetzt bin ich glücklich und es kann weitergehen