FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: tfriedrich85 am 30 Juli 2019, 22:53:01

Titel: I2C Portextender mit dem I2C_PCF8574
Beitrag von: tfriedrich85 am 30 Juli 2019, 22:53:01
Hallo zusammen,

ich habe viele I2C Komponenten in Betrieb darunter ca 10 PCF8574 Portextender mit denen ich Ein- und Ausgänge schalte.
Im Grunde läuft das auch ganz gut, aber neuerdings sehe ich Log immer wieder die gleichen Warnings und kann die Relevanz nicht einschätzen:

Hier der Log


2019.07.30 22:39:40 3: myI2C: HWaccess blockweise von 0x3f lesen, -> sysread failure: Remote I/O error
2019.07.30 22:39:39 3: myI2C: HWaccess blockweise von 0x3f lesen, -> sysread failure: Remote I/O error
2019.07.30 22:39:39 3: eval: {fhem ("get InputE38")}
2019.07.30 22:39:39 1: PERL WARNING: INTA userReadings test evaluated to undef at fhem.pl line 4651, <GEN9> line 23180.
2019.07.30 22:39:39 3: myI2C: HWaccess blockweise von 0x3f lesen, -> sysread failure: Remote I/O error
2019.07.30 22:39:39 3: myI2C: HWaccess blockweise von 0x3f lesen, -> sysread failure: Remote I/O error
2019.07.30 22:39:39 3: eval: {fhem ("get InputE38")}
2019.07.30 22:39:39 1: PERL WARNING: INTA userReadings test evaluated to undef at fhem.pl line 4651, <GEN9> line 23179.




Hier die I2C übersicht:

pi@raspberrypi:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- 22 23 24 -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 39 3a 3b 3c 3d 3e --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- 5a 5b -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --



Kann ich das irgendwie abstellen? Spielt das eine Rolle?

Vielen Dank für eure Hilfe.
Grüße
Tobias
Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: klausw am 30 Juli 2019, 23:10:41
Der I2C Bus scheint ab und zu blockiert zu sein. Nutzt du den I2C Bus auch anderweitig? Also außerhalb von FHEM?
RTC etc?
Oder auch Module die nicht über RPII2C funktionieren.
Alle I2C ICs die über RPII2C angesprochen werden blockieren sich nicht gegenseitig.
Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: tfriedrich85 am 02 August 2019, 14:05:01
Danke für den Hinweis ich habe 10  PCF8574 als I/Os im Einsatz und sonst läuft nichts auf dem Bus.
Ich könnte mir vorstellen, dass es am Zahlensystem / Adressierung liegt. Wie im folgenden Post beschrieben:

https://forum.fhem.de/index.php?topic=20452.60

Aber wie bekomme ich die gefixte Version in mein Fhem?
Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: klausw am 02 August 2019, 14:26:26
Wenn du alle ICs ansteuern kannst dann stimmt auch die Adressierung.
In FHEM wird das neueste Modul ausgeliefert.
Das dezimale Zahlensystem wird genutzt, wenn nur eine Zahl angegeben wird. Ein 0x vor der Zahl interpretiert sie als Hexadezimalzahl.
Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: tfriedrich85 am 02 August 2019, 14:45:56
Kann es sein, dass es an der Abfrage der Interrupts für die Eingänge liegt?
Denn bei einem Interrupt auf dem Bus werden alle Karten abgefragt und das sieht so aus;

define INTA RPI_GPIO 17
setuuid INTA 5cd6af37-f33f-aed9-d858-4d2bfb4256a84f0f
attr INTA active_low yes
attr INTA direction input
attr INTA interrupt both
attr INTA pud_resistor off
attr INTA room Port Extender,i2c
attr INTA userReadings test {fhem ("get InputE38")} , test {fhem ("get InputE39")} , test {fhem ("get InputE3a")} , test {fhem ("get InputE3b")} , test {fhem ("get InputE3c")} , test {fhem ("get InputE3f")}

Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: LuckyDay am 03 August 2019, 12:57:17
2019.07.30 22:39:39 1: PERL WARNING: INTA userReadings test evaluated to undef at fhem.pl line 4651, <GEN9> line 23180.

da die get Anweisung nichts zurück liefert ! deswegen die PERL WARNING: INTA....

...{fhem ("get InputE38");"egal"}...
damit kein undef -->wird "egal" als Wert genommen
Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: tfriedrich85 am 04 August 2019, 17:50:45
Hallo,

danke für die Antwort! Kann man das irgendwie umgehen oder das Warning abschalten?

Beste Grüße
Tobias
Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: LuckyDay am 04 August 2019, 19:29:36
 :o
mein Beispiel für dich so unverständlich,
ich kann doch auch nichts dafür wenn deine get Abfrage unvollständig/fehlerhaft  ist
Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: PeMue am 04 August 2019, 20:06:27
Zitat von: tfriedrich85 am 04 August 2019, 17:50:45
Kann man das irgendwie umgehen oder das Warning abschalten?
Ja, pack einen Default-Wert in den Aufruf (siehe den blauen Text von Hary weiter oben).

Gruß Peter
Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: tfriedrich85 am 04 August 2019, 21:50:47
Danke, so läuft das!

Titel: Antw:I2C Portextender mit dem I2C_PCF8574
Beitrag von: cs-online am 02 April 2021, 20:23:50
Hallo,

ich kram den Threat mal wieder hoch, ich habe das Problem, dass der Portextender anscheinend irgendwann einschläft und somit nicht darauf reagiert, wenn man die Ports schalten will. Erst nach mehreren Schaltversuchen reagiert der dann zuverlässig. Kennt jemand das Problem bzw. eine mögliche Abhilfe ? Angeschlossen ist der an einem Raspi 4 mit Buster OS

Grüße Christian