I2C Portextender und PWM IC und physical. Modul für I2C Zugriff mit dem RasPi

Begonnen von klausw, 18 Februar 2014, 23:46:08

Vorheriges Thema - Nächstes Thema

klausw

Zitat von: Vorhand am 31 Juli 2016, 19:41:58
habe folgendes Problem: Mit dem RPII2C-Modul lässt sich auf meinem Raspi3 das PCF8574 von horter.de ansteuern.
Wenn ich jedoch mit dem fhem-Modul I2C_PCF8574 versuche anzusteuern, zeigt der SENDSTAT error.
...
Welchen Test könnte ich machen um dem Fehler auf die Spur zu kommen?
hmm, seltsam
Du könntest mal mit verbose 5 einen Schaltversuch machen und das Ergebnis hier posten.
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

Vorhand

Hallo Klaus,
hier kommt das Log nach einem Neustart von fhem:
####################
2016.08.03 18:01:41 5: Cmd: >attr global statefile ./log/fhem.save<
2016.08.03 18:01:41 5: Cmd: >attr global updateInBackground 1<
2016.08.03 18:01:41 5: Cmd: >attr global verbose 5<
2016.08.03 18:01:41 5: Cmd: >define telnetPort telnet 7072 global<
2016.08.03 18:01:41 5: Loading ./FHEM/98_telnet.pm
2016.08.03 18:01:41 3: telnetPort: port 7072 opened
2016.08.03 18:01:41 5: Cmd: >define WEB FHEMWEB 8083 global<
2016.08.03 18:01:41 5: Loading ./FHEM/01_FHEMWEB.pm
2016.08.03 18:01:41 3: WEB: port 8083 opened
2016.08.03 18:01:42 5: Cmd: >attr WEB editConfig 1<
2016.08.03 18:01:42 5: Cmd: >define WEBphone FHEMWEB 8084 global<
2016.08.03 18:01:42 3: WEBphone: port 8084 opened
2016.08.03 18:01:42 5: Cmd: >attr WEBphone stylesheetPrefix smallscreen<
2016.08.03 18:01:42 5: Cmd: >define WEBtablet FHEMWEB 8085 global<
2016.08.03 18:01:42 3: WEBtablet: port 8085 opened
2016.08.03 18:01:42 5: Cmd: >attr WEBtablet stylesheetPrefix touchpad<
2016.08.03 18:01:42 5: Cmd: >define Logfile FileLog ./log/fhem-%Y-%m.log fakelog<
2016.08.03 18:01:42 5: Loading ./FHEM/92_FileLog.pm
2016.08.03 18:01:42 5: Cmd: >define eventTypes eventTypes ./log/eventTypes.txt<
2016.08.03 18:01:42 5: Loading ./FHEM/91_eventTypes.pm
2016.08.03 18:01:42 2: eventTypes: loaded 55 events from ./log/eventTypes.txt
2016.08.03 18:01:42 5: Cmd: >define i2crpi RPII2C 1<
2016.08.03 18:01:42 5: Loading ./FHEM/00_RPII2C.pm
2016.08.03 18:01:42 5: Cmd: >define mod1 I2C_PCF8574 26<
2016.08.03 18:01:42 5: Loading ./FHEM/52_I2C_PCF8574.pm
Smartmatch is experimental at ./FHEM/52_I2C_PCF8574.pm line 48, <$fh> line 66.
Smartmatch is experimental at ./FHEM/52_I2C_PCF8574.pm line 53, <$fh> line 66.
Smartmatch is experimental at ./FHEM/52_I2C_PCF8574.pm line 55, <$fh> line 66.
Smartmatch is experimental at ./FHEM/52_I2C_PCF8574.pm line 65, <$fh> line 66.
Smartmatch is experimental at ./FHEM/52_I2C_PCF8574.pm line 75, <$fh> line 66.
Smartmatch is experimental at ./FHEM/52_I2C_PCF8574.pm line 215, <$fh> line 66.
Smartmatch is experimental at ./FHEM/52_I2C_PCF8574.pm line 287, <$fh> line 66.
2016.08.03 18:01:42 5: Cmd: >attr mod1 IODev i2crpi<
2016.08.03 18:01:42 1: Including ./log/fhem.save
2016.08.03 18:01:42 5: Cmd: >setstate Logfile active<
2016.08.03 18:01:42 5: Cmd: >setstate eventTypes active<
2016.08.03 18:01:42 5: Cmd: >setstate global <no definition><
2016.08.03 18:01:42 5: Cmd: >setstate i2crpi error<
2016.08.03 18:01:42 5: Triggering global (1 changes)
2016.08.03 18:01:42 5: Notify loop for global INITIALIZED
2016.08.03 18:01:42 5: im init client fuer mod1
2016.08.03 18:01:42 5: i2crpi: vom client empfangen|direction: i2cwrite|i2caddress: 26|data: 0
2016.08.03 18:01:42 5: i2crpi: HWaccess I2CAddr: 0x1A
2016.08.03 18:01:42 5: i2crpi: vom client empfangen|direction: i2cwrite|i2caddress: 26|data: 0
2016.08.03 18:01:42 3: i2crpi: HWaccess blockweise nach 0x1a schreiben,  Inh: 0, laenge: 1| -> syswrite failure: Eingabe-/Ausgabefehler
2016.08.03 18:01:42 5: i2crpi ->Client gefunden: mod1, I2Caddress: 26
2016.08.03 18:01:42 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2016.08.03 18:01:42 0: Featurelevel: 5.7
2016.08.03 18:01:42 0: Server started with 9 defined entities (version $Id: fhem.pl 9893 2015-11-15 08:43:05Z rudolfkoenig $, os linux, user fhem, pid 12308)
2016.08.03 18:01:43 4: Connection accepted from FHEMWEB:192.168.10.100:54189
2016.08.03 18:01:44 4: FHEMWEB:192.168.10.100:54189 GET /fhem?XHR=1&inform=type=status;filter=;since=1470240097.192;fmt=JSON×tamp=1470240111697; BUFLEN:0
2016.08.03 18:01:44 4: Connection accepted from FHEMWEB:127.0.0.1:56398
2016.08.03 18:01:44 4: FHEMWEB:127.0.0.1:56398 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1470240091.24;fmt=JSON×tamp=1470240103905; BUFLEN:0
2016.08.03 18:01:49 4: Connection accepted from FHEMWEB:192.168.10.100:54190
2016.08.03 18:01:49 4: FHEMWEB:192.168.10.100:54190 GET /fhem?room=Unsorted; BUFLEN:0
2016.08.03 18:01:49 4: name: /fhem?room=Unsorted / RL:1449 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:01:49 4: Connection closed for FHEMWEB:192.168.10.100:54189: EOF
2016.08.03 18:01:49 4: FHEMWEB:192.168.10.100:54190 GET /fhem?XHR=1&inform=type=status;filter=room=Unsorted;since=1470240108;fmt=JSON×tamp=1470240117429; BUFLEN:0
2016.08.03 18:01:55 4: Connection accepted from FHEMWEB:192.168.10.100:54191
2016.08.03 18:01:55 4: FHEMWEB:192.168.10.100:54191 GET /fhem?detail=i2crpi; BUFLEN:0
2016.08.03 18:01:55 4: name: /fhem?detail=i2crpi / RL:2268 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:01:55 4: Connection closed for FHEMWEB:192.168.10.100:54190: EOF
2016.08.03 18:01:56 4: FHEMWEB:192.168.10.100:54191 GET /fhem?cmd={ReadingsVal(%22i2crpi%22,%22writeBlock%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:01:56 5: Cmd: >{ReadingsVal("i2crpi","writeBlock","")}<
2016.08.03 18:01:56 4: name: /fhem?cmd={ReadingsVal(%22i2crpi%22,%22writeBlock%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:01:56 4: Connection accepted from FHEMWEB:192.168.10.100:54192
2016.08.03 18:01:56 4: FHEMWEB:192.168.10.100:54192 GET /fhem?cmd={AttrVal(%22i2crpi%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:01:56 5: Cmd: >{AttrVal("i2crpi","room","")}<
2016.08.03 18:01:56 4: name: /fhem?cmd={AttrVal(%22i2crpi%22,%22room%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:01:56 4: FHEMWEB:192.168.10.100:54192 GET /fhem?XHR=1&inform=type=status;filter=i2crpi;since=1470240114;fmt=JSON×tamp=1470240124123; BUFLEN:0
2016.08.03 18:02:06 4: FHEMWEB:192.168.10.100:54191 POST /fhem&detail=i2crpi&dev.seti2crpi=i2crpi&cmd.seti2crpi=set&arg.seti2crpi=writeBlock&val.seti2crpi=26+aa; BUFLEN:0
2016.08.03 18:02:06 5: Cmd: >set i2crpi writeBlock 26 aa<
2016.08.03 18:02:06 5: i2crpi: HWaccess I2CAddr: 0x26
2016.08.03 18:02:06 5: i2crpi: vom client empfangen|nbyte: 1|i2caddress: 38|data: 170|test: local|direction: i2cwrite
2016.08.03 18:02:06 5: i2crpi: HWaccess block schreiben,  Inh(dec):|170|, laenge: |1|
2016.08.03 18:02:06 5: Triggering i2crpi (1 changes)
2016.08.03 18:02:06 5: Notify loop for i2crpi writeBlock 26 aa
2016.08.03 18:02:06 4: FHEMWEB:192.168.10.100:54191 GET /fhem?detail=i2crpi; BUFLEN:0
2016.08.03 18:02:06 4: name: /fhem?detail=i2crpi / RL:2266 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:06 4: Connection closed for FHEMWEB:192.168.10.100:54192: EOF
2016.08.03 18:02:06 4: FHEMWEB:192.168.10.100:54191 GET /fhem?cmd={ReadingsVal(%22i2crpi%22,%22writeBlock%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:02:06 5: Cmd: >{ReadingsVal("i2crpi","writeBlock","")}<
2016.08.03 18:02:06 4: name: /fhem?cmd={ReadingsVal(%22i2crpi%22,%22writeBlock%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:06 4: Connection accepted from FHEMWEB:192.168.10.100:54193
2016.08.03 18:02:06 4: FHEMWEB:192.168.10.100:54193 GET /fhem?cmd={AttrVal(%22i2crpi%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:02:06 5: Cmd: >{AttrVal("i2crpi","room","")}<
2016.08.03 18:02:06 4: name: /fhem?cmd={AttrVal(%22i2crpi%22,%22room%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:07 4: FHEMWEB:192.168.10.100:54193 GET /fhem?XHR=1&inform=type=status;filter=i2crpi;since=1470240125;fmt=JSON×tamp=1470240135022; BUFLEN:0
2016.08.03 18:02:16 4: FHEMWEB:192.168.10.100:54191 GET /fhem?room=Unsorted; BUFLEN:0
2016.08.03 18:02:16 4: name: /fhem?room=Unsorted / RL:1448 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:16 4: Connection closed for FHEMWEB:192.168.10.100:54193: EOF
2016.08.03 18:02:17 4: FHEMWEB:192.168.10.100:54191 GET /fhem?XHR=1&inform=type=status;filter=room=Unsorted;since=1470240135;fmt=JSON×tamp=1470240144809; BUFLEN:0
2016.08.03 18:02:18 4: Connection accepted from FHEMWEB:192.168.10.100:54194
2016.08.03 18:02:18 4: FHEMWEB:192.168.10.100:54194 GET /fhem?detail=mod1; BUFLEN:0
2016.08.03 18:02:18 5: i2crpi: vom client empfangen|i2caddress: 26|direction: i2cread
2016.08.03 18:02:18 5: i2crpi: HWaccess I2CAddr: 0x1A
2016.08.03 18:02:18 5: i2crpi: vom client empfangen|i2caddress: 26|direction: i2cread
2016.08.03 18:02:18 3: i2crpi: HWaccess blockweise von 0x1a lesen, -> sysread failure: Eingabe-/Ausgabefehler
2016.08.03 18:02:18 1: PERL WARNING: Exiting subroutine via last at ./FHEM/00_RPII2C.pm line 517.
2016.08.03 18:02:18 4: name: /fhem?detail=mod1 / RL:2277 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:18 4: Connection closed for FHEMWEB:192.168.10.100:54191: EOF
2016.08.03 18:02:18 4: FHEMWEB:192.168.10.100:54194 GET /fhem?cmd={ReadingsVal(%22mod1%22,%22Port0%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:02:18 5: Cmd: >{ReadingsVal("mod1","Port0","")}<
2016.08.03 18:02:18 4: name: /fhem?cmd={ReadingsVal(%22mod1%22,%22Port0%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:18 4: Connection accepted from FHEMWEB:192.168.10.100:54195
2016.08.03 18:02:18 4: FHEMWEB:192.168.10.100:54195 GET /fhem?cmd={AttrVal(%22mod1%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:02:18 5: Cmd: >{AttrVal("mod1","room","")}<
2016.08.03 18:02:18 4: name: /fhem?cmd={AttrVal(%22mod1%22,%22room%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:18 4: FHEMWEB:192.168.10.100:54195 GET /fhem?XHR=1&inform=type=status;filter=mod1;since=1470240137;fmt=JSON×tamp=1470240146736; BUFLEN:0
2016.08.03 18:02:25 4: FHEMWEB:192.168.10.100:54194 GET /fhem?cmd={ReadingsVal(%22mod1%22,%22Port4%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:02:25 5: Cmd: >{ReadingsVal("mod1","Port4","")}<
2016.08.03 18:02:25 4: name: /fhem?cmd={ReadingsVal(%22mod1%22,%22Port4%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:31 4: FHEMWEB:192.168.10.100:54194 POST /fhem&detail=mod1&dev.setmod1=mod1&cmd.setmod1=set&arg.setmod1=Port4&val.setmod1=on; BUFLEN:0
2016.08.03 18:02:31 5: Cmd: >set mod1 Port4 on<
2016.08.03 18:02:31 5: i2crpi: vom client empfangen|direction: i2cwrite|data: 16|i2caddress: 26
2016.08.03 18:02:31 5: i2crpi: HWaccess I2CAddr: 0x1A
2016.08.03 18:02:31 5: i2crpi: vom client empfangen|direction: i2cwrite|data: 16|i2caddress: 26
2016.08.03 18:02:31 3: i2crpi: HWaccess blockweise nach 0x1a schreiben,  Inh: 16, laenge: 1| -> syswrite failure: Eingabe-/Ausgabefehler
2016.08.03 18:02:31 5: i2crpi ->Client gefunden: mod1, I2Caddress: 26 Data: 16
2016.08.03 18:02:31 5: Triggering mod1 (1 changes)
2016.08.03 18:02:31 5: Notify loop for mod1 Port4 on
2016.08.03 18:02:31 4: FHEMWEB:192.168.10.100:54194 GET /fhem?detail=mod1; BUFLEN:0
2016.08.03 18:02:31 5: i2crpi: vom client empfangen|direction: i2cread|i2caddress: 26
2016.08.03 18:02:31 5: i2crpi: HWaccess I2CAddr: 0x1A
2016.08.03 18:02:31 5: i2crpi: vom client empfangen|direction: i2cread|i2caddress: 26
2016.08.03 18:02:31 3: i2crpi: HWaccess blockweise von 0x1a lesen, -> sysread failure: Eingabe-/Ausgabefehler
2016.08.03 18:02:31 4: name: /fhem?detail=mod1 / RL:2277 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:31 4: Connection closed for FHEMWEB:192.168.10.100:54195: EOF
2016.08.03 18:02:31 4: FHEMWEB:192.168.10.100:54194 GET /fhem?cmd={ReadingsVal(%22mod1%22,%22Port0%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:02:31 5: Cmd: >{ReadingsVal("mod1","Port0","")}<
2016.08.03 18:02:31 4: name: /fhem?cmd={ReadingsVal(%22mod1%22,%22Port0%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:31 4: Connection accepted from FHEMWEB:192.168.10.100:54196
2016.08.03 18:02:31 4: FHEMWEB:192.168.10.100:54196 GET /fhem?cmd={AttrVal(%22mod1%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
2016.08.03 18:02:31 5: Cmd: >{AttrVal("mod1","room","")}<
2016.08.03 18:02:31 4: name: /fhem?cmd={AttrVal(%22mod1%22,%22room%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2016.08.03 18:02:32 4: FHEMWEB:192.168.10.100:54196 GET /fhem?XHR=1&inform=type=status;filter=mod1;since=1470240150;fmt=JSON×tamp=1470240159795; BUFLEN:0
2016.08.03 18:02:42 4: FHEMWEB:192.168.10.100:54194 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2016-08.log; BUFLEN:0

#################
ich kann da leider nichts erkennnen.

Grüße
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

klausw

Zitat von: Vorhand am 03 August 2016, 18:09:37
2016.08.03 18:01:42 5: i2crpi: vom client empfangen|direction: i2cwrite|i2caddress: 26|data: 0
2016.08.03 18:01:42 5: i2crpi: HWaccess I2CAddr: 0x1A
2016.08.03 18:01:42 5: i2crpi: vom client empfangen|direction: i2cwrite|i2caddress: 26|data: 0
2016.08.03 18:01:42 3: i2crpi: HWaccess blockweise nach 0x1a schreiben,  Inh: 0, laenge: 1| -> syswrite failure: Eingabe-/Ausgabefehler
2016.08.03 18:01:42 5: i2crpi ->Client gefunden: mod1, I2Caddress: 26

vermutlich ist es das leidige Thema des Zahlensystems.
Die Adresse lautet bestimmt 0x26 (bzw. 38 als Dezimalzahl). Denn das wäre auch im Adressbereich des PCF8574
Die 26 ohne vorangestelltes 0x wird als Dezimalzahl gewertet und die wäre dann 0x1A, was nicht in den Adressbereich passt.

Grüße
Klaus
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

Vorhand

Genau, hier war die Ursache.
Danke für die schnelle Antwort.
Offensichtlich hat der PCF8574A einen anderen Adressbereich als der verbaute PCF8574N. Verwirrend war für mich, dass das Modul RPII2C auf "26 ff" mit OK reagiert hat.

Grüße
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

klausw

Zitat von: Vorhand am 04 August 2016, 18:21:03
Offensichtlich hat der PCF8574A einen anderen Adressbereich als der verbaute PCF8574N. Verwirrend war für mich, dass das Modul RPII2C auf "26 ff" mit OK reagiert hat.

naja, das ist halt so gewachsen (und ist beim Eingeben schneller wenn man es weiß ;) )
das RPII2C Modul nimmt alle Zahlen als HexWerte und bei den I2C_* Modulen muss bei der Adresse das 0x für Hex angegeben 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

Vorhand

Hallo Owel,
gefällt mir mit dem Portextender und den Eltakos - die wollen halt aktive Spannung.
Hast du das weiter gepflegt?.
Kannst du mir ein bisschen Beispielcode überlassen? Das mit dem readingsProxy ist in der CommandRef leider ohne Beispiel.
Wenn ich das richtig verstanden habe, fragst du über ein InputModul die tatsächliche Stellung der Eltakos ab und über ein OutputModul steuerst du das ganze.
Wie erzeugst du einen Impuls?

Danke
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

butaluk

Hallo Zusammen,
ich betreibe meine Steuerung (Pi2) mit den PCA9685 als Ausgangsporterweiterung und PCF8574 als Eingangsporterweiterung. Funktioniert soweit alles ganz gut. Jetzt will ich auf Pi3 umsteigen. Das I2C Bus habe ich so wie bei der Pi2 aktiviert und es funktioniert auch. Mit "sudo i2cdetect -y 1" getestet.
Nun wenn ich das I2C im Fhem definiere define <name> RPII2C 1 bekomme ich die Fehlermeldung:
Zitati2c: Error! I2C device not readable: /dev/i2c-1. Please install wiringpi or change access rights for fhem user
In Foren habe ich desbezüglich nichts gefunden. Kennt einer woran es liegen könnte?

Danke!

Wallmeier

Hallo Klaus,

kannst Du bitte den folgenden Patch mit in das Modul aufnehmen? Ich bin dabei das Modul für die S.USV (siehe auch https://forum.fhem.de/index.php/topic,51664.15.html) auf das RPI_I2C Modul umzubauen. Der Patch nimmt dazu zwei Änderungen vor:

  • I2C_SUSV wird in die Liste der Clients mitaufgenommen
  • Die Methode RPII2C_HWACCESS_ioctl wertet ein optionales $clientmsg->{usleep} aus - die S.USV benötigt eine kleine Pause (1 ms) zwischen syswrite und sysread, wenn Daten von der S.USB ausgelesen werden sollen
Noch einen schönen Sonntag,
Nico

klausw

ok, habs ein´gecheckt...

SMBUS funktioniert aber bei anderen I2C Devices?
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

Wallmeier

Hallo Klaus,

danke fürs Einchecken!

Ich denke, dass dies spezielle Probleme von der S.USV sind, dass SMBUS nicht funktioniert.

Schönen Abend noch,
Nico

Vorhand

Hallo,
bin mit 3 Portextendern PCF8574 an einem Raspi unterwegs. 2 x Ausgang 1 x Eingang mit Interrupt.
Funktioniert alles bestens. Allerdings nach Neustart von fhem, bleiben die Teile bei "defined" hängen, weder Ein- noch Ausgänge sind aus fhem ansprechbar.
Nach dem üblichen "Chaos-Probieren" fand ich heraus, dass ein Click auf DEF und dann gleich auf modify genügt, um den jeweiligen PCF zu erwecken - er wechselt in der Übersicht sofort von "defined" auf die   Zahl seines Zustandes.
Was könnte die Ursache der "Nichtaktivierung beim Neustart" sein? Ist die Anzahl der I2C-Teilnehmer beschränkt?
Was sollte ich checken?

Danke
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

dbox2user

Hallo Klaus!
Erstmal vielen Dank für deine Arbeit!  :)

Dank des Moduls "I2C_PCF8574.pm" kann ich jetzt meine 8fach Relaiskarte am Arduino per I2C-Bus ansteuern.
Anfangs hatte ich Probleme das PCF8574 I2C PortExpander Modul anzusprechen.
Nach langer Internetsuche fand ich die Lösung ....  Vielleicht kannst Du Info im Fhem-Modul bzw hier im Forum im 1.Post hinterlegen damit es andere einfacher haben.
Mein Problem war ein falscher Adressbereich. Ich habe einen PCF8574A auf dem IO Port Expander.

Die Adressen beim PCF8574 lauten 0x20-0x27
beim PCF8574A lauten sie 0x38-0x3F

Jetzt noch ein Wunsch:  ;)
Mein PCF8574 I2C PortExpander Modul schaltet bei "ON" ein High und bei "OFF" ein Low auf die Pins.
Nun sind viele Relaiskarten aber "Low-aktiv", schalten also bei einem Low-Signal den Ausgang ein.
Könntest Du vielleicht ein zusätzliches Attribut "activeLow" im Fhem-Modul einbauen, wo man das Signal einfach invertieren kann.
(Wie z.B. im Fhem-Modul "FRM_OUT" oder "RPI_GPIO".)

Grüße,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

dbox2user

mmmhm .....
da hab ich mich etwas zu schnell gefreut.
Irgendwie "spinnt" mein PCF8574A .

An den Pins (alle als Ausgang genutzt) ist eine 8fach Relaiskarte mit integrierten Optokopplern angeschlossen.
Wenn ich jetzt z.B. Pin 3 auf "off" schalte geht Pin 3 auf "off". Schalte ich danach z.B. Pin 4 auf "off" geht Pin 3 wieder auf "on". :o
Und das ganze quer Beet.
Erst dachte ich es liegt an meinen readingsproxy aber das ganze passiert auch beim direkten schalten per "set ... Port0 off".

Baue ich einem anderen PCF8574A ein, habe ich das gleiche Problem.

Achja, mein I2C-Device ist ein Arduino Uno per configurable Firmata.

Hat jemand eine Idee?  ::)
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

bmshine

Hallo,
an einem ActiveLow attribut für das I2C_PCF8574 modul hätte ich auch grosses Interesse, da ich das selbe Problem habe.
Gruss Markus


Intruder1956

hallo,
ich habe mir eine S.USV installiert darauf steckt auch noch ein HMLAN-RPI und wie oben RPII2C eingerichtet.
Jetzt bekomme ich folgende Logeinträge und Fhem funktioniert teilweise nicht mehr bzw. Lassen sich Steckdosen und Rolläden nicht mehr schalten.
habe die definition für S.USV erstmal wieder rausgenommen.
2017.05.20 09:34:43 3: SUSV: using I2C Address 15
2017.05.20 09:34:43 3: RPII2C_1: HWaccess blockweise von 0x0f lesen, Reg: 0x22 -> syswrite failure: Ein-/Ausgabefehler der Gegenstelle (remote)
2017.05.20 09:34:43 1: PERL WARNING: Exiting subroutine via last at ./FHEM/00_RPII2C.pm line 514.
2017.05.20 09:34:43 1: PERL WARNING: Exiting eval via last at ./FHEM/00_RPII2C.pm line 514.
2017.05.20 09:35:04 3: RPII2C_1: HWaccess blockweise von 0x0f lesen, Reg: 0x22 -> syswrite failure: Ein-/Ausgabefehler der Gegenstelle (remote)
2017.05.20 09:35:17 3: RPII2C_1: HWaccess blockweise von 0x0f lesen, Reg: 0x22 -> syswrite failure: Ein-/Ausgabefehler der Gegenstelle (remote)
2017.05.20 09:39:39 3: RPII2C_1: HWaccess blockweise von 0x0f lesen, Reg: 0x22 -> syswrite failure: Ein-/Ausgabefehler der Gegenstelle (remote)
2017.05.20 09:39:40 3: RPII2C_1: file /dev/i2c-0 not accessible try to use gpio utility to fix it
/usr/local/bin/gpio: Unable to load/unload modules as this Pi has the device tree enabled.
  You need to run the raspi-config program (as root) and select the
  modules (SPI or I2C) that you wish to load/unload there and reboot.
  There is more information here:
      https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=97314
2017.05.20 09:39:59 3: RPII2C_1: file /dev/i2c-0 not accessible try to use gpio utility to fix it
/usr/local/bin/gpio: Unable to load/unload modules as this Pi has the device tree enabled.
  You need to run the raspi-config program (as root) and select the
  modules (SPI or I2C) that you wish to load/unload there and reboot.
  There is more information here:
      https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=97314
2017.05.20 09:40:58 3: RPII2C_1: HWaccess blockweise von 0x0f lesen, Reg: 0x22 -> syswrite failure: Ein-/Ausgabefehler der Gegenstelle (remote)


in der Raspi-Config wurde I2C aktiviert
pi@raspberrypi:/opt/susvd $ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- 0f
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

pi@raspberrypi:/opt/susvd $ sudo ./susv -status
********************************
*                              *
* S.USV pi solutions           *
* www.s-usv.de                 *
*                              *
* Model: Advanced              *
* Firmware Version: 2.30       *
* Software Version: 2.20       *
*                              *
* Mail notification: Disabled  *
*                              *
* Timed Boot: Disabled         *
* Boot time: 00:00:00          *
*                              *
* Timed Shutdown: Disabled     *
* Shutdown time: 00:00:00      *
*                              *
* Sun May 21 11:05:56 2017     *
*                              *
********************************
*                              *
* Powering Source: Primary     *
* Charging circuit: ONLINE     *
* Charging current: 300 mA     *
*                              *
* Voltage in: 5.14 V           *
* Battery capacity: 100.00%    *
* Battery voltage: 4.20V       *
* Power Battery: 000.00 mA     *
* Power Extern: 000.00 mA      *
*                              *
* Shutdown timer: 10           *
* Autostart:  enabled          *
* Sleep timer: 1               *
*                              *
********************************



Kann mir jemand helfen ??
falls ja, welche Daten werden benötigt ?
Gruß Werner

EDIT: folgendes habe ich noch wenn ich den Daemon starten will
pi@raspberrypi:/opt/susvd $ sudo ./susvd -start
S.USV still Daemon running... PID: 390


Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,