Autor Thema: I2C Portextender mit dem I2C_PCF8574  (Gelesen 1565 mal)

Offline tfriedrich85

  • New Member
  • *
  • Beiträge: 46
I2C Portextender mit dem I2C_PCF8574
« 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

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1889
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #1 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.
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

Offline tfriedrich85

  • New Member
  • *
  • Beiträge: 46
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #2 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?

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1889
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #3 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.
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

Offline tfriedrich85

  • New Member
  • *
  • Beiträge: 46
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #4 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")}


Offline fhem-hm-knecht

  • Hero Member
  • *****
  • Beiträge: 2091
  • Fhem User seit 2010
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #5 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
Hary


aktuell wieder CubieTruck (CT)   2x HM-Lan + WlanHMUART, Avr-net-io, 1Wire,MySensor(raubt mir die Freizeit aber Kabel  )

Offline tfriedrich85

  • New Member
  • *
  • Beiträge: 46
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #6 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

Offline fhem-hm-knecht

  • Hero Member
  • *****
  • Beiträge: 2091
  • Fhem User seit 2010
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #7 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
Hary


aktuell wieder CubieTruck (CT)   2x HM-Lan + WlanHMUART, Avr-net-io, 1Wire,MySensor(raubt mir die Freizeit aber Kabel  )

Offline PeMue

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4899
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #8 am: 04 August 2019, 20:06:27 »
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
1x FB7170 (29.04.88) 5.7 1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F)
1x RPi BV2LCDCSM 1.63 5.7 2xMAX HKT, 1xMAX RT, V200KW1
1xFB 7490 (113.06.05) 5.7 1xCUL V3 1.63 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 1xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU 1xRFXtrx 90 1xWT440H 1xCM160 3xTFA30.3150 5xFA21

Offline tfriedrich85

  • New Member
  • *
  • Beiträge: 46
Antw:I2C Portextender mit dem I2C_PCF8574
« Antwort #9 am: 04 August 2019, 21:50:47 »
Danke, so läuft das!