Neues Modul i2cBMP180

Begonnen von Dirk, 21 Juli 2013, 23:52:20

Vorheriges Thema - Nächstes Thema

Dirk

Hallo Michael,

deine Ausgabe von i2cdetect -y 0 sieht eigntentlich gut aus.
Auf Adresse 0x77 wird der Sensor gefunden.

Kannst du mal in den Log schauen warum FHEM abstürzt. Und den entsprechenden Teil hier posten.

Gruß
Dirk

Michael

Hallo Dirk

Im Logfile finde ich nur eine Meldung ( DS: CUL ) die ich nicht kenne.
Alle anderen Meldung sind mir bekannt und auch keine Fehler.

Ach so, das ist die Fhem Version:
 (version Fhem 5.4 (DEVELOPMENT), $Id: fhem.pl 3660 2013-08-10 08:51:31Z rudolfkoenig $, pid 1965)

PS. Wenn ich das (define BMP180 I2C_BMP180 /dev/i2c-0) alleine in die Fhem.cfg eintrage
und save Drücke bekomme ich die Meldung das die Webseite nicht reichbar ist.  
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

PeMue

Hallo Michael,

das liegt vermutlich an den fehlenden root Rechten auf dem I2C Bus. Bei mir funtioniert aus mir noch nicht bekannten Gründen die udev Regel nicht.
Pack mal folgendes in /etc/init.d/fhem (Zeile 2 bis 4) rein
case "$1" in
'start')
        echo "Enabling I2C on P5 ..."
        sudo hipi-i2c e 0 1
        sudo chown fhem:root /dev/i2c-0
        echo "Starting fhem..."
        perl fhem.pl fhem.cfg
        RETVAL=$?
        ;;

Viel Erfolg

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Michael

Hallo PeMue

Danke[/color]

Das war 's.
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

C64Emulator

Zitat von: betateilchen schrieb am Di, 30 Juli 2013 21:42die korrekte Zeile für die rules Datei besteht nur aus den zwei Teilen

SUBSYSTEM=="i2c-dev", MODE="0666"

Bitte in udev keine Experimente machen, wenn Du nicht genau weißt/verstehst, was Du da tust!

Wichtig ist:

1.) die Datei an der richtigen Stelle anlegen! Die muss in das Verzeichnis /etc/udev/rules.d
2.) den owner auf root:root setzen
3.) am Ende der Zeile den Zeilenumbruch nicht vergessen

Ich habe gerade mal wieder die Spur aufgenommen....
Also ich habe diese udev-Regeln für meinen BMP180 überhaupt nicht angelegt. Bei Raspian wird mit der Installation der I2C-Tools (per apt-get) eine udev-Regel automatisch angelegt:
-rw-r--r-- 1 root root 47 Jul 26  2012 /lib/udev/rules.d/60-i2c-tools.rules mit folgendem Inhalt:
KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"
Ich habe nur die User "pi" und natürlich "fhem" in die Groupe "i2c" aufgenommen:
sudo adduser pi i2c

Um sicher zu gehen, dass die Gruppenzugehörigkeit greift, sollte mal zwischendurch gebootet werden (oder zumindest ab- und anmelden).

Nochwas: für die Zukunft wäre es evtl. sinnvoll die Board-Revision und die Distribution mit in die Signatur aufzunehmen.

Cheers
Helmut A.

betateilchen

Zitat von: C64Emulator schrieb am Mi, 14 August 2013 00:22Ich habe gerade mal wieder die Spur aufgenommen....
Also ich habe diese udev-Regeln für meinen BMP180 überhaupt nicht angelegt. Bei Raspian wird mit der Installation der I2C-Tools (per apt-get) eine udev-Regel automatisch angelegt:

Stimmt. Aber das ist offenbar abhängig von der raspbian Version. Meine "alte" Version, die ich regelmäßig per upgrade gepflegt hatte, hat diese udev-Regel nicht angelegt.

Als ich diese Woche ein fhem-System auf einem raspberry für den Export nach Serbien neu aufgesetzt habe,  ist mir das mit der vorhandenen Regel auch aufgefallen.

Und inzwischen funktioniert auch das Auflöten des BMP180 Platinchens im Schlaf :)



-----
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeMue

Hallo Udo,

ZitatAber das ist offenbar abhängig von der raspbian Version.
Wie bekomme ich diese heraus?
uname -a
Und was ist der Unterschied zwischen Deinen beiden Versionen?
Das wäre ein Feature für die RPi_utils.pm ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

betateilchen

Keine Ahnung wo die Unterschiede liegen. Der Unterschied bei mir ist einfach der, dass der eine Raspi (bei dem die Regel fehlte) letztes Jahr bereits installiert und dann regelmäßig mit apt-get upgrade aktualisiert wurde und der zweite Raspi mit einem frischen, aktuellen raspbian neu aufgesetzt wurde.

Ich denke, dass beim ersten Gerät einfach irgendein postprocess-Skript nach einem Update nicht richtig funktioniert hat.

uname -a liefert bei beiden Geräten die selbe Antwort, damit bekommst Du die Information über die raspbian(-Image) Version nicht raus:

Linux rasp-nas 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux
Linux fhem-rs 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux



-----
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

C64Emulator

Zitat von: betateilchen schrieb am Sa, 17 August 2013 21:52Keine Ahnung wo die Unterschiede liegen. Der Unterschied bei mir ist einfach der, dass der eine Raspi (bei dem die Regel fehlte) letztes Jahr bereits installiert und dann regelmäßig mit apt-get upgrade aktualisiert wurde
Ab und zu ist auch ein Firmware-Update mitrpi-updatesinnvoll.

ZitatIch denke, dass beim ersten Gerät einfach irgendein postprocess-Skript nach einem Update nicht richtig funktioniert hat.
Dann hätte es eine Fehlermeldung gegeben, oder?

Zitatuname -a liefert bei beiden Geräten die selbe Antwort, damit bekommst Du die Information über die raspbian(-Image) Version nicht raus:

Linux rasp-nas 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux
Linux fhem-rs 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux
Damit kannst Du höchstens die Kernel-Version erfahren. Es gibt im etc-Verzeichnis der meisten Distributionen eine Text-Datei, die die Version beinhaltet. Was sagt denn
l /etc/*release*
und ein
l /etc/*version*

Hast Du die Package-Versionen der i2c-tools mal verglichen? Was sagt denn  sudo apt-cache show i2c-tools
Ich habe die Version 3.1.0-2, das ist die aktuellste.

Hoffe, geholfen zu haben.
Helmut

betateilchen

Zitat von: C64Emulator schrieb am Mo, 19 August 2013 19:21Hoffe, geholfen zu haben.

Nein, hast Du nicht. Weil ich gar nix gefragt hatte, wobei Du hättest helfen können.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeMue

@Udo: *grins*

Bei mir ist haben die i2c Tools die Version
Package: i2c-tools
Version: 3.1.0-2
also aktuell. Aber dann werde ich das Paket nochmal installieren und schauen, was für eine Fehlermeldung kommt (ich meinte aber, es wäre das letzte Mal sauber durchgelaufen).
@Helmut: Deine Info hat mir auf jeden Fall mal gezeigt, wo ich suchen könnte (obwohl ich nicht gefragt habe :-)).

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

betateilchen

Jetzt hab ich die Installation des Sensors schon dreimal völlig problemlos umgesetzt. Und jetzt beim vierten Versuch klappt das Umschalten des I2C ums Verrecken nicht. Der Sensor wird immer nur auf Bus 1 gefunden. Es ist zum Ko...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeMue

Hi betateilchen,

jetzt geht es Dir wie bei uns beim ersten Mal. Aber sei froh über die ersten drei positiven Erfahrungen. Bei mir tut die udev Regel übrigens immer noch nicht (ich habe auch nicht mehr weiter geschaut), aber das kommt dann im Winter ...

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

betateilchen

Bei mir läuft es jetzt auch beim vierten Mal einwandfrei.

Ich weiß inzwischen auch, wo das Problem (reproduzierbar) herkam/-kommt, aber das lässt sich nicht in einem einzelnen Satz erklären. Vereinfacht gesagt, kommt es auf die exakte Reihenfolge bei der Installation aller Softwarekomponenten und deren Updates an - beginnend beim Betriebssystem. Wenn man da nicht aufpaßt, überschreiben sich im Laufe der Installation einfach bestimmte Komponenten, vor allem, wenn man mit einem vorbereiteten Image arbeitet und nicht "from scratch" beginnt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeMue

Hallo betateilchen,

gilt die Aussage auch für das Raspbian Image? Ich habe das vom Februar glaube ich genommen und dann alles sukzessive installiert (vcontrold, fhem und alles was danach kam, allerdings habe ich auf die Reihenfolge nicht geachtet, ich könnte sie aber rekonstruieren).

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser