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ß
ja, commandref lesen!
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
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?
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
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?
das bekommst Du mitdate
raus
hast du am Anfang sudo apt-get update
gemacht?
Ja, ein update hatte ich gemacht. Habe soeben nach einem reboot das ganze nochmal manuell versucht => gleiches Verhalten :-\
hier (http://forum.fhem.de/index.php/topic,19797.msg153614.html#msg153614) sind die einzelnen Schritte mit Ausgabe beschrieben.
vielleicht klappt beim makefile schon etwas nicht
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.
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.
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!?
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 (http://forum.fhem.de/index.php/topic,20452.msg154861.html#msg154861) 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.
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. :-[
Zitat==> Please rerun the make command. <==
... habe ich gemacht, aber mit dem gleichen Ergebnis.
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.
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.
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.
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 hatAber du bist ja jetzt auch drauf gekommen ;)
Grüße
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.
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)
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 ?
Die MCP23017 relevanten Fragen hier (http://forum.fhem.de/index.php/topic,23164.45.html) 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.
Alles klar, habe ich anbei gelegt.
;-)
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.
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
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.
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.