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

Ist mittlerweile im SVN und kann per update installiert werden

Hallo zusammen,

ich habe mich mal hingesetzt und einn two level approach für den I2C Zugriff geschrieben.

Das Modul RPII2C ermöglicht den Zugriff auf den I2C Bus des RaspberryPi. Es sollte aber auch mit jedem Linux System, das zugriff auf den I2C über /dev/i2c-x bietet (BeagleBone und Cubieboard, etc.) funktionieren.

Die Module I2C_PCA9532 und I2C_PCF8574 bilden die Funktionen der jeweiligen IC's nach. Sie kommunizieren über das Modul RPII2C mit dem jeweiligen IC. Vorteil dieses Aufbaus ist, das für eine andere Hardware. z.B. das BeagleBone nur eine ein Modul (eine BBB Version des RPII2C) geschrieben werden muss und sofort sämtliche verfügbare I2C Module verwendbar sind.

RPII2C
Vorbereitung:

Für I2C grundsätzlich:

Pakete installieren
sudo apt-get install libi2c-dev i2c-tools build-essential

/etc/modules öffnen
sudo nano /etc/modules
folgende Zeilen einfügen
i2c-dev
i2c-bcm2708


/etc/modprobe.d/raspi-blacklist.conf  öffnen
sudo nano /etc/modprobe.d/raspi-blacklist.conf
folgende Zeile auskommentieren oder löschen
blacklist i2c-bcm2708

RPII2C benötigt das gpio Tool von wiringpi:
für andere Systeme (BeagleBone, etc.) oder alternativ für das Raspberry kann auch auf WiringPi verzichtet werden. In diesem Fall müssen die Dateien /dev/i2c-x Schreib-/Leserechte, für den User unter dem FHEM läuft, gesetzt bekommen. z.B. in der etc/init.d/fhem

und die Device::SMBus Bibliothek:

  • sudo cpan -i  Device::SMBus (dauert recht lang)

Neustart

Nun kann mit define <name> RPII2C 0|1 das Modul initialisiert werden. 0|1 entspricht dem I2C-Bus den man nutzen möchte.

Im Modul selbst kann man auch direkt I2C IC's beschreiben und auslesen:
get <name> read <i2cadresse>  [<register> [<nreg>]]
also get name read 8A 02 4 liest die Register 02 - 05 aus

set <name> writeByte <i2cadresse> <byte>
set <name> writeByteReg <i2cadresse> <register> <byte>
set <name> writeBlock <i2cadresse> <register> <byte> [<byte>...]



  • <i2cadresse>: I2C Adresse
  • <register>: Adresse des Registers, optional (mache IC's haben keine adressierbaren Register)
  • <nreg>: Anzahl der Register, die augelesen werden sollen, beginnend bei <register>
  • <byte>: Hexwert, der geschrieben werden soll

I2C_PCA9532/PCF8574

Danach können die anderen Module initialisiert werden:

define <name> I2C_.... <i2cadresse>

beide Module werden beim aufrufen in FHEMweb automatisch aktualisiert
die sets lassen sich über dropdown menüs auswählen

Module aktualisiert 28.2. (writeBlock schreibt nun auch Blockweise)
Beschreibung vervollständigt

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

MdeJong

Hallo,

Danke... Das ist genau das Modul was ich brauche.

Ich habe das Modul runter geladen, und alles installiert (das sudo cpan -i  Device::SMBus  hat viel zeit gekostet).

Kann es sein das "set i2c_bus writeBlock 40 05 03 80 80 80" nicht geht?

Grüße Mark,

klausw

was kommt denn für eine Fehlermeldung?

vielleicht sollte ich etwas weiter ausholen:
hast du den I2C Bus schon in Betrieb genommen?
also läuft i2cget / i2cset?
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

Puschel74

Hallo,

ZitatIch habe das Modul runter geladen,
Und auch in FHEM geladen?

reload 00_RPII2C
oder fhem neu starten erledigt das.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

MdeJong

Hallo,

Zitat von: klausw am 22 Februar 2014, 17:10:40
was kommt denn für eine Fehlermeldung?
Ich bekomme keinen fehler Meldung, auch steht nicht im Log file.

Zitat von: klausw am 22 Februar 2014, 17:10:40
vielleicht sollte ich etwas weiter ausholen:
hast du den I2C Bus schon in Betrieb genommen?
also läuft i2cget / i2cset?

Der I2c bus funktioniert, auch das device.

mit "sudo i2cset 0 0x44 0x05 0x03 0x80 0x80 0x80" funktioniert es auch, wie gewollt.

Grüße Mark,

klausw

Zitat von: MdeJong am 22 Februar 2014, 16:50:38
Kann es sein das "set i2c_bus writeBlock 40 05 03 80 80 80" nicht geht?

Zitat von: MdeJong am 22 Februar 2014, 18:52:17
mit "sudo i2cset 0 0x44 0x05 0x03 0x80 0x80 0x80" funktioniert es auch, wie gewollt.

ist das nur ein Tippfehler hier oder hast Du die falsche I2C Adresse eingegeben?

was steht im STATE nachdem Du set genutzt hast?
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

MdeJong

#6
Hallo,

Das ist kein Tippfehler, ich habe 5 gleiche Module am I2C Bus hängen jedes mit eine andere I2C Slave Adresse (0x40..0x44).

Der State ist vor dem Kommando Ok und auch danach Ok.

Sollte für das schreiben von einen Array nicht die funktion writeBlockData benutzt werden?

Grüße Mark,

klausw

Schade eigentlich ;)

Hast du am Ende neu gestartet?

writeBlockData hatte bei meinen Tests max. 4 Byte geschrieben.

bei set <name> writeBlock 40 05 03 80 80 80 wird auf I2C Adresse 0x40 als aufeinanderfolgende Byteoperationen:

  • in Register 0x05 ver Wert 0x03 geschrieben
  • in Register 0x06 ver Wert 0x80 geschrieben
  • in Register 0x07 ver Wert 0x80 geschrieben
  • in Register 0x08 ver Wert 0x80 geschrieben

hast du mal das lesen probiert, geht das?

stelle attr verbose mal auf 5 und schaue, was im log kommt

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

MdeJong

Hallo,

das ist genau das Problem, die Register werden einzeln, jedes Register wird separate addressiert:

<Start> <Slave Adresse> <Register Adresse> <Data Byte1> <Stop>
<Start> <Slave Adresse> <Register Adresse+1> <Data Byte2> <Stop>
<Start> <Slave Adresse> <Register Adresse+2> <Data Byte3> <Stop>
<Start> <Slave Adresse> <Register Adresse+3> <Data Byte4> <Stop>

was ich brauche ist:

<Start> <Slave Adresse> <Register Adresse> <Data Byte1> <Data Byte2> <Data Byte3> <Data Byte4> <Stop>

Viele I2C Slave Devices inkrementierten die Register Adresse nach jedes empfangene data Byte.

Grüße Mark,

klausw


writeBlockData ließe sich sicher noch einbauen.

allerdings sollte doch eigentlich beides funktionieren
also blockweises schreiben und auch byteweise ... das byteweise dauert etwas länger, da jedesmal eine neue Adresse übertragen wird aber so groß sind die Datenraten ja nicht.
Ob das I2C Device incrementiert oder der Registerpointer immer wieder neu gesetzt wird sollte eigentlich egal sein.

Oder übersehe ich was?
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

klausw

Testversionen

writeBlock wird als writeBlockData ausgeführt (funktioniert also nur, wenn der I2C IC die Registeradresse selbstständig nach jedem geschiebenen Byte erhöht)

und noch einiges in der Modulkommunikation

edit: aktuelle module im ersten post
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

MdeJong

Hallo Klaus,

Cool, ich habe gerade 00_RPII2C.pm getestet und es funktioniert.

Ich kann jetzt mit meine MODPWM Module kommunizieren.

Grüße Mark,

klausw

habe mal Dirks Drucksensormodul auf die schnelle so umgebaut, das es mit 00_RPII2C.pm funktioniert

dieses Modul funktioniert ausschließlich mit 00_RPII2C.pm

einbinden mit define <name> I2C_BMP180

Das Modul 51_I2C_BMP180.pm muss vor Nutzung gelöscht 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

Mitch

Hi Klaus,

habe es jetzt geschafft, die Bibliothek zu installieren.
Habe dann Dein Modul installiert und mal zwei Devices definiert (beide Channel).
Leider zeigen mir beide ERROR an und wenn ich mit read 0x40 den SHT21 auslesen will, kommt FFFFFFFFFFFFFFFF transmission: error

Was mach ich denn falsch?

Das kleine Programm vom Hersteller läuft, also funktioniert der SHT21
FHEM im Proxmox Container

klausw

Du musst auch die Registeradresse angeben, von der Du lesen möchtest.
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

Mitch

und wo bekomme ich diese her?
(sorry, bin totaler Noob, was das angeht)

Das "grundsätzliche" I2C Modul läuft und sagt initialized.

Das Device I2C_PCA9532 meldet transmission error
Das Device I2C_PCF8574 meldet initialized

Wie komme ich denn nun an die Werte für Temp und Hum?
FHEM im Proxmox Container

det.

Hallo klausw,
habe gerade mit besonderer Freude gelesen, dass Du Dich dem BMP180 gewidmet hast. Leider bekomme ich folgende Meldung beim Anlegen:
Drucksensor: no IO device defined
was kann (soll) ich tun?
LG
det.

klausw

Zitat von: Mitch am 28 Februar 2014, 21:32:59
und wo bekomme ich diese her?
(sorry, bin totaler Noob, was das angeht)

Das "grundsätzliche" I2C Modul läuft und sagt initialized.

Das Device I2C_PCA9532 meldet transmission error
Das Device I2C_PCF8574 meldet initialized

Wie komme ich denn nun an die Werte für Temp und Hum?
Du benötigst nur das generelle I2C Modul. Die anderen Beiden sind für die I2C Bausteine mit den entsprechenden Namen. Für den SHT gibt's noch keins. Die Register bekommst Du aus dem Datenblatt vom SHT. Mit read 40.... liegst du fürs erste Richtig
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

klausw

Zitat von: det. am 28 Februar 2014, 21:33:12
Hallo klausw,
habe gerade mit besonderer Freude gelesen, dass Du Dich dem BMP180 gewidmet hast. Leider bekomme ich folgende Meldung beim Anlegen:
Drucksensor: no IO device defined
was kann (soll) ich tun?
Hast Du auch das neue RPII2C aufgespielt?
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

det.

@klausw,
ja hatte ich schon, noch mal gemacht, Rechte der Dateien auf root geändert, shutdown restart -> gleiches Ergebnis
Der RPI ist allerdings noch mit einer Ordnerstruktur von FHEM 5.2 - aktuelles Update mit 5.5 drauf, aber FHEM liegt nicht unter /opt/.. sondern unter usr/share/fhem/FHEM
LG
det.

Mitch

so, ich komme der Lösung näher  :P

mit i2cdetect -y 0 erstmal festegestellt, dass der SHT21 die Adresse 0x36 hat.
Der Register ist 0xe7

Gebe ich in FHEM read 0x36 0xe7 ein, bekomme ich folgende Ausgabe:
00 transmission: Ok

Gebe ich auf dem RasPi i2cget -y 0 0x40 0xe7 ein, bekomme ich auch keine Werte:
0x00

FHEM im Proxmox Container

klausw

Zitat von: det. am 28 Februar 2014, 21:59:26
@klausw,
ja hatte ich schon, noch mal gemacht, Rechte der Dateien auf root geändert, shutdown restart -> gleiches Ergebnis
Der RPI ist allerdings noch mit einer Ordnerstruktur von FHEM 5.2 - aktuelles Update mit 5.5 drauf, aber FHEM liegt nicht unter /opt/.. sondern unter usr/share/fhem/FHEM
Da kenne ich mich zu wenig aus mit der Historie. Aber das sollte keine Rolle spielen. Versuche es mal mit dem Attribut IOdev
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

klausw

Zitat von: Mitch am 28 Februar 2014, 22:09:54
Gebe ich in FHEM read 0x36 0xe7 ein, bekomme ich folgende Ausgabe:

Gebe ich auf dem RasPi i2cget -y 0 0x40 0xe7 ein, bekomme ich auch keine Werte:
Was ich nicht verstehe ist, warum Du bei read und i2cget verschiedene Adressen verwendest. Hast Du ein Raspi Version A?
Aber einen Wert bekommst du ja, 00 ist ja auch was. ::)
Vermutlich gibt es auch noch mehr Register.
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

Mitch

Tipfehler  ::)

Ich bin etwas verwirrt mit der Adresse. Eigentlich sollte es 0x40 sein, aber laut i2cdetect ist es wohl 0x36.

Soweit ich weis, wird bei Rev. A Channel 1 benutzt, bei Rev. B Channel 2. Ich habe B.

Irgend etwas läuft da noch ganz verquer.
Muss das noch mal alles in Ruhe durchgehen.

Danke soweit.
FHEM im Proxmox Container

det.

Zitat von: klausw am 28 Februar 2014, 22:25:39
Versuche es mal mit dem Attribut IOdev
Hallo klausw,
keine Ahnung, wo ich IOdev in dem Fall setzen soll. Liegt es ggf. daran siehe Bild, dass der BNP180 bei den Clients nicht aufgeführt ist?



LG
det.

klausw

Zitat von: Mitch am 28 Februar 2014, 22:37:15
Irgend etwas läuft da noch ganz verquer.
Muss das noch mal alles in Ruhe durchgehen.
Mach das und kannst auch gern nen Modul basteln :))
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

klausw

Zitat von: det. am 28 Februar 2014, 22:40:10
Hallo klausw,
keine Ahnung, wo ich IOdev in dem Fall setzen soll. Liegt es ggf. daran siehe Bild, dass der BNP180 bei den Clients nicht aufgeführt ist?
Genau, aber das heisst Du hast nicht das neue 00_RPII2C.pm aus dem ersten Post hast. Die hatte ich heute aktualisiert.
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

det.

Hallo Klaus,
ich hatte aus Antwort #11 am: 25 Februar 2014, 00:59:03 »das Modul genommen und fälschlicherweise gedacht, das wäre die neuste Version. Das liegt daran, das ich die Foreneinträge anders herum sortieren lasse. Da ist der 1. Eintrag am Ende.
Kurz: DANKE!!! es geht!
LG
det.

klausw

Zitat von: Mitch am 28 Februar 2014, 22:37:15
Irgend etwas läuft da noch ganz verquer.
Muss das noch mal alles in Ruhe durchgehen.

Ich habe einen kurzen Blick ins Datenblatt geworfen.
Den Messvorgang musst du erst anstoßen, vermutlich ist das Register mit dem Ergebnis sonst leer.
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

Mitch

Danke Klaus, das habe ich dazu gefunden:

Temp Messung starten: 0xF3
Hum Messung starten: 0xF5

Soft Reset: 0xFE

Aber mehr bzw. Auslesen habe ich noch nicht hinbekommen  :'(
FHEM im Proxmox Container

klausw

Zitat von: Mitch am 02 März 2014, 22:29:23
Danke Klaus, das habe ich dazu gefunden:

Temp Messung starten: 0xF3
Hum Messung starten: 0xF5

Soft Reset: 0xFE

Aber mehr bzw. Auslesen habe ich noch nicht hinbekommen  :'(

Ich habe mit mal 2 SHT21 bestellt. Demnächst wird es ein Modul dafür geben.
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

klausw

Zitat von: Mitch am 02 März 2014, 22:29:23
Danke Klaus, das habe ich dazu gefunden:

Temp Messung starten: 0xF3
Hum Messung starten: 0xF5

Soft Reset: 0xFE

Aber mehr bzw. Auslesen habe ich noch nicht hinbekommen  :'(
Die Lektüre des Datenblattes hilft ungemein ;)
Du musst erst den Messvorgang anstoßen, kurz warten und dann die Daten holen.
Ich habe ein Modul dazu geschrieben: Klick Im gleichen Post ist auch das passende RPII2C Modul.
Sobald die letzten Fragen geklärt sind wir es zu FHEM dazugefügt.
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

klausw

Das Modul I2C_BMP180 (per update aus dem SVN) unterstützt jetzt auch die physical. Module für I2C Zugriff.
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

Apollo

Jetzt bekomme ich den SMBus über CPAN gar nicht mehr installiert, weder mit libmoose-perl noch ohne.
Das bricht immer ab.
Going to write /root/.cpan/Metadata
Running install for module 'Device::SMBus'
Running make for S/SH/SHANTANU/Device-SMBus-1.06.tar.gz
Fetching with LWP:
http://cpan.noris.de/authors/id/S/SH/SHANTANU/Device-SMBus-1.06.tar.gz
Fetching with LWP:
http://cpan.noris.de/authors/id/S/SH/SHANTANU/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/S/SH/SHANTANU/Device-SMBus-1.06.tar.gz ok
Uncompressed /root/.cpan/sources/authors/id/S/SH/SHANTANU/Device-SMBus-1.06.tar.gz successfully
Using Tar:/bin/tar xf "Device-SMBus-1.06.tar":
Couldn't untar Device-SMBus-1.06.tar
Package seems to come without Makefile.PL.
  (The test -f "/root/.cpan/build/SHANTANU-TtqhAX/Makefile.PL" returned false.)
  Writing one on our own (setting NAME to DeviceSMBus)
  Had problems unarchiving. Please build manually
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install


klausw

Zitat von: Apollo am 31 März 2014, 16:13:59
Going to write /root/.cpan/Metadata
Using Tar:/bin/tar xf "Device-SMBus-1.06.tar":
Couldn't untar Device-SMBus-1.06.tar


hat er die Datei überhaupt runtergeladen?
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

Apollo

Ja, die Datei ist vorhanden. er hat ja auch geschrieben:
Checksum for /root/.cpan/sources/authors/id/S/SH/SHANTANU/Device-SMBus-1.06.tar.gz ok

jetzt schreibt er auch noch was anderes
pi@raspberrypi ~ $ sudo -s
root@raspberrypi:/home/pi# cpan -i  Device::SMBus
Going to read '/root/.cpan/Metadata'
  Database was generated on Mon, 31 Mar 2014 14:10:37 GMT
Running install for module 'Device::SMBus'
Running make for S/SH/SHANTANU/Device-SMBus-1.06.tar.gz
Checksum for /root/.cpan/sources/authors/id/S/SH/SHANTANU/Device-SMBus-1.06.tar.gz ok

  CPAN.pm: Going to build S/SH/SHANTANU/Device-SMBus-1.06.tar.gz

Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
'YAML' not installed, will not store persistent state
  SHANTANU/Device-SMBus-1.06.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install

klausw

Hast du sudo apt-get update gemacht?

Probiere mal:
sudo apt-get install libi2c-dev i2c-tools build-essential libmoose-perl
vielleicht fehlt noch ein Paket
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

Apollo

Also ich weiß nicht wo das Problem ist, hab jetzt alles so gemacht, wie vor ein paar Tagen.

- frisches Raspbian (vom 07.01.2014)
- sudo dpkg-reconfigure tzdata (Europa- Berlin)
- sudo dpkg-reconfigure locales (de_DE.UTF-8 UTF-8)
- sudo apt-get -y update && sudo apt-get -y upgrade
- sudo reboot

FHEM Installation wie im Wiki beschrieben.
- sudo apt-get -y install perl libdevice-serialport-perl
- sudo apt-get -y install libio-socket-ssl-perl
- wget  http://fhem.de/fhem-5.5.deb
- sudo dpkg -i fhem-5.5.deb
- sudo apt-get -y install -f

Dann nach der Anleitung von Seite1.
- sudo apt-get -y install libi2c-dev i2c-tools build-essential
- echo "i2c-dev" | sudo tee -a /etc/modules
- echo "i2c-bcm2708" | sudo tee -a /etc/modules
- sudo sed -i 's/^blacklist i2c-bcm2708/#blacklist i2c-bcm2708/g' /etc/modprobe.d/raspi-blacklist.conf
- sudo apt-get install git-core
- git clone git://git.drogon.net/wiringPi
- cd wiringPi
- ./build
- sudo adduser fhem gpio
- sudo cpan -i  Device::SMBus

Nach einer Weile kommt der Abbruch siehe 4 Beiträge weiter oben.
Was mache ich falsch?

Bis auf das libmoose-perl waren schon alle Pakete installiert. Ich hab die Pakete aber noch mal installieren/prüfen lassen, aber keine Änderung, cpan bricht ab.

klausw

schau mal hier

bei mir ging es bisher immer, aber das entpacken lief bei deinem erstem post ja auch schief
vielleicht geht es manuell
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

Apollo

ok, das war ja schon mal zum Teil erfolgreich.
Das manuelle Installieren ging scheinbar, das Modul RPII2C. Über dieses Modul kann ich den PCF8574 steuern.
Aber sobald ich diese Zeile
define busic I2C_PCF8574 20
eingebe, schmiert FHEM mit folgender Meldung (in der Konsole) ab:
Unable to open I2C Device File at Device::SMBus=HASH(0x3063800)->I2CBusDevicePath at reader Device::SMBus::I2CBusFileHandle (defined at /usr/local/lib/perl/5.14.2/Device/SMBus.pm line 36) line 7
(in cleanup) Unable to open I2C Device File at Device::SMBus=HASH(0x3063800)->I2CBusDevicePath at reader Device::SMBus::I2CBusFileHandle (defined at /usr/local/lib/perl/5.14.2/Device/SMBus.pm line 36) line 7

klausw

Die Fehler werden eigentlich vom Device::SMBus abgefangen.
Die Anleitung ist noch nicht ganz vollständig. Gib für eine Hexadresse bitte 0x20 ein
Hast Du nach der Installation neu gestartet?
Was passiert denn, wenn du im Modul RPII2C bei get die 20 einträgst?

Habe es gerade nachstellen können, allerdings nur mit einem nicht existierenden Device (2 für /dev/i2c-2)
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

Apollo

Ah, OK. Du hast die Adresseingabe geändert. Mit der 32 hab ich jetzt Zugriff.
So, nun mach ich den RPI noch mal platt, hab so viel probiert, dass ich gar nicht mehr weiß, was alles notwendig ist.

danke für deine Unterstützung

klausw

ja, haben wir
steht hier auch irgendwo im thread
du kannst dezimal hexadezimal und binär eingeben allerdings muss das präfix stimmen.
die Beschreibung wird beim nächsten update angepasst

aber zum absturz bekomme ich es mit einer falschen i2c adresse nicht

wenn Du noch einen Fehler in der Installationsbeschreibung findest bitte 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

Apollo

hier mal mein Installationsscript, vom frischen Raspbian zum laufenden FHEM mit I2C und GPIO
ssh: wget -q http://binichschondrin.info/install && chmod 755 install && ./install

Browser: http://<ip>:8083/fhem
Komandozeile: notice confirm update-20130127-001
Komandozeile: update

Apollo

lässt sich das bei der 52_I2C_PCF8574.pm eventuell einbauen, dass man gleich mehrere Ports schalten kann?
set PCF8574 Port0,Port2,Port4,Port6 on

klausw

Zitat von: Apollo am 07 April 2014, 11:17:52
lässt sich das bei der 52_I2C_PCF8574.pm eventuell einbauen, dass man gleich mehrere Ports schalten kann?
set PCF8574 Port0,Port2,Port4,Port6 on
Lässt sich, wenn ich's nicht vergesse kannst Du es morgen über Update holen ;)
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

Owel

Hey, coole Sache!

Ich nutze diese Output-Platine um meine Stromstoßrelais im Verteilerkasten zu schalten.

Bisher habe ich mir dafür dummys gebastelt die direkt ein eigenes Script ansprechen.

Jetzt möchte ich mal dein Modul ausprobieren.
Die Platine muss hierfür nur kurze Stromstöße auf die Relais geben.
D.h. Ich muss immer ein
set <name> <port> on
set <name> <port> off

machen oder?

Cool wäre ein
set <name> <port> pulse

:)

Grüße
Owel

klausw

Wenn Du readingsProxy verwendest um die Stromstoßrelais einzeln in FHEM darzustellen dann kannst Du on-for-timer verwenden (readingsProxy unterstützt die setExtensions).
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

Owel

Ja Readingsproxy ist eine gute idee hierfür.

Allerdings stehe ich vor dem Problem, dass ich einen input 8574 und einen Output 8574 habe.

Das heißt, dass ich die readings vom input brauche, aber die sets vom output.
Kannst du mir da weiterhelfen wie ich das in den Readingsproxys hinbekomme?

Danke
Owel

Edit:
habe es hinbekommen :)
define Kueche readingsProxy EG_IN:Port0
attr Kueche room Licht
attr Kueche setFn {($CMD eq "off")?fhem("set EG_OUT Port0 off"):fhem("set EG_OUT Port0 on")}
attr Kueche setList on off
attr Kueche valueFn {($VALUE == "on")?"off":"on"}
define EG_OUT I2C_PCF8574 0x23
attr EG_OUT IODev I2C_IO
attr EG_OUT room Licht

klausw

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

fgerhardt

@klausw:  würdest Du das poll_intervall beim I2C_PCF8574 von Minuten auf Sekunden ändern?
Minutenintervalle sind für meine Öffnungsmelder einfach zu lang und nach jedem Update wieder manuell nachbessern ist nicht wirklich praktikabel.

Friedhelm

klausw

Zitat von: fgerhardt am 09 April 2014, 12:41:58
@klausw:  würdest Du das poll_intervall beim I2C_PCF8574 von Minuten auf Sekunden ändern?
Minutenintervalle sind für meine Öffnungsmelder einfach zu lang und nach jedem Update wieder manuell nachbessern ist nicht wirklich praktikabel.

Die Frage ist: wozu?
Vermutlich möchtest Du die Ports an Eingänge verwenden. Dann empfehle ich Dir den Interrupt Ausgang vom PCF auf einen GPIO des Raspberry zu legen und darüber einen notify auszulösen.

Mit Abfragen im Sekundentakt lastest Du Dein System gut aus. Allerdings sollten auch Kommawerte (z.B. 0.01 für 0,6s) im poll_intervall funktionieren.

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

fgerhardt

Die Anwendung ist ein Relikt aus der Vergangenheit. Per I2C-Adapter wurde meine Alarmanlage abgefragt. Das ganze lief auf einem alten Notebook unter windows95. Die Adapterlogik zwischen dem Druckerport und SCL / SDA habe ich jetzt entfernt und gehe über eine Pegelanpassung auf den i2c bus des rpi. Bei 16 Eingängen macht das System noch mit, aber Interruptsteuerung ist sicher der bessere Weg. Da muss ich über eine Änderung nachdenken.
poll_intervall = 0.02 mit 1,2 Sekunden funktioniert aber erst einmal.

Friedhelm

MrFusion

Hallo Klaus

gibt es eigentlich schon ein Modul für den MCP23017 ?
Ich bin leider nicht so fit, dass die das Modul für den MCP23017 anpassen kann.

danke im voraus !!!
FHEM, MQTT, Node-Red, MySQL, MongoDB > Docker
RaspPi Rev. B, SonOff, Shelly, ESP, Tasmota, ds18s20,  MCP23017, NodeMCU, Homematic, DiskStatus Script (MQTT)

klausw

Zitat von: MrFusion am 19 Mai 2014, 23:14:27
Hallo Klaus

gibt es eigentlich schon ein Modul für den MCP23017 ?
Ich bin leider nicht so fit, dass die das Modul für den MCP23017 anpassen kann.

danke im voraus !!!
hier
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

MrFusion

Danke ... nächstes mal benutze ich die Suche ... ich versprech's  ::)
FHEM, MQTT, Node-Red, MySQL, MongoDB > Docker
RaspPi Rev. B, SonOff, Shelly, ESP, Tasmota, ds18s20,  MCP23017, NodeMCU, Homematic, DiskStatus Script (MQTT)

thobastian


klausw

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

klausw

Hier gibt es eine neue Version des RPII2C Moduls. Es sollte ohne zusätzliche Library (Device::SMBus) funktionieren. Auch die Nutzung dem I2C am P5 Header sollte jetzt funktionieren
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,

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.

Wie weiter oben beschrieben, möchte ich auch Eltakos mit fhem ansteuern und dieses i2c-Teil scheint mir ideal.

Welchen Test könnte ich machen um dem Fehler auf die Spur zu kommen?

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

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,

klausw

Die Konfiguration der I2C Module wäre hilfreich.

Aber 2 Dinge sind mir dennoch aufgefallen:

/dev/i2c-0 ist der falsche I2C Bus (ich glaube der wird für das Kameramodul verwendet)
schließlich suchst du auf dem i2c-1: i2cdetect -y 1

Der Bus könnte auch blockiert sein. Dazu fehlt mir allerdings das Detailwissen.
Spontan würde ich aber sagen, das der S.USV Dämon nicht laufen sollte.
S.USV still Daemon running... PID: 390
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

Tobias

Hi,

kann einer kurz Erklären wozu man das I2C-EEPROM Modul brauchen könnte?

Jetzt meine eigentliche Frage: Ist das RPII2C FHEM2FHEM-fähig im RAW Modus? (Im Log Modus funktionierts)
Hintergrund: Ich habe einen abgesetzten Raspi mit Helligkeits- und Luftdrucksensor. Die funktionieren mit den I2C Modulen auch super. Der Raspi ist aktuell per FHEM2FHEM im Log Modus an meine FHEM Installation angebunden. Funktioniert perfekt.
Nun möchte ich ein i2C I/O Board anbinden, das wird mit dem I2C_PCF8574 Modul funktionieren. Damit ich es aber von meinem Haupt FHEM schalten und einbinden kann, benötige ich IMHO eine FHEM2FHEM anbindung im RAW Modus. Geht das? Soweit ich weiß sind die Module ja nach physisch (RPII2C) und logisch (I2C_xxxx) getrennt
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

klausw

Zitat von: Tobias am 29 Mai 2017, 20:09:32
kann einer kurz Erklären wozu man das I2C-EEPROM Modul brauchen könnte?

um einen EEPROM zu beschreiben und zu lesen  8)

Auf dem UniPi ist halt ein I2C-EEPROM drauf. Dafür hatte ich das Modul geschrieben.
Ein praktisches Szenario wie er sinnvoll genutzt werden kann habe ich allerdings nicht.

Zitat von: Tobias am 29 Mai 2017, 20:09:32
Jetzt meine eigentliche Frage: Ist das RPII2C FHEM2FHEM-fähig im RAW Modus? (Im Log Modus funktionierts)
Hintergrund: Ich habe einen abgesetzten Raspi mit Helligkeits- und Luftdrucksensor. Die funktionieren mit den I2C Modulen auch super. Der Raspi ist aktuell per FHEM2FHEM im Log Modus an meine FHEM Installation angebunden. Funktioniert perfekt.
Nun möchte ich ein i2C I/O Board anbinden, das wird mit dem I2C_PCF8574 Modul funktionieren. Damit ich es aber von meinem Haupt FHEM schalten und einbinden kann, benötige ich IMHO eine FHEM2FHEM anbindung im RAW Modus. Geht das? Soweit ich weiß sind die Module ja nach physisch (RPII2C) und logisch (I2C_xxxx) getrennt

Mit FHEM2FHEM kenne ich mich nicht aus.
Ich nutze zwar AssignIoPort um ein passendes physikalisches Modul zu finden, aber die Kommunikation läuft über die eigenen Funktionen I2CWrtFn (im physical, wird z.B. von I2C_PCF8574 aufgerufen) und I2CRecFn (im logischen Modul, dorthin liefert RPII2C die Antwort).
IOWrite und Dispatch waren für die Belange von I2C nicht geeignet.
Daher kannst du nur probieren ob es geht. Evtl. lässt sich FHEM dahingehen aufboren.
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

DAT_K

Hallo,
ich habe wie in Beitrag #70 auch das Problem des "defined" - Status von meinen Geräten nach Neuinitialisierung von Fhem. Weiß jemand warum das sein kann?

klausw

das ist seltsam, nach einem globalen INITIALIZED oder REREADCFG müssten sämtliche I2C Devices automatisch neu initialisiert werden
Was kommt denn mit verbose 5 beim Neustart?
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