RPI_GPIO Fehlermeldung beim Schalten von GPIO 4 nach Neuinstallation

Begonnen von TheTrumpeter, 19 Oktober 2023, 13:15:14

Vorheriges Thema - Nächstes Thema

TheTrumpeter

Ich bin gerade dabei meine Uralt-Installation neu aufzusetzen, weil ich tuya (lokal) auf meinem alten Jessie einfach nicht zum Laufen bekomme.

Dazu habe ich Buster auf einer neuen SD-Karte in einem ungenutzten RasPi installiert, FHEM draufgespielt, tuya (lokal) ausprobiert (läuft!) und alles soweit vorkonfiguriert wie möglich. Das System lief dann mehrere Wochen mit einer "Minimal fhem.cfg" (tuya und ein paar Kleinigkeiten) ohne Auffälligkeiten.
Dann habe ich die fhem.cfg vom alten System rüberkopiert und dann die SD-Karten getauscht, sodass die SD-Karte mit der Neuinstallation im Produktiv-RasPi eingesetzt wird.

Nach diversen Fehlermeldungen wg. fehlender Module läuft nun alles soweit wie vorher, nur mit RPI_GPIO habe ich ein Problem:
Ich nutze ca. 18 GPIOs zum Schalten von externen Relais. Bei genau 1 davon (Pin 7 bzw. GPIO 4) bekomme ich folgende Fehlermeldung im fhem.log beim FHEM-Start:
Zitat2023.10.19 10:54:30 1: Can't open file: Pin7, value
Die Fehlermeldung bei Start kommt wohl wg. "restoreOnStartup last".

Beim Versuch den Pin zu schalten, erhalte ich:
Zitat2023.10.19 10:56:51 1: Can't open file: Pin7, value
2023.10.19 10:56:51 1: Pin7 GetFn: readout of Pinvalue fail
2023.10.19 10:56:51 1: PERL WARNING: Use of uninitialized value $zustand in concatenation (.) or string at ./FHEM/51_RPI_GPIO.pm line 198.

Hier die Definition von dem Pin:
define Pin7 RPI_GPIO 4
attr Pin7 alias Luxor.Sonne2_Bypass
attr Pin7 devStateIcon off.*:weather_cloudy_heavy on.*:weather_sun
attr Pin7 direction output
attr Pin7 group Aufbaulichtfänger
attr Pin7 restoreOnStartup last
attr Pin7 room Theben Luxor

Ich habe versucht das Gerät zu löschen und neu anzulegen, es bleibt aber bei genau derselben Fehlermeldung.

Einen anderen Pin habe ich praktisch identisch konfiguriert, der funktioniert problemlos:
define Pin13 RPI_GPIO 27
attr Pin13 alias Luxor.Sonne3_Bypass
attr Pin13 devStateIcon off.*:weather_cloudy_heavy on.*:weather_sun
attr Pin13 direction output
attr Pin13 group Aufbaulichtfänger
attr Pin13 restoreOnStartup last
attr Pin13 room Theben Luxor

Exemplarisch habe ich auch die GPIOs 17 & 18 zu schalten probiert ("direction output", aber kein "restoreOnStartup"), die laufen ebenfalls.

Wenn ich wieder die SD-Karte mit der alten Installtion reinstecke, funktioniert auch GPIO 4 problemlos, d.h. an der Hardware liegt's nicht. Muss mit Buster irgendwas speziell konfiguriert werden? Lt. http://raspberrypi.ws/pin7 sollte die Stadnardeinstellung ein "normaler GPIO" sein???
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Otto123

2 Dinge: Rechte und Tool - ich meine mit WiringPi gab es ein zusätzliches Problem
Es klingt mir erstmal nach den Rechten
Auszug aus der commandref
Zitatpreliminary:
GPIO Pins accessed by sysfs. The files are located in folder /system/class/gpio and belong to the gpio group (on actual Raspbian distributions since jan 2014). It will work even on an Jessie version but NOT if you perform an kerlen update
After execution of following commands, GPIO's are usable whithin PRI_GPIO:
sudo adduser fhem gpio
sudo reboot

If attribute pud_resistor shall be used and on older Raspbian distributions, aditionally gpio utility from WiringPi library must be installed to set the internal pullup/down resistor or export and change access rights of GPIO's (for the second case active_low does not work).
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TheTrumpeter

Danke, aber das ist es nicht.
Erstens habe ich die Rechte bereits bei der Installation entsprechend vergeben und vorhin dann auch noch erneut versucht.
Zweitens erklärt es nicht, warum 3 Pins funktionieren und 1 nicht.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Otto123

Sorry, dann war ich zu schnell und habe nicht genug gelesen.

Irgendwas blockiert den Pin schon? Sound Karte ... Irgendein Treiber?
Hast Du ein light Image genommen?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TheTrumpeter

Zitat von: Otto123 am 19 Oktober 2023, 14:13:38Irgendwas blockiert den Pin schon? Sound Karte ... Irgendein Treiber?
Hast Du ein light Image genommen?
64Bit ohne GUI. Glaube da gibt es nur 1, muss später nachschauen welches genau.

Ich meine in der raspi-config alles ausgeschaltet zu haben, was ich nicht brauche.
Aber möglicherweise habe ich was übersehen. Muss dann später nachschauen, die Fehlermeldung müsste ich auch auf dem Reserve-RasPi ohne Peripherie sehen.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Otto123

welches image genau ist sicher egal. Light ist ok - ich kann mir vorstellen, dass der Desktop irgendwelchen Unfug aktiviert :)

GPIO 4 ist doch typisch der onewire Port?
Ich dachte noch an die Temperatur Steuerung, aber die verwendet wohl andere Ports.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TheTrumpeter

Zitat von: Otto123 am 19 Oktober 2023, 14:59:10GPIO 4 ist doch typisch der onewire Port?
Ich dachte noch an die Temperatur Steuerung, aber die verwendet wohl andere Ports.
1Wire?
Ev. habe ich das vergessen zu deaktivieren, weil ich dachte, dass mein BME280 1Wire ist. Tatsächlich läuft der aber über I2C.
Ich muss dringend nachschauen :-)
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

TheTrumpeter

Zitat von: Otto123 am 19 Oktober 2023, 14:59:10GPIO 4 ist doch typisch der onewire Port?
Tatsächlich, das war's.
Habe 1-Wire deaktiviert und nun kommt beim Schalten keine Fehlermeldung mehr. Habe nun gleich alle übrigen Pins auch durchgeschaltet, ohne weitere Fehlermeldung.

Ev. schaff' ich es in den nächsten Tagen die SD-Karten wieder zu tauschen, mal sehen wie es sich dann im Produktivsystem verhält.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TheTrumpeter

Hätte ich, ja. Da nun aber schon alles läuft, bringt's nichts mehr.

Die Skripte hätten mir offenbar dabei geholfen die fehlenden Pakete vorab zu identifizieren. So habe ich mich anhand des fhem.logs durchgearbeitet... waren aber auch nicht allzu viele, die gefehlt haben.
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110