Modul für die Ansteuerung des MCP23017 I2C Portextender

Begonnen von klausw, 03 Mai 2014, 01:02:40

Vorheriges Thema - Nächstes Thema

Byllyy

Hallo und Dank für die schnelle Antwort

Ja die MCPs hängen an einem I2C des PI und ich nutze jeweils nur den INTB da nur dort die Eingänge sind. Wenn ich dich richtige verstehe braucht jeder MCP eine
eigene Interrupt Leitung zum PI und dort auch einen eigenen GPIO.

Ich meine gelesen zu haben das man die drei INT auch auf einen GPIO zusammenlegen kann und dann nur anders in FHEM konfigurieren kann.

R1F800

Zitat von: Byllyy am 05 Januar 2021, 10:44:38
Ich meine gelesen zu haben das man die drei INT auch auf einen GPIO zusammenlegen kann und dann nur anders in FHEM konfigurieren kann.

das gilt nur für jeweils einen Baustein, wenn man INTA und INTB zusammenfügt. Dann kann man in der Definition des MCP in FHEM beide Interrupts (BANK A und BANK B) kombinieren.

Byllyy

Vielen Dank "R1F800", ich habe meine Hardware nach deinem Ratschlag angepasst und alles läuft.

Byllyy

Ich brauche noch einmal eure Hilfe für ein aufgetretenes Problem. Bei meiner bisher fehlerfrei laufenden MCP23017 Erweiterung werden plötzlich die Eingänge
nicht mehr aktualisiert. Nur durch ein Reload der Oberfäche wird der Zustand aktualisiert.
Der Interrupt ist wie folgt definiert:
Internals:
   DEF        22
   EXCEPT_FD  69
   FUUID      5ff5d217-f33f-bc18-fc85-a2ed3e2ea5bc0d65
   GPIO_Basedir /sys/class/gpio
   GPIO_Nr    22
   NAME       Interrupt
   NR         151
   STATE      off
   TYPE       RPI_GPIO
   WiringPi_gpio /usr/bin/gpio
   lasttrg    1611845294.02294
   READINGS:
     2021-01-28 15:41:07   Counter         709
     2021-01-28 15:48:14   Dblclick        off
     2021-01-28 15:48:14   Longpress       off
     2021-01-28 15:48:14   Pinlevel        low
     2021-01-28 15:48:14   state           off
     2021-01-28 15:48:14   test            egal
   fhem:
     interfaces switch
Attributes:
   active_low yes
   direction  input
   group      Hubo
   interrupt  both
   room       I2c,Unsorted
   userReadings test {fhem ("get icMCP23017");; "egal" }
   verbose    5


Den Anhang "egal" habe ich testweise eingefügt da ich im Log folgenden Fehler fand "Error evaluating Interrupt userReading test: hash- or arrayref expected".
Nach Verbose 5 habe ich auch noch "Datei: /sys/class/gpio/gpio22/value, FH: IO::File=GLOB(0x44657d0), EXCEPT_FD: 69, akt. Wert: 0" einmal gelesen.

Habt ihr einen Tipp ?
Vielen Dank,
Byllyy

R1F800


Byllyy

Gerne doch :
Internals:
   DEF        0x22
   FUUID      5ff5d196-f33f-bc18-0431-19c1436c004a19ba
   I2C_Address 34
   INTRIGGER  1
   IODev      i2cBus
   NAME       icMCP23017
   NR         150
   NTFY_TRIGGERTIME 2021-01-28 15:36:54
   STATE      Ok
   TYPE       I2C_MCP23017
   i2cBus_SENDSTAT Ok
   CHANGED:
     PortB4: off
     PortB4: on
     Ok
     Ok
     Ok
     Ok
     OkPortA5: off
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
     Ok
   CHANGEDWITHSTATE:
   READINGS:
     2021-01-25 16:32:51   PortA0          off
     2021-01-25 20:02:45   PortA1          off
     2021-01-25 22:26:06   PortA2          off
     2021-01-19 19:34:47   PortA3          off
     2021-01-20 15:24:31   PortA4          off
     2021-01-28 16:45:11   PortA5          off
     2021-01-25 15:38:19   PortA6          off
     2021-01-11 12:10:30   PortA7          off
     2021-01-19 15:43:48   PortB0          on
     2021-01-28 16:45:02   PortB1          on
     2021-01-06 16:49:28   PortB2          on
     2021-01-28 16:34:13   PortB3          on
     2021-01-28 15:36:55   PortB4          on
     2021-01-26 06:52:30   PortB5          on
     2021-01-26 06:50:46   PortB6          on
     2021-01-26 06:52:44   PortB7          off
     2021-01-28 16:45:21   state           Ok
Attributes:
   IODev      i2cBus
   Interrupt  B0,B1,B2,B3,B4,B5,B6,B7
   InterruptOut connected_active-low
   OutputPorts A0,A1,A2,A3,A4,A5,A6,A7
   Pullup     B0,B1,B2,B3,B4,B5,B6,B7
   group      Hubo
   room       I2c,Unsorted

R1F800

#246
sieht alles OK aus ... ggf ein Browserfehler ? SCRIPT Blocker AKTIV?
>>  NTFY_TRIGGERTIME 2021-01-28 15:36:54
scheint ja zu funktionieren.


Ach ja .. für den INT IN (GPIO) hast Du das einen PullUp eingebaut?
ggf ist aktuell das Netz nicht ok

Byllyy

Hallo R1F800,
mir scheint es auch ein Problem in der Verbindung Pi zum MCU zu sein, da ja softwaremäßig Nichts verändert wurde.
Meinst du einen PullUp den ich Hardwaremäßig in die INT Leitung einbauen soll?

Liebe Grüße und Danke,
Byllyy

R1F800