RPI_GPIO output

Begonnen von Maergsche, 13 Juni 2014, 14:57:45

Vorheriges Thema - Nächstes Thema

klausw

Zitat von: Maergsche am 02 September 2014, 15:29:45
Mmm ich sehe gerade, dass du active_low von no/yes auf off/on geändert hast  ???
Nein, da ist die Doku falsch (und auch Zeile 492...natürlich muss es "yes" anstelle von "on" heissen). War sicher wieder so eine nach Mitternacht Aktion. Da passiert viel Mist.
Dann sollte es auch gehen. Das mit dem statistischen Wert war nur ne Idee, da ich gerade nicht das verhalten der GPIO s testen kann
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

Maergsche

So, bei mir sieht es nun so aus:


         if ($dir eq "out" && $fname eq "value" && defined($args[1])) {
                        my $al = AttrVal($hash->{NAME},"active_low","no");
                        my $lev = $al eq "yes" ? 0 : 1;
                        #Log3 $hash, 4, "$hash->{NAME}: arg=$args[1] al=$al lev=$lev";
                        $dir = ($args[1] == $lev ? "high" : "low")
                }


Hab nun auch noch die Zeile da drüber angepasst, und das 'off' durch "no" ersetzt ...
Damit sollte es dann funktionieren!

ZitatNein, da ist die Doku falsch
Ich hatte erst schon ein P im Gesicht, konnte dann aber auch aus dem Code lesen,
dass das nicht sein konnte.


Bin nun gleich zu Hause und werde mal Testen und hier berichten!


Maergsche

Jetzt funktioniert es ohne Flackern....  Mit invert und ohne!

Schreibst du noch mal, sobald es über das Update verfügbar ist?

Gruß und Dank

klausw

Zitat von: Maergsche am 02 September 2014, 18:26:39
Schreibst du noch mal, sobald es über das Update verfügbar ist?
Habs eingecheckt
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

Matzek83

Hallo zusammen,
Das GPIO Modul  läuft bei mir bisher ausgezeichnet.
Nur GPIO4 scheint zu spinnen.

Definiert habe ich ihn als Input inkl. Interrupt, wie die GPIO 2, 3 und 22 auch. Nachdem GPIO4 "irgendwie" nicht funktionierte, wollte ich ihn löschen, was FHEM zum Absturz bringt. Nur das Attr Interrupt löschen bringt das gleiche Ergebnis. Selbst löschen in der fhem.cfg lässt FHEM abstürzen.
Vielleicht macht das 1wire Modul Probleme? Steht ja auf GPIO4.
Konnte jemand ähnliches Verhalten nachstellen?

Die fhem.cfg und Logs kann ich leider erst am Mittwoch nachliefern.

Grüße
Matthias

klausw

Zitat von: Matzek83 am 13 Oktober 2014, 06:37:07
Definiert habe ich ihn als Input inkl. Interrupt, wie die GPIO 2, 3 und 22 auch. Nachdem GPIO4 "irgendwie" nicht funktionierte, wollte ich ihn löschen, was FHEM zum Absturz bringt. Nur das Attr Interrupt löschen bringt das gleiche Ergebnis. Selbst löschen in der fhem.cfg lässt FHEM abstürzen.
Vielleicht macht das 1wire Modul Probleme? Steht ja auf GPIO4.
Konnte jemand ähnliches Verhalten nachstellen?

Die fhem.cfg und Logs kann ich leider erst am Mittwoch nachliefern.
Nutzt du auch das 1wire modul?
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

Matzek83

Nein, nicht mehr. Wollte jetzt eben den GPIO nutzen. Theoretisch kann es weg. Interessant wärs vllt. trotzdem - für die allgemeine Stabilität.

Ich lösche das 1wire Modul und versuchs nochmal... Bericht folgt.

klausw

Zitat von: Matzek83 am 13 Oktober 2014, 12:43:21
Nein, nicht mehr. Wollte jetzt eben den GPIO nutzen. Theoretisch kann es weg. Interessant wärs vllt. trotzdem - für die allgemeine Stabilität.

Ich lösche das 1wire Modul und versuchs nochmal... Bericht folgt.
Du könntest mal posten, was im log und im stdout angezeigt wird.
Evtl. kann ich den Fehler abfangen und gleich das anlegen des Pin verhindern.
Stabil läuft es ja an sich, das nachdenken kann man natürlich niemandem abnehmen ;)
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

Matzek83

Joah... nachdenken wäre gut...  :o
Stabil läuft es -- spitzenmäßig.
Meine Beschwerde galt der allgemeinen Verbesserung, wenn notwendig.

Ich komme erst Mittwoch dazu und poste den Log und teste alles ohne 1wire.

Anlegen abfangen klingt gut, am besten in beide Reihenfolgen. Also wenn GPIO4 angelegt ist auch das Anlegen von 1wire verhindern.

Grüße und danke für die schnellen Antworten

klausw

Zitat von: Matzek83 am 13 Oktober 2014, 16:12:16
Meine Beschwerde galt der allgemeinen Verbesserung, wenn notwendig.

Ich komme erst Mittwoch dazu und poste den Log und teste alles ohne 1wire.

Anlegen abfangen klingt gut, am besten in beide Reihenfolgen. Also wenn GPIO4 angelegt ist auch das Anlegen von 1wire verhindern.
passt schon

Ich schaue mir Deine Fehlermeldungen an und dann sehen wir, was sich anpassen lässt.
Ich weiss halt nicht genau, was der 1wire Kerneltreiber blockiert. also lösche nicht zuviel weg, Du musst das dann auch testen :)
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

Matzek83


Matzek83

Hi Klaus,
nun endlich meine Logs. Beinhaltet einmal hochfahren, GPIO4 löschen mit beschrieben FHEM-Absturz und neustarten vom Raspi.

Deinstallation der 1wire-Sensoren bringt übrigens keine Abhilfe. Fehler ist sauber reproduzierbar auch ohne 1wire. Logs sind noch inklusive der 1wire-Sensoren.
Also ist entweder bei meiner fhem.cfg was nicht OK oder das 1wire-Modul hat noch Einfluss und muss anders deinstalliert werden. Oder am RPI_GPIO-Modul stimmt was nicht -- kaum zu glauben.   :-X

Grüße
Matthias


Ralli

Bei mir funktioniert das Modul z.B. mit Garagentor über zwei Relais einwandrei.

Allerdings initialisiere ich die GPIOs beim RPi-Start:


#! /bin/bash
#! /etc/init.d/garage_init

case "$1" in

start)
echo "Garage: Initialisiere Relais ..."
# GPIOs einschalten, damit die Relais nach dem Init aus bleiben
gpio write 7 1
gpio write 8 1
# GPIOs initialisieren
gpio mode 7 out
gpio mode 8 out
;;

stop)
echo "Garage: auf Wiedersehen..."
;;

*)
echo "Usage: /etc/init.d/garage_init {start|stop}"
exit 1
;;
esac

exit 0


Und eine Beispieldefinition in fhem.cfg sieht so aus:

define GarageHoch RPI_GPIO 4
attr GarageHoch active_low yes
attr GarageHoch devStateIcon .*:control_centr_arrow_up
attr GarageHoch direction output
attr GarageHoch eventMap on:Auf
attr GarageHoch fm_type smarttogglebutton
attr GarageHoch group RPi-Relais
attr GarageHoch icon fts_garage
attr GarageHoch restoreOnStartup off
attr GarageHoch room Garage
attr GarageHoch webCmd Auf

define GarageRunter RPI_GPIO 2
attr GarageRunter active_low yes
attr GarageRunter devStateIcon .*:control_centr_arrow_down
attr GarageRunter direction output
attr GarageRunter eventMap on:Ab
attr GarageRunter fm_type smarttogglebutton
attr GarageRunter group RPi-Relais
attr GarageRunter icon fts_garage_door_100
attr GarageRunter restoreOnStartup off
attr GarageRunter room Garage
attr GarageRunter webCmd Ab

Dazu gibt es noch zwei notifys, die nach einer halben Sekunde jeweils wieder das Relais abschalten.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

klausw

Zitat von: Matzek83 am 19 Oktober 2014, 09:17:26
Hi Klaus,
nun endlich meine Logs. Beinhaltet einmal hochfahren, GPIO4 löschen mit beschrieben FHEM-Absturz und neustarten vom Raspi.

Deinstallation der 1wire-Sensoren bringt übrigens keine Abhilfe. Fehler ist sauber reproduzierbar auch ohne 1wire. Logs sind noch inklusive der 1wire-Sensoren.
Also ist entweder bei meiner fhem.cfg was nicht OK oder das 1wire-Modul hat noch Einfluss und muss anders deinstalliert werden. Oder am RPI_GPIO-Modul stimmt was nicht -- kaum zu glauben.   :-X

Hast du
modprobe w1-gpio
modprobe w1-therm


in der /etc/modules auskommentiert?

Ich vermute, das diese den GPIO blockieren.
Das natürlich noch abgefangen werden. Aber grundsätzlich sollte man sich für eine Funktion entscheiden ;)

füge in die 51_RPI_GPIO.pm
nach der Zeile 105 return "$name: failed to export pin gpio$hash->{RPI_pin}"; ein

das sollte dann so aussehen:
unless( $counter ) { #abbrechen wenn export fehlgeschlagen
Log3 $hash, 1, "$name: failed to export pin gpio$hash->{RPI_pin}";
        return "$name: failed to export pin gpio$hash->{RPI_pin}";
}


Dann sollte der define abgebrochen werden.
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

Matzek83

Hi Klaus,
die Lösung ist das Auskommentieren der w1-module in den /etc/modules.

VIELEN DANK dafür.

Soll ich so noch etwas testen?

Grüße
Matthias