Modul RPII2C lässt sich nicht laden

Begonnen von mw_fhem, 06 Juni 2014, 11:43:50

Vorheriges Thema - Nächstes Thema

mw_fhem

Hallo zusammen,

ich habe nach der Anleitung in der commandref alle Dinge installiert und eingerichtet, die für die Benutzung des RPII2C-Moduls nötig sind. Allerdings bekomme ich nach Speichern der cfg-Datei die Meldung "Cannot load module RPII2C".
Im log-File sind folgende zwei Einträge zu finden:



2014.01.09 09:52:14 1: reload: Error:Modul 00_RPII2C deactivated:
Can't locate Device/SMBus.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/00_RPII2C.pm line 8, <$fh> line 57.
BEGIN failed--compilation aborted at ./FHEM/00_RPII2C.pm line 8, <$fh> line 57.

2014.01.09 09:52:14 0: Can't locate Device/SMBus.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/00_RPII2C.pm line 8, <$fh> line 57.
BEGIN failed--compilation aborted at ./FHEM/00_RPII2C.pm line 8, <$fh> line 57.




Sitzt der Fehler wie so oft davor?

Gruß

RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

Joachim

FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

klausw

Die Fehlermeldung weist darauf hin, das die SMBus Bibliothek nicht gefunden wurde.
Bist du sicher, alles was in der commandref unter preliminary steht, abgearbeitet zu haben?
Vielleicht hast du die letzte Zeile vergessen, oder es gab eine Fehlermeldung bei der Installation.
Führe folgende Befehle nochmal aus und schaue auf die Meldungen in der Konsole.
sudo apt-get install libmoose-perl
sudo cpan Device::SMBus
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

mw_fhem

Ja, commandref hatte ich gelesen ... ;)
Und ich hatte auch alle Dinge abgearbeitet. Nach erneutem Ausführen von
sudo apt-get install libmoose-perl
sudo cpan Device::SMBus


bekomme ich im Terminal folgende Meldung (letzter Teil):
false
make: *** [Makefile] Fehler 1
  SHANTANU/Device-SMBus-1.06.tar.gz
  /usr/bin/make -- NOT OK
'YAML' not installed, will not store persistent state
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible


Muss ich dieses YAML noch installieren?
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

klausw

ich kann mich nicht erinnern es installiert zu haben.
Der Fehler scheint aber schon beim Make aufzutreten. Einige Leute hatten
Versuche mal eine manuelle Installation:

cd ~
wget -q http://cpan.metacpan.org/authors/id/S/SH/SHANTANU/Device-SMBus-1.06.tar.gz
tar xzf Device-SMBus-1.06.tar.gz
cd Device-SMBus-1.06
sudo perl Makefile.PL
sudo make test
sudo make install
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

mw_fhem

Beim Aufruf von "make test" bekomme ich folgendes:

make: Warning: File `/usr/lib/perl/5.14/Config.pm' has modification time 6,2e+06 s in the future
Makefile out-of-date with respect to /usr/lib/perl/5.14/Config.pm /usr/lib/perl/5.14/CORE/config.h
Cleaning current config before rebuilding Makefile...
make -f Makefile.old clean > /dev/null 2>&1
/usr/bin/perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Device::SMBus
Writing MYMETA.yml
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command.  <==
false
make: *** [Makefile] Fehler 1


Er scheint irgendein Zeitproblem zu haben. Liegt es daran, dass meine Pi-Systemzeit nicht korrekt synchronisiert wird?
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

klausw

das bekommst Du mitdate raus

hast du am Anfang sudo apt-get update gemacht?
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

mw_fhem

Ja, ein update hatte ich gemacht. Habe soeben nach einem reboot das ganze nochmal manuell versucht => gleiches Verhalten :-\
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

klausw

hier sind die einzelnen Schritte mit Ausgabe beschrieben.
vielleicht klappt beim makefile schon etwas nicht
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

mw_fhem

Danke für den Link, aber das ist mir irgendwie zu hoch :-[
Ich habe es nochmal versucht (inkl. reboot), er will nicht. Ich werde die Nutzung des sicher guten I2C-Moduls erst mal zurückstellen.
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

klausw

Zitat von: mw_fhem am 06 Juni 2014, 15:03:16
Danke für den Link, aber das ist mir irgendwie zu hoch :-[
Ich habe es nochmal versucht (inkl. reboot), er will nicht. Ich werde die Nutzung des sicher guten I2C-Moduls erst mal zurückstellen.
das ist doch einfach ;)
Da sind zu den Befehlen
sudo perl Makefile.PL
sudo make test
sudo make install

nur die Ausgaben gelistet
Da kannst Du vergleichen, wo der Unterschied liegt.
Von welchem Datum ist Dein Raspbian Image?
Am besten wäre dann, wenn Du ein aktuelles Raspbian aufsetzt. Bei den Releases vom letzten Jahr hatte ich auch Probleme.
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

mw_fhem

Ich werde es am Wochenende nochmal versuchen. Mein Raspbian ist auf meinem Test-Pi von dieser Woche (also eigentlich hochaktuell). Könnte es damit zu tun haben, dass ich auch I2C-Module für Python installiert habe? Vielleicht behindern die sich!?
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

klausw

Zitat von: mw_fhem am 06 Juni 2014, 15:25:46
Vielleicht behindern die sich!?
kann ich mir nicht vorstellen
aber vielleicht hast Du beim probieren irgendwas verbogen
Das Image ist auch ein aktuelles von der raspberry homepage?

Apollo hat hier ein script zur Verfügung gestellt, das auf einem frischen Raspbian alles notwendige zu installieren.
Du kannst das ja mal mit einer neuen Installation versuchen.
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

mw_fhem

So, ich melde mich wieder...
Das image war von der Rsp-Hpmepage.
Wenn ich die Ausgabe nach dem Test richtig verstehe:
make: Warning: File `/usr/lib/perl/5.14/Config.pm' has modification time 6,2e+06 s in the future
Makefile out-of-date with respect to /usr/lib/perl/5.14/Config.pm /usr/lib/perl/5.14/CORE/config.h
Cleaning current config before rebuilding Makefile...
make -f Makefile.old clean > /dev/null 2>&1
/usr/bin/perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Device::SMBus
Writing MYMETA.yml
==> Your Makefile has been rebuilt. <==
==> Please rerun the make command.  <==
false
make: *** [Makefile] Fehler 1

... wurde zunächst ein Fehler/eine Warnung entdeckt, die aber durch Cleaning behoben wurde. Am Ende wird das Kit geprüft und mit "looks good" doch für gut befunden!? Allerding bleibt das "false" am Ende stehen. Nach "make install" das gleiche Problem.
Ein komplette Neu-Installation über den Link getht sicher prima, allerdings müsste ich das auch für mein aktives FHEM-System machen, was einiges an neuer Arbeit bedeuten würde.  :-[
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

Joachim

Zitat==> Please rerun the make command.  <==
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

mw_fhem



... habe ich gemacht, aber mit dem gleichen Ergebnis.
RasPi mit FHEM, Wettersensoren über WDE1, UP-Schalter und Thermostate über CUL

thobastian

Also bei mir habe ich genau das gleiche Problem.
Meinen Raspi habe ich auch vollkommen nackt gemacht und mit Script von Apollo configuriert.

gleicher Fehler. Siehe File.

klausw

Zitat von: thobastian am 15 Juni 2014, 22:46:48
Also bei mir habe ich genau das gleiche Problem.
Meinen Raspi habe ich auch vollkommen nackt gemacht und mit Script von Apollo configuriert.

gleicher Fehler. Siehe File.
Wo ist denn das der gleiche Fehler?
Du solltest mal in FHEM ein Update ausführen. Die Module, die Du nutzen willst müssen auch installiert sein 8).
Ob die SMBus Bibliothek funktioniert wirst Du erst danach sehen.
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

thobastian

#18
Danke Klausw,
das ist es gewesen. Aber mir erst absolut unklar, wie und ob ich ein FHEM-Update machen kann. Ich dachte, mit dem Laden der neuesten Veriosn habe ich auch die neuesten Updates.
So kann man sich irren....

Nun habe ich nur noch die Anzeige von "???" bei den Interrupts. Ist das normal ? Was und wie kann ich das überprüfen ?

Schöne Grüße
Thomas

PS: Ich habe die Interrupt-Leitung nicht mit dem Raspberry verbunden. Welchen Nutzen hat das? Paßt vielleicht gut zur obigen Frage.

Puschel74

Hallo,

ZitatAber mir erst absolut unklar, wie und ob ich ein FHEM-Update machen kann. Ich dachte, mit dem Laden der neuesten Veriosn habe ich auch die neuesten Updates.
Nein.
5.5 war zu Releasedatum aktuell.

Da FHEM aber "lebt" kannst du deine Installation nur per update aktuell halten.
Ich muss nochmal schauen aber ich meine das Uli das in seinem Einsteiger.pdf erwähnt hat

Aber du bist ja jetzt auch drauf gekommen  ;)

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.

klausw

Zitat von: thobastian am 17 Juni 2014, 15:59:51
Nun habe ich nur noch die Anzeige von "???" bei den Interrupts. Ist das normal ? Was und wie kann ich das überprüfen ?

PS: Ich habe die Interrupt-Leitung nicht mit dem Raspberry verbunden. Welchen Nutzen hat das? Paßt vielleicht gut zur obigen Frage.
Bei welchen Interrupts denn?
Im RPII2C gibt es keine Interrupts. Da bringst Du scheinbar was durcheinander.
Du kannst allerdings den Interruptausgang von einem Portextender nutzen, indem Du ihn an einen Raspberry GPIO Port anklemmst.
Das macht Sinn, wenn du die Ports vom Portextender als Eingänge nutzt. Der Interrupt meldet eine Pegeländerung und Du liest darauf hin alle Eingänge aus.
Das ist Ressourcenschonender als den Portextender im Sekundentakt abzufragen.
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

#21
Hier eine Testversion vom RPII2C Modul.
Die sollte auch auf cubie, BBB etc. laufen (dort müssen nur die /dev/i2c-x Dateien vor FHEM start vorhanden und mit schreib/leserechten ausgestattet sein)

Neuerungen:
- es sollte auch ohne die Installation von Device::SMBus laufen (Zugriff erfolgt über ioctl und syswrite/read)
  über das Attribut useHWLib kann man weiterhin noch SMBus nutzen (sofern installiert)
  (läuft bei mir)
- Nutzung des I2C-0 ohne hipi
  über das Attribut swap_i2c0 kann der I2C-0 von J5(Kameraconnektor) auf P5 umgemappt werden
  (sollte funktinieren, kann es aber nicht testen)

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

thobastian

Zitat von: klausw am 18 Juni 2014, 00:32:22
Bei welchen Interrupts denn?
Im RPII2C gibt es keine Interrupts. Da bringst Du scheinbar was durcheinander.
Du kannst allerdings den Interruptausgang von einem Portextender nutzen, indem Du ihn an einen Raspberry GPIO Port anklemmst.
Das macht Sinn, wenn du die Ports vom Portextender als Eingänge nutzt. Der Interrupt meldet eine Pegeländerung und Du liest darauf hin alle Eingänge aus.
Das ist Ressourcenschonender als den Portextender im Sekundentakt abzufragen.
Auf der UNSORTED Seite stehen unter MCP23017 drei Zeilen->
i2cBus
icMCP23017
Interrupt         ???

Bei Interrupt steht diese 3 Fragezeichen. Kann ich die wegbekommen ? Welche Anschlüsse zwischen Raspi und MCP müssen verkabelt werden ?

klausw

Die MCP23017 relevanten Fragen hier stellen

Zitat von: thobastian am 18 Juni 2014, 11:27:15
Auf der UNSORTED Seite stehen unter MCP23017 drei Zeilen->
i2cBus
icMCP23017
Interrupt         ???

Bei Interrupt steht diese 3 Fragezeichen. Kann ich die wegbekommen ? Welche Anschlüsse zwischen Raspi und MCP müssen verkabelt werden ?
Unter MCP23017? Hast Du eine Gruppe mit diesem Namen angelegt? Mach mal bitte nen Screenshot davon.
Das Gerät mit dem Namen Interrupt hast Du sicher selbst angelegt. Ich weiss daher nicht, welches Modul sich dahinter verbirgt.
Poste die Config mal.
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

thobastian

Alles klar, habe ich anbei gelegt.
;-)

klausw

Zitat von: thobastian am 18 Juni 2014, 12:26:59
Alles klar, habe ich anbei gelegt.
;-)
Das hast Du Dir sicher irgendwo her kopiert. Vielleicht solltest Du auch an dieser Stelle schauen, was da eigentlich passiert  8)
Das Interrupt bei Dir hat nur ansatzweise was mit RPII2C zu tun.
In Wirklichkeit ist es ein GPIO Port vom Raspi. Da dieser als Interrupt Eingang konfiguriert ist, wird dieser nur bei einem Pinwechsel selbsttätig aktualisiert. Mit "set Interrupt readValue" solltest Du es aber auch manuell aktualisieren können (nur wozu?).
Deiner Konfig entnehme ich, das Du an Bank B Sensoren dran hast. Also musst Du Pin INTB (oder auch INTA da du mit connected_active-low beide intern verbunden hast) von MCP23017 mit GPIO 4 vom Raspi verbinden.
Dann löst eine Pegeländerung an B0 oder B1 ein Toggeln von INTB aus. Das wird über GPIO4 registriert, der dann über fhem ("get icMCP23017") den MCP23017 ausliest.
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

thobastian

richtig, hieraus-> http://forum.fhem.de/index.php/topic,23164.msg172234.html#msg172234

Ich weiß, dass da noch ein paar Einstellungen drin sind, die ich vielleicht brauche. Ich wollte sie zum Test in der Config lassen, um auch Invertierungen etc. testen zu können.

Die Erklärung zum Interrupt hast Du gut erklärt. Ich danke Dir!  Das ist eine sinnvolle Sache. Das werde auf jeden Fall einbauen.
Jetzt muss ich nur noch mein Wlan zum Laufen bekommen, der Raspi zickt da gerade herum. Aber das ist eine andere Sache.

Schöne Grüße
Thomas


thobastian

Kommt die Weboberfläche nicht so ganz mit den Zustandsänderungen mit ? Ich drücke den Schalter, die Lampe leuchtet, aber auf der Webseite bleibt alles beim alten.

klausw

Zitat von: thobastian am 19 Juni 2014, 21:51:32
Kommt die Weboberfläche nicht so ganz mit den Zustandsänderungen mit ? Ich drücke den Schalter, die Lampe leuchtet, aber auf der Webseite bleibt alles beim alten.

Kannst du denn direkt im MCP23017 Modul alles korrekt bedienen?
Ich denke es liegt an Deiner readingsproxy Konfig.

Eine Sache ist mir aufgefallen:
define prxPortA1 readingsProxy icMCP23017:PortA1
attr prxPortA1 group OutputPorts
attr prxPortA1 setFn {($CMD eq "on")?"[color=red]PortA0[/color] off":"PortA1 on"}
attr prxPortA1 setList on off
attr prxPortA1 valueFn {($VALUE eq "on")?"off":"on"}


z.B. bei Port PortA1 solltest Du auch diesen schalten und nicht PortA0.
Der Fehler ist bei fast allen Pins drin.
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