FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: Dirk am 21 Juli 2013, 23:52:20

Titel: Neues Modul i2cBMP180
Beitrag von: Dirk am 21 Juli 2013, 23:52:20
Hallo zusammen,

Ich habe ein neues Modul Entwickelt um die I2C-Sensoren BMP180 und BMP085 am Raspberry Pi auszulesen.

Der BMP085 und sein Nachfolger BMP180  sind Luftdruck-Sensoen welche über den I2C Bus ausgelesen werden können.
Zur Kommunikation mkit dem I2C-Bus werden hier die Perl-Module HiPi::Device::I2C und HiPi::BCM2835::I2C verwendet.

Für die Schnelle Installation der Perl-Module:wget http://raspberry.znix.com/hipifiles/hipi-install
perl hipi-install


Die I2C-Kernelmodule müssen natürlich noch geladen werden:sudo modprobe i2c-bcm2708
sudo modprobe i2c-dev


Um das persistent zu bekommen, also damit die Module bereits beim Booten geladen werden, müssen diese beiden Zeilen ans Ende von /etc/modules kopiert werden:i2c-bcm2708
i2c-dev


Ein Beispiel für die Configuration des FHEM-Moduls:define BMP180 i2cBMP180 /dev/i2c-0
attr BMP180 oversampling_settings 1
attr BMP180 poll_interval 5
attr BMP180 route_i2c0_to_p5 1
attr BMP180 altitute 220


Dieses Beispiel und der Test läuft bei mir derzeit hier mit:
Link (http://forum.fhem.de/index.php?topic=13771.msg85901#msg85901)

Mit dem hier beschriebenen Modul sollte das aber auch funktionieren:
Link (http://forum.fhem.de/index.php?topic=13179.0)

Das FHEM-Modul würde ich derzeit als Beta einstufen. Und daher hoffe ich auf Feedback.

Gruß
Dirk

Edit: altes Modul entfernt.
Das Modul ist mittlerweile Bestandteil von FHEM (51_I2C_BMP180.pm)
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 10:25:21
Hallo Dirk,

die Namenswahl für Dein Modul finde ich etwas unglücklich, da gemischte klein- und Großbuchstaben nicht wirklich eine intuitive Benutzung ermöglichen.

Zu Deiner Micro-Luftdruckmeß-Platine ist bei mir am Wochenende noch die Frage aufgetaucht, wie zuverlässig die (auch temperaturabhängigen) Meßwerte sind, wenn man die Platine auf den Raspberry auflötet und den dann in ein Gehäuse einbaut. Noch dazu, wo die Zusatzplatine an der Unterseite sitzt, wo je nach Gehäusetyp ohnehin nahezu keine Luftzirkulation stattfinden kann. Hast Du dazu schon Erfahrungen gesammelt?

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: ext23 am 22 Juli 2013, 10:34:47
Also die Temp ist bei mir um die 42 Grad, also völlig daneben klar, aber der Luftdruck stimmt bis jetzt so ziemlich genau mit dem überein was meine Wetterstation sagt.

Btw. das mit dem neuen Modul werd ich gleich mal ausprobieren. Allerdings wird mir das nicht viel bringen da ich den über FHEM2FHEm abfragen müsste.

/Daniel
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 10:56:58
Die Temperatur ist natürlich nur eingeschränkt nutzbar, da im eingebauten Zustand wohl die Gehäusetemperatur gemessen und angezeigt wird.
Ansonsten müsste der Sensor über ein kleines Kabel aus dem Gehäuse geführt werden.

Wenn dein Gehäuse und der Raum in dem sich das Gehäuse befindet nicht hermetisch abgeschlossen ist, dann funktioniert die Luftdruckanzeige.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 12:59:23
Zitat von: betateilchen schrieb am Mo, 22 Juli 2013 10:25die Namenswahl für Dein Modul finde ich etwas unglücklich, da gemischte klein- und Großbuchstaben nicht wirklich eine intuitive Benutzung ermöglichen.
Inwiefern beeinflusst die Modulschreibweise die intuitive Benutzung?
Aber auch am Modulnamen halte ich nicht fest. Daher bin ich hier für Vorschläge offen :)

Zitat... wie zuverlässig die (auch temperaturabhängigen) Meßwerte sind, wenn man die Platine auf den Raspberry auflötet und den dann in ein Gehäuse einbaut. Noch dazu, wo die Zusatzplatine an der Unterseite sitzt, wo je nach Gehäusetyp ohnehin nahezu keine Luftzirkulation stattfinden kann. Hast Du dazu schon Erfahrungen gesammelt
Die Temperaturmessung stand bei dem Luftdruckmodul, zu mindest bei mir, erstmal im Hintergrund. Tempertursensoren für FHEM gibt es ja fast wie Sand am Meer. Bei bezahlbaren Luftdrucksensoren sieht das ganze hier etwas anders aus. Daher ist die Temperaturmessung hier eher "Beiwerk".
Zum Luftdruckmessen braucht es auch keinen Zirkulation. Wichtig ist, dass das Gehäuse nicht Luftdicht ist. Die zu messende Luftsäule erreicht den Sensor auch über ein kleines Loch oder Spalt.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Puschel74 am 22 Juli 2013, 16:50:30
Hallo,

ZitatDie zu messende Luftsäule erreicht den Sensor auch über ein kleines Loch oder Spalt.

Und dazu reicht beim RasPi bereits der Spalt für die SD-Karte völlig aus.

Und so extreme Luftdruckschwankungen in kürzester Zeit wird es nicht geben das der Sensor nicht hinter her kommen wird.
Es sei den der RasPi ist in einem Wirbelsturm (aber da hätte ich andere Sorgen als meine Luftdruckmessung ;-) ).

Grüße
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 19:06:03
Zitat von: Dirk schrieb am Mo, 22 Juli 2013 12:59Inwiefern beeinflusst die Modulschreibweise die intuitive Benutzung?

ganz einfach: bisher ist es so, dass die allermeisten Gerätemodule in Grossbuchstaben angegeben werden, die ganzen Helpermodule (at dummy notify structure...) fast immer in Kleinbuchstaben. Ich weiss zwar nicht, ob das in den fhem-Developer-Guidelines so festgeschrieben steht, aber ich finde diese Logik nicht die schlechteste.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 22:05:12
Vorab: die alternative Lösung mit dem Adafruit python Skript funktioniert nach der Hardwareinstallation und liefert plausible Werte.

Das Modul bekam ich aber nicht ohne weiteres zum Laufen.

aktueller Status:

Inzwischen habe ich die HiPi nochmal installiert.
das Install-Skript legt die generierten Dateien alle nach /usr/local/lib/perl ab.
ich habe sie alle in die richtigen Verzeichnisse nach /usr/lib/perl kopiert.
der Versuch, den define Befehl abzusetzen, führt zu einem komplette Absturz von fhem es scheint noch irgendein Berechtigungsproblem zu sein:

open error on /dev/i2c-0: Keine Berechtigung

also ein sudo chown fhem:root /dev/i2c-0 abgesetzt.

Und siehe da:

(http://up.picr.de/15266291po.png)a

(die beiden Attribute sind von Haus aus gesetzt?)

Aber dann wieder ein Totalabsturz beim Versuch, die oben angebenen weiteren Attribute zu setzen.

bcm2835_init: Unable to open /dev/mem: Keine Berechtigung
Failed to initialise libbcm2835 at ./FHEM/51_i2cBMP180.pm line 151


Also als "Beta" würde ich das Ganze noch nicht einstufen - eher als Alpha. Wobei ich mir noch nicht sicher bin, ob es wirklich am Modul liegt, oder an der Inbetriebnahmeanleitung.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 22:06:09
@Dirk hast Du Dein fhem als root laufen? Solche Probleme hätten doch eigentlich schon vorher auffallen müssen.

Der Absturz wird definitiv von diesem Attribut verursacht:

attr BMP180 route_i2c0_to_p5 1

Ist das der Ersatz für das HiPi Umschalten? Ich kann nämlich aus dem Sensor die Werte problemlos auslesen, wenn ich diesen Befehl weglasse.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 22 Juli 2013, 22:13:07
Hallo zusammen,

Zitat... oder an der Inbetriebnahmeanleitung.
Naja, bei dem Korrekturleser kann das schon mal vorkommen ;-)

Ich habe aber dasselbe Problem mit
open error on /dev/i2c-0: Keine Berechtigunghabe das aber auf meinen mangelnden Speicherplatz (SD Karte fast zu 100 % voll) geschoben. Habe die BMP180 Zeilen auskommentiert und der fhem Server startete wieder. Leider werde ich diese Woche nicht dazukommen, das Modul weiter zu testen, daher warte ich mal auf Eure Infos, sorry.

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 22:13:10
Zitat@Dirk hast Du Dein fhem als root laufen? Solche Probleme hätten doch eigentlich schon vorher auffallen müssen.
Äh, mist. Meine Entwicklungsumgebung läuft hier tatsächlich als root. Dann setze ich mir hier noch mal ran un da eine Lösung zu finden.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 22:23:01
Ok, das Problem liegt hier dran:
"Because HiPi::BCM2835 accesses the SOC registers directly via /dev/mem, it must run with the necessary root privileges to gain access to /dev/mem."

Allerdings wird der Aufruf nur zum Umrouten des I2C-Busses auf den P5 benötigt.

Also Entweder FHEM als Root laufen lassen, was ich nicht gut finde. Allerdings gibt es auch eine Möglichkeit die Berechtigungen wieder zu kappen:
ZitatHiPi::Utils::drop_permissions_name($user, $group);
Oder Das Umrouten des I2C-Busses vor dem Starten von FHEM seperat auszuführen.

Hat jemand noch eine andere Idee?

Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 22:24:56
ei ei ei... da ist aber noch eine Menge zu tun.

- Man muss vor jedem Lesen der Messwerte ein set BMP180 readValues absetzen, die Werte werden nicht automatisch aktualisiert.

Ich habe die beiden Zeilen

       hipi-i2c e 0 1
        chown fhem:root /dev/i2c-0


in das fhem-Startskript eingebaut. Jetzt werde ich mal schauen, ob das auch nach einem Raspi-Reboot noch funktioniert.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 22:32:28
ZitatIch habe die beiden Zeilen

       hipi-i2c e 0 1
        chown fhem:root /dev/i2c-0


in das fhem-Startskript eingebaut. Jetzt werde ich mal schauen, ob das auch nach einem Raspi-Reboot noch funktioniert.
Das währe der aktuelle Workaround.
Ich habe im Moment auch keine andere Idee wie das sonst zu lösen währ.

Zitat- Man muss vor jedem Lesen der Messwerte ein set BMP180 readValues absetzen, die Werte werden nicht automatisch aktualisiert.
Das macht das Modul aber selber. Man muss den Sensor halt pollen.

mit set BMP180 readValues kann man die Werte zusätzlich manuell anfordern. Ansonsten pollt das Modul selbständig im eingestellten Intervall.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 22:35:50
was ist denn die Einheit für das Intervall? MInuten oder Sekunden? (vielleicht hab ich das irgendwo überlesen)

so klappts auch mit dem Startskript (/etc/init.d/fhem)

case "$1" in
'start')
        sudo hipi-i2c e 0 1
        sudo chown fhem:root /dev/i2c-0
        ...
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 22:39:39
Zitatwas ist denn die Einheit für das Intervall? MInuten oder Sekunden? (vielleicht hab ich das irgendwo überlesen)
Das steht aber in der Moduldokumentation.

poll_interval
Set the polling interval in minutes to query the sensor for new measured values.
Default: 5, valid values: 1, 2, 5, 10, 20, 30
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 22:52:11
Du hast ja recht. Ich hatte mein mögliches Überlesen ja vorhin schon eingeräumt.

Für die Wunschliste:

- ein Attribut, um die Luftdruckwerte als Integer (ohne Nachkommastellen) zu erhalten.


Die Variante mit dem modifizeirten Startskript hat nun mehrere Reboots überstanden. Ich lass das jetzt erstmal so.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 22:55:07
Ich mache dann noch folgende Änderungen am Modul:

Sonst noch Ideen und Wünsche?

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 23:00:31
Für heute war es das erstmal. Aber mir fällt bestimmt noch was ein.

Jetzt lass ich das mal eine Weile laufen und schau mir die Stabilität an. Dann brauch ich die Luftdruckmessung mit dem AVR-NET-IO nicht mehr.

Danke für Deine Unterstützung und das Modul :)

--------------

achja - EINEN hab ich doch noch. Die altitude sollte als optionaler Parameter bei der Definition angegeben werden können, nicht als Attribut.

Vielleicht bekommt FHEM ja irgendwann die Altitude auch als globales Attribut. Den Wunsch hatte ich ja schonmal hier (http://forum.fhem.de/index.php?topic=13722.0) geäußert. Da bräuchte ich noch Unterstützer für den "Antrag" *lach*
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 23:02:43
Ich mach heute bestimmt auch nix mehr.
Ich danke dir für dein Testing.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 23:04:51
hab oben noch was ergänzt ;)

und nochwas: bitte keine Komma und eine Einheiten im state

Gute Nacht.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 23:30:44
Zitatbitte keine Komma und eine Einheiten im state
Du meinst das so hier?
attr BMP180 stateFormat Temp: temperature Pressure: pressure
So kannst du dir jedes Gewünschte State-Format zusammen bauen.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 Juli 2013, 23:41:46
Ich weiß, was stateFormat kann.

In den Development Guidelines steht:

(http://up.picr.de/15267582cn.png)

Man beachte den letzten Satz :)
Mir ist durchaus bewusst, dass dies noch nicht in allen Modulen durchgängig so gehandhabt wird.
Aber wenn man jetzt ein neues Modul baut, kann man das ja auch gleich berücksichtigen.

Und der Wunsch "ohne Komma" hat was mit der Definition für FileLog und Plotten zu tun, da werden die "Spalten" nur durch Leerzeichen getrennt.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 22 Juli 2013, 23:47:34
ZitatMan beachte den letzten Satz :)
Dann verstehe ich dich grade nicht richtig.
Die Readings haben hier keine Einheiten.

2013-07-22_00:12:32 BMP180 temperature: 42.7
2013-07-22_00:12:32 BMP180 pressure: 996.3
2013-07-22_00:12:32 BMP180 pressure-nn: 1022.2

Lediglich im Default-State stehen die drin. Und diese kann man über das StateFormat überschreiben.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 23 Juli 2013, 08:44:25
Zitat von: Dirk schrieb am Mo, 22 Juli 2013 22:23Oder Das Umrouten des I2C-Busses vor dem Starten von FHEM seperat auszuführen.
Hat jemand noch eine andere Idee?

jepp, hab ich :)

Ich werde das heute abend mit einer udev Regel testen. Die sind ja genau dafür geschaffen, solche Probleme mit Benutzerrechten zu umgehen. Damit sollte zumindest das "sudo" im fhem-Startskript nicht mehr nötig sein.


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


Und wenn das nicht funktioniert, ist der nächste Versuch: Das Device /dev/i2c-0 statisch anlegen und mit entsprechenden Zugriffsrechten ausstatten.

achja - moin :)
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 23 Juli 2013, 09:30:42
Guten Morgen.

udev währ noch eine Idee. Zumindest für die Rechte von /dev/i2c-x.
hipi-i2c brauchts im Startscript dann trotzdem wenn man den P5 nutzen möchte

ZitatDamit sollte zumindest das "sudo" im fhem-Startskript nicht mehr nötig sein.
Das Startscript wird in der Regel doch selber mit sudo bzw. als root ausgeführt. daher sollte sodo hier überflüssig sein.

Zwischenzeitlich gibt's ne neue Version.


Gruß
Dirk

Edit: altes Modul entfernt.
Das Modul ist mittlerweile Bestandteil von FHEM (51_I2C_BMP180.pm)
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 23 Juli 2013, 09:45:05
Zitat von: Dirk schrieb am Di, 23 Juli 2013 09:30udev wär noch eine Idee. Zumindest für die Rechte von /dev/i2c-x.
hipi-i2c brauchts im Startscript dann trotzdem wenn man den P5 nutzen möchte
[...]
Das Startscript wird in der Regel doch selber mit sudo bzw. als root ausgeführt. daher sollte sodo hier überflüssig sein.

Hat bei mir gestern nicht ohne sudo funktioniert, darum hatte ich es ja im zweiten Versuch extra eingebaut.

Aber man kann das vermutlich auch über einen Eintrag in /etc/sudoers abfangen:

fhem ALL=NOPASSWD: hipi*

Eventuell lässt sich damit sogar das /dev/mem Problem abfangen, wenn man genau weiß, das da aufgerufen wird.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 23 Juli 2013, 18:22:19
Aktion 1: udev-Regel anlegen = funktioniert


/etc/udev/rules.d/98_i2c.rules enthält:

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


Um das sudo beim Umschalten des I2C Bus im Startskript kommt man allerdings nicht rum.


Ich habe noch eine Idee fürs Modul - ich habe allerdings die neue Version noch nicht installiert: Nach einem fhem-Neustart macht das Modul keinen Poll direkt nach dem Geladenwerden, sondern erst, wenn das Poll-Intervall einmal rum ist.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 23 Juli 2013, 20:41:56
Na Prima.
Ich teste das die Tage auch mal und nehme das mit in die Moduldoku auf.

Nach einem fhem-Neustart macht das Modul keinen Poll direkt nach dem Geladenwerden, sondern erst, wenn das Poll-Intervall einmal rum ist.Das ist mir auch schon negativ aufgefallen :)
Das werde ich wohl noch umdrehen.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 23 Juli 2013, 21:10:26
Deine neue Version habe ich noch gar nicht getestet...
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 23 Juli 2013, 21:19:29
Hallo Dirk,

habe mir mal die aktuelle Version Deines Moduls ausgedruckt zum Lernen. Wie bekomme ich die (vom Modul gepollten Daten) in eine Logdatei? Da müsste doch noch so etwas kommen wie
define Luftdruck_log FileLog ./log/luftdruck-%Y-%m.log BMP180:pressure.*Kommt das hin? Oder kann ich alle drei Werte in eine Datei loggen? Dann würde ich aber die Bezeichnungen etwas kürzer wählen wollen wegen Speicherverbrauch ...

Danke + Gruß

PeMue

Edit:
Das Modul zeigt Grundreflexe:

(siehe Anhang / see attachement)

Vorgehen auf der Konsole:
sudo modprobe i2c-bcm2708
sudo modprobe i2c-dev
sudo hipi-i2c e 0 1
sudo chown fhem.root /dev/i2c-0

Natürlich muss ich das Ganze noch reboot fest machen ...
Allerdings ist mir (als C-Programmierer) überhaupt noch nicht klar, was da im Einzelnen passiert ...
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 23 Juli 2013, 21:38:11
Hi PeMue,

Ich habe das so gemacht:define log_ALL FileLog /opt/fhem/logs/bmp180.log BMP180:(temperature|pressure|pressure-nn):.*Damit landen alle Werte in einem Logfile. Ggf. kann man pressure noch weglassen wenn man nur den höhenkorrigierten Luftdruck loggen möchte.

Ich denke 5 Min. für den Luftdruck reicht vollkommen aus. Vermutlich auch 10 oder 20 Minuten.

Edit:
Die Gehäuseinnentemperatur wirst du wahrscheinlich auch nicht loggen wollen. Daher war deine Version schon ausreichend.
Du kannst den Luftdruck aber z.B. auch in das Logfile eines Temperatursensors loggen. Dann kannst du eine kombinierte Grafik erzeugen.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 23 Juli 2013, 21:53:26
ich habe eine Logdatei mit allen Klimadaten

./log/out_Balkon-%Y-%m-%d.log (out_Balkon|Luftdruck|BMP180|Helligkeit)

out_Balkon liefert Außentemperatur und Luftfeuchtigkeit und kommt von einem Homematic-Temperatursensor Outdoor
Luftdruck kommt von einem MPX4100A, angeschlossen an ein AVR-NetIO (fällt demnächst weg)
BMP180 kommt vom BMP180 :)
Helligkeit kommt von einem Sensor, ebenfalls am AVR-NetIO

Alles in einem Logfile und das Plotten kann ich dann machen wie ich will und brauche nur eine einzige Logdatei dafür.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 23 Juli 2013, 22:00:54
Hallo Dirk,

wahrscheinlich habe ich es überlesen, bei mir kommt nur
2013-07-23 21:53:06 I2C_BMP180 BMP180 temperature: 36.8
2013-07-23 21:53:06 I2C_BMP180 BMP180 pressure: 988.7
Vermutlich muss ich das pressure_nn erst noch irgendwie einstellen.

Weitere doofe Frage: Was bedeutet die
NR 96 aus meinem letzten Post, diese ändert sich nämlich nicht ...

Bezüglich Logdateien: Da wird vermutlich mit Datum und <sensorname> der Wert in eine Zeile geschrieben und man parst dann beim Plotten nach den einzelnen Sensornamen. Mir ist es eigentlich lieber, dass ich eine Zeile mit allen Werten habe, aber das geht wegen der zeitlichen Zuordnung der einzelnen Quellen wohl nicht ...

Danke + Gruß

PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: justme1968 am 23 Juli 2013, 22:15:35
ich bin gerade dabei das neue altitude attribute auch für meinen panstamp luftdruck sensor zu verwenden. dabei hätte ich zwei vorschläge:

- als default wert bei nicht gesetztem reading 0 verwenden statt -1. bei höhe 0 über nn fällt der korrekturfaktor ganz natürlich einfach weg.
- auch altitude < 0 zulassen. sogar in deutschland soll es das geben.

gruss
  andre
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 23 Juli 2013, 22:21:01
Hi PeMue,

ZitatVermutlich muss ich das pressure_nn erst noch irgendwie einstellen.
Ja, entweder in der älteren Version vom Modul durch
attr BMP180 altitute 220oder in der letzten Version durch
attr global altitute 220Dafür musst du FHEM aber aktualisieren, da das Global altitut erst seit heute im FHEM drinn ist. Daher per SVN auschecken, oder bis morgen warten wenn das per Update kommt.

Zitataus meinem letzten Post, diese ändert sich nämlich nicht ...
Ich hatte den Post irgendwie überlesen.
Die Nr 96 sollte die Nummer des define sein. Quasi so eine Arte fortlaufende Nummerierung der Definitionen.

ZitatDa wird vermutlich mit Datum und <sensorname> der Wert in eine Zeile geschrieben und man parst dann beim Plotten nach den einzelnen Sensornamen.
Ja, so wird das dann gemacht.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 23 Juli 2013, 22:25:20
Hi Andre,

Zitat von: justme1968 schrieb am Di, 23 Juli 2013 22:15- auch altitude < 0 zulassen. sogar in deutschland soll es das geben
Da hast du natürlich recht. Da hab ich nicht dran gedacht. Ich werde das im Modul korrigieren.

Zitat- als default wert bei nicht gesetztem reading 0 verwenden statt -1. bei höhe 0 über nn fällt der korrekturfaktor ganz natürlich einfach weg.
Stimmt.

Man könnte sich auch überlegen bzgl. des Geo-Moduls eine eine globale barometrische Höhenformel zu benutzen. Dann muss das nicht jeder selber berechnen.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 23 Juli 2013, 22:25:24
Hallo Dirk,

ich hoffe, dass in der eingecheckten Version dann altitude korrekt geschrieben ist ;-)

Vielen Dank noch mal.

Gute Nacht.

PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 23 Juli 2013, 22:33:34
Mist,

altitute muss natürlich altitude heissen.
Rudi hat es aber ohne "aufsehen" korrigiert :)

Dafür fehlt aber in fhem.pl derzeit ein Leerzeichen hinter altitude. Betateilchen hat ihn darauf aber schon hingewiesen. Daher wird er das sicher noch zeitnah fixen.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 26 Juli 2013, 14:37:13
Hallo,

so, das nun hoffentlich vorläufig letzte Update:

Die Werte werden nun auch gleich nach dem Start von FHEM bzw. nach dem Define geholt und nicht erst nach dem Ablaufen des ersten  Poll-Intervall. Ein paar kleiner Bugs hab ich auch noch gefixt. Und die Doku vervollständigt.

So kommt die Version heute abend auch ins SVN wenn es keine Einwände gibt.

Gruß
Dirk

Edit: altes Modul entfernt.
Das Modul ist mittlerweile Bestandteil von FHEM (51_I2C_BMP180.pm)
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 26 Juli 2013, 17:09:57
Hallo Dirk,

ich habe noch ein paar (Verständnis)-Fragen:
- Ersetzt der Eintrag in .../udev/... das manuelle chown des Ports?
- Warum zwei Zeilen im Startskript? Oder ist das ... auch eine Zeile (mit welcher Bedeutung)?
- Wie verhält sich das Ändern des Startskriptes bezüglich Updates? Oder werden da nur die Perl Module aktualisiert und Perl selber und die Startroutinen bleiben?
Und vermutlich die dümmste Frage von allen:
- Wie kann ich den HTML (?) Code am Anfang und am Ende des Moduls lesen (nur reinladen in Browser geht nicht)?

Danke + Gruß

PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 26 Juli 2013, 17:22:50
Zitat- Ersetzt der Eintrag in .../udev/... das manuelle chown des Ports?
Genau

- Warum zwei Zeilen im Startskript? Oder ist das ... auch eine Zeile (mit welcher Bedeutung)?Es ist nur eine Zeile:
sudo hipi-i2c e 0 1Die anderen Zeilen sollten nur die Insertposition veranschaulichen.

Zitat- Wie verhält sich das Ändern des Startskriptes bezüglich Updates? Oder werden da nur die Perl Module aktualisiert und Perl selber und die Startroutinen bleiben?
Das ist eine gute Frage. Das werde ich nochmal testen.

Zitat- Wie kann ich den HTML (?) Code am Anfang und am Ende des Moduls lesen (nur reinladen in Browser geht nicht)?
aus dem FHEM-Verzeichniss einmal./contrib/commandref_join.plaufrufen. Damit wird die lokale commandref.html aktualisiert. Und damit findest du den Code vom I2C_BMP180 Modul dann auch dort.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 26 Juli 2013, 17:55:22
Hallo Dirk,

ich warte, bis das Modul im SVN steht (bzw. dort die commandref.html aktualisiert wird), weil bei mir folgende Fehlermeldung kommt (aus der Konsole in fhem):
Unknown command ./contrib/commandref_join.pl, try help
Was mich gerade noch irritiert:
BMP180 ReadValues gibt
STATE: Temp: 36.0 °C , Pressure: 987.6 hPa in 240 m, Pressure-NN: 1015.8 hPa
Im Logfile kommt
2013-07-26_17:50:04 BMP180 temperature: 36.0
2013-07-26_17:50:04 BMP180 pressure: 987.6
(Groß-/kleinschreibung).
Damit die Logdateien nicht zu groß werden, würde ich sowieso die Variablen als p, pNN bzw. T definieren, aber das ist meine private Meinung ...

Gruß PeMue

Edit:
Sieht doch hübsch aus, oder?
(siehe Anhang / see attachement)

Jetzt weiß ich auch warum meine bessere Hälfte Kopfschmerzen hat ...
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 26 Juli 2013, 19:09:45
Zitat von: Dirk schrieb am Fr, 26 Juli 2013 17:22contrib/commandref_join.plaufrufen. Damit wird die lokale commandref.html aktualisiert. Und damit findest du den Code vom I2C_BMP180 Modul dann auch dort.

Hallo Dirk, das funktioniert beim "normalen" User nicht, weil das perl-Skript in fertigen Installationspaketen nicht enthalten ist, sondern nur nach einem kompletten SVN auschecken.

Die commandref wird beim täglichen Update automatisch aktualisiert, sobald Dein Modul im SVN eingecheckt ist, der Anwender muss sich damit nicht auseinandersetzen.

Gleiches Verhalten beim Startskript: das wird bei einem "update" aus fhem heraus nicht angetastet.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 26 Juli 2013, 19:42:10
Zitat von: PeMue schrieb am Fr, 26 Juli 2013 17:55Was mich gerade noch irritiert:
BMP180 ReadValues gibt
STATE: Temp: 36.0 °C , Pressure: 987.6 hPa in 240 m, Pressure-NN: 1015.8 hPa
Im Logfile kommt
2013-07-26_17:50:04 BMP180 temperature: 36.0
2013-07-26_17:50:04 BMP180 pressure: 987.6
(Groß-/kleinschreibung).
Also im State steht das ganze "Menschen lesbar". Den State kann man ja auch per stateFormat selber definieren.

ZitatDamit die Logdateien nicht zu groß werden, würde ich sowieso die Variablen als p, pNN bzw. T definieren, aber das ist meine private Meinung ...
Hm, vielleicht noch ein Attribut damit das jeder selber entscheiden kann?


Zitat von: betateilchen schrieb am Fr, 26 Juli 2013 19:09
Zitat von: Dirk schrieb am Fr, 26 Juli 2013 17:22contrib/commandref_join.plaufrufen. Damit wird die lokale commandref.html aktualisiert. Und damit findest du den Code vom I2C_BMP180 Modul dann auch dort.

... das funktioniert beim "normalen" User nicht, weil das perl-Skript in fertigen Installationspaketen nicht enthalten ist, sondern nur nach einem kompletten SVN auschecken.
Mist, jetzt weiss jeder das ich nur SVN benutze :)
Ok. Wieder was gelernt.

ZitatGleiches Verhalten beim Startskript: das wird bei einem "update" aus fhem heraus nicht angetastet.
Also beantwortet das auch die Frage von PeMue
Zitat- Wie verhält sich das Ändern des Startskriptes bezüglich Updates?
eigene Änderungen am Startscript gehen bei einem Update nicht verloren?

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 26 Juli 2013, 20:26:49
Zitat von: Dirk schrieb am Fr, 26 Juli 2013 19:42eigene Änderungen am Startscript gehen bei einem Update nicht verloren?

solange Du kein Paketupdate auf Distributionsupdate machst, nicht.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 26 Juli 2013, 20:29:14
Hallo zusammen,

ich habe folgendes gemacht:
- udev Regel angelegt (eine Zeile, gleiche Rechte wie die anderen Regeln)

(siehe Anhang / see attachement)

- die Treiber reingeschrieben
- das Startskript geändert
Der I2C Bus hat folgende Rechte:
crw-rw---T 1 i2c 89, 0 Jul 26 20:09 i2c-0
crw-rw---T 1 i2c 89, 1 Jul 26 20:09 i2c-1

Wenn ich fhem starte kommt trotzdem
RPi$ sudo /etc/init.d/fhem start
Enabling I2C on P5
1
Starting fhem...
open error on /dev/i2c-0: Keine Berechtigung at ./FHEM/51_I2C_BMP180.pm line 119

sudo i2cdetect -y 0findet den BMP180.

Habt ihr Ideen, an was es hängen könnte?

Nach
sudo chown fhem.root /dev/i2c-0
fährt fhem anstandslos hoch.

@Dirk:
Wenn Du in der Moduldokumentation schon zwei Zeilen erwähnst, dann würde ich folgende nehmen:
'start')
        echo "Enabling I2C on P5 ..."
        sudo hipi-i2c e 0 1


Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 26 Juli 2013, 21:03:04
Zitatcrw-rw---T 1 i2c 89, 0 Jul 26 20:09 i2c-0
Das sieht mir irgendwie danach aus, dass die UDEV-Regel nicht greift.

Das sollte so aussehen:
crw-rw-rwT 1 root i2c 89, 0 Jul 26 19:12 /dev/i2c-0
crw-rw-rwT 1 root i2c 89, 1 Jul 26 19:12 /dev/i2c-1


Läuft bei dir vielleicht kein udev?
Was sagt denn /etc/init.d/udev status

Ansonsten kannst du auch die Zeile
Zitatsudo chown fhem.root /dev/i2c-0
auch mit in das Startscript packen.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 26 Juli 2013, 21:16:45
Hallo Dirk,

$ /etc/init.d/udev status
[ ok ] udevd is running.
udev scheint zu laufen. Jetzt schaue ich noch einmal nach Tippfehlern ...
Oder ich gehe in den Keller und hole mir ein Bier (//www.wehavemorefun.de/fritzbox/Bier_holen).

Gruß PeMue

Edit:
Was hat es eigentlich mit der
/etc/modprobe.d/raspi-blacklist.conf und dem Auskommentieren von
blacklist i2c-bcm2708 auf sich? Brauche ich das?
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 26 Juli 2013, 21:32:13
ZitatOder ich gehe in den Keller und hole mir ein Bier (//www.wehavemorefun.de/fritzbox/Bier_holen).
Cool, den kannte ich noch gar nicht.

ZitatWas hat es eigentlich mit der
/etc/modprobe.d/raspi-blacklist.conf und dem Auskommentieren von
blacklist i2c-bcm2708 auf sich? Brauche ich das?
Das hab ich so gelassen wie es war.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 27 Juli 2013, 13:16:43
Hallo,

das Modul ist übrigens seit gestern abend im SVN und somit auch per Update verfügbar.

Zitat von: PeMue schrieb am Fr, 26 Juli 2013 17:55Damit die Logdateien nicht zu groß werden, würde ich sowieso die Variablen als p, pNN bzw. T
Ich werde mir das nochmal ansehen. Ich hab da noch ne Idee. Dann wird sich das Logformat nochmal ändern.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 27 Juli 2013, 15:46:20
Hallo PeMue,

ich habe die Events noch mal geändert:

Es wird zusätzlich noch der state als Event generiert:2013-07-27 15:34:57 I2C_BMP180 BMP180 T: 47.7 P: 985.6 P-NN: 1011.5

Somit kann man jetzt auch nur diese Zeile wegloggen:define log_BMP180 FileLog /opt/fhem/logs/bmp180.log BMP180:(T|P):.*

Damit man jetzt einen "schönen" lesbaren STATE bekommt muss man diesen nur per stateFormat setzen:attr BMP180 stateFormat Temperatur: temperatur, Luftdruck (altitude m ü.NN): pressure hPa, Luftdruck reduziert (NN): pressure-nn hPa

wenn keine Einwände mehr kommen, würde ich das heute abend wieder ins SVN packen.

Gruß
Dirk

Edit: altes Modul entfernt.
Das Modul ist mittlerweile Bestandteil von FHEM (51_I2C_BMP180.pm)
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: ext23 am 29 Juli 2013, 16:17:14
Hi,

sagt mal kann mir einer sagen wo ich hier was falsch mache, ich bekomme den Luftdruck nicht gezeichnet.

Gruß
Daniel
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 29 Juli 2013, 16:25:39
Hi Daniel,

bei mir sieht es so aus:

(siehe Anhang / see attachement)


Die Ranges kannst du auch leer lassen.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: ext23 am 29 Juli 2013, 16:32:56
Ahh danke, misst jetzt hab ich mein Fehler gefunden, da stand ja noch ne 3 bei mir oO

Danke!
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 29 Juli 2013, 20:20:11
Hallo Dirk,

da solltest Du vielleicht nochmal nachschauen:


Prototype mismatch: sub main::finally (&;@) vs (&) at ./FHEM/51_I2C_BMP180.pm line 39
Prototype mismatch: sub main::try (&;@) vs (&;$) at ./FHEM/51_I2C_BMP180.pm line 39


Viele Grüße
Udo
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 29 Juli 2013, 20:36:48
Hi Udo,

liegt das vielleicht an deiner Perl Version?
Welche Version hast du?

Bei welcher Aktion bekommst du den Fehler?

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 29 Juli 2013, 20:55:22
Hallo Dirk,

perl Version = 5.14.2

Die Meldung kommt immer dann, wenn Dein Modul geladen wird (also beim Start von fhem oder bei einem reload)

Ich hatte ähnliche Probleme mit meinem 98_openweathermap. Hast Du schonmal probiert, mit Try::Tiny anstatt mit Error zu arbeiten?

Viele Grüße
Udo
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 29 Juli 2013, 21:44:44
HI Udo,

ich habs mal auf Try::Tiny umgebaut.
Trotzdem komisch das der Fehler scheinbar nur bei dir kam.

Kannst du das bei dir nochmal testen.
Hier läuft es auch mit dieser Version.

Gruß
Dirk

Edit: altes Modul entfernt.
Das Modul ist mittlerweile Bestandteil von FHEM (51_I2C_BMP180.pm)
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 29 Juli 2013, 22:04:07
Ich hab hier den gleichen Fehler in meinem Modul und bin auch schon seit Stunden auf der Suche nach der Ursache.

Die Meldung bewirkt nicht irgendwelche Probleme, sie sieht halt nur unschön aus.

Bei mir hängt es definitiv mit dem try/catch/finally zusammen, das ich im Coding verwende. Werde mir Deine Version mal anschauen.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 30 Juli 2013, 11:29:43
Ich habe in meinem Modul das Thema jetzt dadurch gelöst, dass ich überhaupt nicht mehr mit try/catch arbeite, sondern mit eval {}.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 30 Juli 2013, 21:17:34
Hallo zusammen,

ich verstehe noch immer nicht, warum meine udev Regel nicht funktioniert.
Das
SUBSYSTEM=="i2c-dev" definiert doch, mit welchem Gerät etwas zu tun ist und MODE="0666"gibt doch rw Zugriff für owner, group und world. Oder könnte ich auch OWNER="fhem" bzw. GROUP="root" arbeiten? Dann könnte ich aber gleich das chown ... von oben verwenden ...
Oder wäre der Parameter NAME=i2c-0 (//wiki.ubuntuusers.de/udev) besser geeignet?
Muss ich mal nach und nach probieren. Allerdings wartet das Display immer noch auf die Inbetriebnahme, es funktioniert noch weniger mit dem kurzen Verbinder ...

Gruß PeMue

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 30 Juli 2013, 21:42:11
die 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
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 30 Juli 2013, 21:57:16
ok, das Ding heißt
-rw-r--r-- 1 root   34 Jul 30 21:45 98-i2c.rules
und der Inhalt ist
SUBSYSTEM=="i2-dev", MODE="0666"

(Zeilenumbruch hat gefehlt, Regelname war mit Unterstrich).

Aber es tut leider immer noch nicht.

Ich lasse jetzt das chmown im fhem Startskript, aus basta!
Die udev Regel habe ich in /opt/fhem/backup verschoben für alle Fälle ...

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 30 Juli 2013, 22:05:16
Ob Unterstrich oder Bindestrich im Regelname ist egal, die kann auch Friedrich heissen...

so sieht das bei mir aus: -rw-r--r-- 1 root root   34 Jul 23 18:08 98_i2c.rules

Hast Du den udev Dämon nach der Änderung auhc wirklich neu gestartet?

/etc/init.d/udev restart

Alternativ: den raspi neustarten

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 30 Juli 2013, 22:11:02
Also die Leerzeile am Ende der Datei ist zumindest bei mir unrelevant, da nicht vorhanden und trotzdem funktioniert die Regel bei mir.
Kannst du mal im Syslog schauen ob es da irgendwelche Hinweise dazu gibt.

ZitatAllerdings wartet das Display immer noch auf die Inbetriebnahme, es funktioniert noch weniger mit dem kurzen Verbinder ...
Was bedeuted das? Was für ein Fehlerbild?

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 30 Juli 2013, 22:16:37
Zitat von: Dirk schrieb am Di, 30 Juli 2013 22:11Also die Leerzeile am Ende der Datei ist zumindest bei mir unrelevant,

das KANN schon sein, aber ich würde bei Konfigurationsdateien unter Linux diesbezüglich nie die Hand ins Feuer legen.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 09 August 2013, 20:31:20
Hallo zusammen,

so, nun habe ich das neue Modul mal installiert. Die Plot Definition bekomme ich auch umdefiniert. Meinetwegen auch mit sed temperatur durch T usw. ersetzt. Aber wie bekomme ich bitte die zwei Zeilen per shell script in eine Zeile rein?
alt:
2013-08-09_20:10:24 BMP180 temperature: 33.2
2013-08-09_20:10:24 BMP180 pressure: 994.9
neu:
2013-08-09_20:19:48 BMP180 T: 33.2 P: 994.9 P-NN: 1023.1Geht das überhaupt? Und ja, im oberen fehlt der Luftdruck NN (da war einfach altitude noch nicht definiert). Für Vorschläge bin ich dankbar ...

Edit2:
google (//spielwiese.la-evento.com/xelasblog/archives/1-sed-fuegt-Zeilen-zusammen.html) ist mein Freund:
cat rpi* | sed 'N;s/\n/ /g' | sed 's/pressure/P/g' | sed 's/temperature/T/g'Allerdings muss ich in der zweiten Zeile noch das Datum und BMP180 wegbringen ...

Korrekterweise sollte aber das stateformat Attribut so
attr BMP180 stateFormat Temperatur: temperature °C, Luftdruck (altitude m ü. NN): pressure hPa, Luftdruck (NN): pressure-nn hPaheißen ...
Allerdings geht das Ersetzen von ° durch &deg; nicht, ist das bei html nicht notwendig?

Edit1:
Folgende Fehlermeldung kommt auf der Konsole:
Character in 'C' format wrapped in pack at /usr/local/lib/perl/5.14.2/HiPi/Device/I2C.pm line 270.
Und die bisher coolste (Fehlermeldung auf der Konsole):
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for fhem:
Könnte das mit den für I2C notwendigen root Rechten zusammenhängen?

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 09 August 2013, 22:20:37
ZitatUnd die bisher coolste (Fehlermeldung auf der Konsole):
Die habe ich auch noch nicht gesehen. Bei welcher Aktion kommt die?
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 09 August 2013, 23:38:51
so
cat rpi* | sed 's/.*pressure/P/g' | sed 'N;s/\n/ /g' | sed 's/temperature/T/g' > /tmp/rpi* geht es.
Erklärung:
das erste sed: sucht in einer Zeile alle Zeichen vor pressure (.*) und ersetzt dieses durch P, alles was danach kommt, bleibt
das zweite sed: nimmt zwei Zeilen, sucht nach dem Zeilenende und ersetzt das durch ein Leerzeichen
das dritte sed: sucht wiederum in einer Zeile temperature durch T

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 10 August 2013, 01:03:32
Zitat von: Dirk schrieb am Fr, 09 August 2013 22:20
ZitatUnd die bisher coolste (Fehlermeldung auf der Konsole):
Die habe ich auch noch nicht gesehen. Bei welcher Aktion kommt die?

Das ist eine ganz normale Standardmeldung aus sudo, wenn sudo nicht korrekt konfiguriert ist oder der aktuelle Benutzer keine sudo Rechte hat.

https://wiki.debian.org/sudo


---
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 10 August 2013, 07:41:27
Zitat... oder der aktuelle Benutzer keine sudo Rechte hat.
Das würde aber dann doch heißen
- der user fhem braucht für eine Funktion sudo Rechte und
- er hat diese nicht.
Korrekt?

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 10 August 2013, 15:24:59
ich hab doch keine Ahnung, was Du da tun willst
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 11 August 2013, 07:17:03
... und ich möchte doch nur wissen, warum bei mir diese Fehlermeldung kommt.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Michael am 11 August 2013, 14:38:53
Moin

Brauche eure Hilfe.

Ich bekomme den BMP180(085) nicht richtig zum laufen.
Habe alles nach dieser Anleitung (Raspberry+Pi+Mini-Luftdrucksensor+BMP180+%2842%29) gemacht.


(siehe Anhang / see attachement)

Beim ersten suchen bekomme ich keine Adresse.
Scheinbar bekomme ich von P5 keine Antwort.

Und wenn ich das in Fhem eintrage :
define BMP180 I2C_BMP180 /dev/i2c-0
attr BMP180 oversampling_settings 1
attr BMP180 poll_interval 5
attr BMP180 route_i2c0_to_p5 1

stürtzt Fhem ab.

Habe schon alles versucht was hier im Forum auf taucht.
Bitte um Hilfe
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 11 August 2013, 15:50:01
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
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Michael am 11 August 2013, 16:07:07
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.  
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 11 August 2013, 20:16:02
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
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Michael am 13 August 2013, 19:04:19
Hallo PeMue

Danke[/color]

Das war 's.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: C64Emulator am 14 August 2013, 00:22:36
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.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 16 August 2013, 21:30:18
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 :)



-----
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 17 August 2013, 13:10:56
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
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 17 August 2013, 21:52:37
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



-----
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: C64Emulator am 19 August 2013, 19:21:01
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
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 19 August 2013, 20:12:45
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.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 19 August 2013, 21:34:38
@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
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 19 September 2013, 11:39:19
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...
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 19 September 2013, 22:13:35
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
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 19 September 2013, 23:16:40
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.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 20 September 2013, 08:44:53
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
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 20 September 2013, 10:59:42
Gehen wir der Einfachheit halber von folgenden Dingen aus:

1. wir verwenden das Image von busware (mein Lieblingsimage, weil die Ansteuerung des COC da schon mit drinsteckt und weil es ein hervorragendes Startskript für fhem mitbringt)
2. wir haben einen Raspberry mit aufgelötetem Drucksensor
3. wir haben eine leere SD-Karte mit 4GB Kapazität

Hier kommt eine Schritt-für-Schritt-Anleitung zum erfolgreichen Aufsetzen eines kompletten Systems, vom Betriebssystem bis zur Definition des Sensors in fhem. DIese Anleitung wurde von mir eben "in echt" so erarbeitet und dokumentiert. Sie funktioniert. (Bitte auch die Hinweise am Ende des Beitrags beachten)


Schritt 1: SD Karte erzeugen
dd bs=1m if=2013-02-09-wheezy-raspbian-fhem.img of=/dev/<NameDerSdKarte>

Schritt 2: SD Karte in Raspberry booten

Schritt 3: per SSH auf Raspberry verbinden und raspi-config ausführen,
vor allem wichtig: expand_rootfs, change_locale, change_timezone
danach reboot

Die folgenden beiden Schritte gelten nur für vorgefertigte Images, z.B. das von busware.de:

Schritt 4: /opt/fhem entfernen

sudo rm -rf /opt/fhem

Schritt 5: Raspberry aktualisieren

sudo apt-get update
sudo apt-get upgrade
(Bitte auf keinen Fall ein apt-get dist-upgrade machen!)
sudo reboot

Schritt 6: midnight-commander installieren
(erleichtert das editieren von Konfigurationsdateien und kopieren von Dateien und Verzeichnissen)

sudo apt-get install mc

Schritt 7: i2c-tools installieren

sudo apt-get install i2c-tools

Schritt 8: Datei /etc/modules editieren, folgende Zeilen einfügen:

i2c-bcm2708
i2c-dev

Schritt 9: hipi tools installieren (ohne grafische tools!)

cd /opt
sudo wget http://raspberry.znix.com/hipifiles/hipi-install
sudo perl hipi-install --hipi-wx=0
(jetzt ist genug Zeit, sich einen Kaffee zu holen, denn das Installieren dauert...)
(die Warnungen wegen fehlendem autoconf und automake können ignoriert werden)

Schritt 10: die erzeugten Module an die richtige Stelle kopieren

Den kompletten Inhalt von /usr/local/lib/perl nach /usr/lib/perl kopieren
(hier empfiehlt sich wieder der oben installierte midnight-commander mc)

Schritt 11: Verzeichnis /var/log/fhem anlegen und mit Rechten versehen

sudo mkdir /var/log/fhem
sudo chown -R fhem:root /var/log/fhem

Schritt 12: Datei /etc/rc.local editieren

Vor die Zeile "exit 0" einfügen:

/usr/local/bin/hipi-i2c e 0 1

Schritt 13: Datei /etc/udev/rules.d/98_i2c.rules anlegen und folgende Zeile eintragen:

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

Schritt 14: sudo reboot

Schritt 15: nach dem Reboot testen, ob der Senosr korrekt gefunden wird:

(Test bitte OHNE root ausführen, um zu sehen, ob auch die udev Regel greift!)

i2cdetect -y 0

Die letzte Zeile der Ausgabe muss so aussehen:

70: -- -- -- -- -- -- -- 77  


Wenn die bisherigen Schritte erfolgreich waren: HERZLICHEN GLÜCKWUNSCH, das Schwierigeste ist geschafft, weiter zu Schritt 16.
Wenn nicht: Schade. Rücke vor auf Los, ziehe keine 4000 Mark ein...

Schritt 16: fhem nach /opt installieren:

cd /opt
sudo wget http://fhem.de/fhem-5.4.tar.gz
sudo tar xvf fhem-5.4.tar.gz
sudo chown -R fhem:root fhem-5.4
sudo ln -s fhem-5.4 fhem
sudo rm fhem-5.4.tar.gz

Schritt 17: fhem starten (eine der genannten Varianten auswählen)

17a: sudo reboot (wer wie hier im Beisipiel das Image von busware verwendet hat, dort ist ein Startscript enthalten)

17b: wer from scratch arbeitet, sollte sich ein Startskript anlegen

17c: manuell starten

Schritt 18: fhem updaten (auf die Statistik- und Bestätigungsorgie im Frontend gehe ich nicht weiter ein, die ist selbsterklärend)

Schritt 19: Sensor in fhem definieren

define test I2C_BMP180 /dev/i2c-0


et voila:

Internals:
   CFGFN      
   DEF        /dev/i2c-0
   NAME       test
   NR         36
   STATE      T: 30.9 P: 1007.9 P-NN: 1007.9
   TYPE       I2C_BMP180
   Readings:
     2013-09-20 10:51:39   altitude        0
     2013-09-20 10:51:39   pressure        1007.9
     2013-09-20 10:51:39   pressure-nn     1007.9
     2013-09-20 10:51:39   state           T: 30.9 P: 1007.9 P-NN: 1007.9
     2013-09-20 10:51:39   temperature     30.9
   Calibrationdata:
     ac1        6362
     ac2        -1031
     ac3        -14717
     ac4        32753
     ac5        24853
     ac6        17550
     b1         6515
     b2         34
     b5         4932.04565739624
     mb         -32768
     mc         -11786
     md         2909
Attributes:
   oversampling_settings 3
   poll_interval 5


Die Vorgehensweise ist grundsätzlich auch für eine Installation ohne vorgefertigtes Image gültig. Entsprechende Abweichungen wurden in der Anleitung aufgeführt. Bei Punkt 17 muss man dann nach eigenem Gusto handeln, was das Startskript betrifft. Das habe ich bewusst nicht beschrieben, weil es da einfach zu viele Möglichkeiten gibt.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 20 September 2013, 11:48:22
Da schon Nachfragen kamen:

1. Die SD Karte darf natürlich auch größer als 4GB sein. Kleiner würde ich aber nicht verwenden, sonst wirds zwischendurch ganz schön eng bei der Installation

2. Alle zusätzlichen Komponenten sollten NACH den beschriebenen Schritten installiert werden (z.B. hmland o.ä.)

3. Wenn ich Zeit finde, mache ich vielleicht auch noch eine Installationsanleitung "from scratch" also ausgehend von einem nackten raspbian Image.

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 20 September 2013, 12:32:58
Zitat von: betateilchen schrieb am Fr, 20 September 2013 11:483. Wenn ich Zeit finde, mache ich vielleicht auch noch eine Installationsanleitung "from scratch" also ausgehend von einem nackten raspbian Image.

Was Du heute kannst besorgen...


Schritt 1: aktuelles raspbian Image von www.raspberrypi.org laden

Schritt 2: SD Karte erzeugen
dd bs=1m if=2013-09-10-wheezy-raspbian.img of=/dev/<NameDerSdKarte>

Schritt 3: SD Karte in Raspberry booten

Schritt 4: per SSH auf Raspberry verbinden und raspi-config ausführen,
vor allem wichtig: expand_rootfs, change_locale, change_timezone
danach reboot

Schritt 5: Raspberry aktualisieren

sudo apt-get update
sudo apt-get upgrade
sudo reboot
(reboot ist nur notwendig, wenn bei upgrade Pakete aktualisiert wurden)

Schritt 6: midnight-commander installieren
(erleichtert das editieren von Konfigurationsdateien und kopieren von Dateien und Verzeichnissen)

sudo apt-get install mc

Schritt 7: i2c-tools installieren

sudo apt-get install i2c-tools

Schritt 8: Datei /etc/modules editieren, folgende Zeilen einfügen:

i2c-bcm2708
i2c-dev

Schritt 9: zusätzliche Perl-Pakete installieren:

sudo apt-get install libwww-perl

Schritt 10: hipi tools installieren (ohne grafische tools!)

cd /opt
sudo wget http://raspberry.znix.com/hipifiles/hipi-install
sudo perl hipi-install --hipi-wx=0
(jetzt ist genug Zeit, sich einen Kaffee zu holen, denn das Installieren dauert...)
(die Warnungen wegen fehlendem autoconf und automake können ignoriert werden)

Schritt 11: Datei /etc/rc.local editieren

Vor die Zeile "exit 0" einfügen:

/usr/local/bin/hipi-i2c e 0 1
cd /opt/fhem
perl fhem.pl fhem.cfg &

Schritt 12: Datei /etc/udev/rules.d/98_i2c.rules anlegen und folgende Zeile eintragen:

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

Schritt 13: sudo reboot

Schritt 14: nach dem Reboot testen, ob der Senosr korrekt gefunden wird:

(Test bitte OHNE root ausführen, um zu sehen, ob auch die udev Regel greift!)

i2cdetect -y 0

Die letzte Zeile der Ausgabe muss so aussehen:

70: -- -- -- -- -- -- -- 77  


Wenn die bisherigen Schritte erfolgreich waren: HERZLICHEN GLÜCKWUNSCH, das Schwierigeste ist geschafft, weiter zu Schritt 15.
Wenn nicht: Schade. Rücke vor auf Los, ziehe keine 4000 Mark ein...

Schritt 15: fhem nach /opt installieren:

cd /opt
sudo wget http://fhem.de/fhem-5.4.tar.gz
sudo tar xvf fhem-5.4.tar.gz
sudo ln -s fhem-5.4 fhem
sudo rm fhem-5.4.tar.gz

Schritt 16: sudo reboot
(nach dem reboot sollte fhem korrekt laufen)

Schritt 17: fhem updaten (auf die Statistik- und Bestätigungsorgie im Frontend gehe ich nicht weiter ein, die ist selbsterklärend)

Schritt 18: Sensor in fhem definieren

define test I2C_BMP180 /dev/i2c-0

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 20 September 2013, 15:47:17
Und wer es noch bequemer haben will:

1. SD Karte mit nacktem raspbian installieren und raspi-config ausführen
2. das angehängte Skript auf den laufenden Raspi kopieren, mit "sudo su" root werden und das Skript starten
3. nach dem automatischen reboot sind alle notwendigen Treiber installiert, alle Konfigurationsdateien bearbeitet und fhem läuft

Dann muss nur noch das fhem-update manuell ausgeführt werden, danach kann der Luftdrucksensor definiert werden.
(In der Auslieferungsversion von fhem ist das BMP180 Modul noch nicht enthalten!)


rm /etc/rc.local
cd /opt

apt-get -y install i2c-tools libwww-perl
wget http://raspberry.znix.com/hipifiles/hipi-install
perl hipi-install --hipi-wx=0
rm hipi-install

echo i2c-bcm2708 >> /etc/modules
echo i2c-dev >> /etc/modules
echo /usr/local/bin/hipi-i2c e 0 1 >> /etc/rc.local
echo 'SUBSYSTEM=="i2c-dev", MODE="0666"' > /etc/udev/rules.d/98_i2c.rules

apt-get -y upgrade

wget http://fhem.de/fhem-5.4.tar.gz
tar xvf fhem-5.4.tar.gz
ln -s fhem-5.4 fhem
rm fhem-5.4.tar.gz

echo cd /opt/fhem >> /etc/rc.local
echo "perl fhem.pl fhem.cfg &" >> /etc/rc.local
echo exit 0 >> /etc/rc.local
chmod a+x /etc/rc.local

reboot

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 20 September 2013, 15:57:44
Hallo betateilchen,

cool. Vielen dank für das script.

Ich werde die nächsten Tage auch mal das IMAGE Image für die CSM/LCD-Platine (http://forum.fhem.de/index.php?topic=12854.0) aktualisieren. Dann nehme ich die entsprechenden Treiber mit auf.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 20 September 2013, 16:00:13
Hallo Dirk,

kannst Du mir mal bitte per email die "relevanten" Daten zu dem LCD Modul schicken?

Viele Grüße
Udo
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 22 September 2013, 08:31:16
Hallo betateilchen,

ich habe fhem mit dem Debian Image installiert. Der Start geht bei mir über einen Startskript in /etc/init.d.
Du startest in Deinem Skript fhem über einen Eintrag in /etc/rc.local.
Habe ich das soweit korrekt verstanden?
Warum das in den verschieden Varianten von fhem (*.tar.gz bzw. *.deb) unterschiedlich ist, traue ich mich erst gar nicht zu fragen ...

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 22 September 2013, 13:25:26
weil das einfach davon abhängt, was sich der Künstler, der das Paket geschnürt hat, dabei gedacht hat. Feste Regeln gibts dafür nicht.

Die Vorgehensweise in meinem Skript ist eigentlich die einzige, die man sich NICHT merken sollte - da wird nämlich rc.local erstmal komplett gelöscht und dann neu geschrieben. Das sollte man nur machen, wenn man sicher sein kann, dass dort noch niemand etwas wichtiges eingetragen hat. Und direkt nach einer nackten raspbian Installation steht da definitiv nichts drin, was erhalten werden müsste. Deshalb habe ich diesen pragmatischen Weg gewählt.

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 25 September 2013, 11:40:36
und nun wünsche ich mir so eine kleine Aufsteckplatine passend für beaglebone black ...

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 25 September 2013, 12:07:28
hm, der hat aber eine recht weit verstreute Pinbelegung (//www.disk91.com/wp-content/uploads/2013/06/photo1.jpg), und der Luftdrucksensor käme dann direkt unter das Bohrloch. Oder ist auf der Rückseite neben dem Stecker noch Platz?
Was hat denn der Beaglebone Black für einen Stromverbrauch?

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 25 September 2013, 13:19:26
Zitat von: PeMue schrieb am Mi, 25 September 2013 12:07hm, der hat aber eine recht weit verstreute Pinbelegung,

Die I2C pins liegen ganz gut zusammen.

Zitat von: PeMue schrieb am Mi, 25 September 2013 12:07und der Luftdrucksensor käme dann direkt unter das Bohrloch.

Oberhalb der Steckerleiste gibt es kein Bohrloch, da ist nur freier Himmel.

Zitat von: PeMue schrieb am Mi, 25 September 2013 12:07Oder ist auf der Rückseite neben dem Stecker noch Platz?

Ich sprach von Aufsteckplatine, nicht von Auflötplatine.

Zitat von: PeMue schrieb am Mi, 25 September 2013 12:07Was hat denn der Beaglebone Black für einen Stromverbrauch

Hab ich noch nicht gemessen, er entwickelt auf jeden Fall weniger Abwärme als der Raspi, der Verbrauch müsste also geringer sein.
Laut Datenblatt je nach Verwendung unter 1 Watt.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 25 September 2013, 15:48:52
ZitatDie I2C pins liegen ganz gut zusammen.
Aber die Spannungsversorgung liegt im Vergleich zum Raspberry Pi weiter weg:

(siehe Anhang / see attachement)

Daher geht mit Dirk's bestehender Platine ohne Löten nicht viel.

Ich würde die Platine eher wieder als Lötplatine auf der Unterseite (Sensor neben dem Stecker) layouten. Dann wäre der Stecker für andere Dinge frei. Aber jeder wie er mag ...

Mir gefällt am BeagleBone black, dass er gleich einen A/D Wandler drauf hat.

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 25 September 2013, 16:20:30
Du hast ja recht... aber wünschen darf ich mir das doch trotzdem :)

http://circuitco.com/support/index.php?title=BMP_on_the_Beagle_Bone_Black (//circuitco.com/support/index.php?title=BMP_on_the_Beagle_Bone_Black)
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 25 September 2013, 16:20:54
Wenn ich eine neue Platinenbestellung losschicke kann ich da ja mal ein Layout mit machen.
Und dann auch gleich noch eine LCD-Version zum Aufstecken :)

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 25 September 2013, 16:43:01
Zitathttp://circuitco.com/support/index.php?title=BMP_on_the_Beagle_Bone_Black (//circuitco.com/support/index.php?title=BMP_on_the_Beagle_Bone_Black)
Da passt ja gar kein Pin ins Raster und den Preis finde ich auch relativ hoch. Vermutlich ist da noch ein Spannungsregler und Transistor (wozu auch immer?) drauf ...

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 25 September 2013, 22:16:11
Zitat von: PeMue schrieb am Mi, 25 September 2013 16:43Da passt ja gar kein Pin ins Raster und den Preis finde ich auch relativ hoch.

das hast Du völlig mißverstanden - mir ging es nicht um eine Produktempfehlung, sondern darum, dass sich schonmal jemand über das Thema Gedanken gemacht hat. Mehr nicht.

@Dirk: dann pack auch gleich einen einen Helligkeitsssensor mit drauf. Die Sache mit dem LCD finde ich gut - aber bitte ohne Funkhardware.
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 25 September 2013, 22:19:31
ZitatDie Sache mit dem LCD finde ich gut - aber bitte ohne Funkhardware.
Daher ist die Funkhardware ja optional. Das CSM muss nicht bestückt werden :)
Alternativ kann man die Platine derzeit auch mit einen RS485 Tranceiver bestücken.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 26 September 2013, 06:18:32
Hi Betateilchen,

ich mache mir gerade Gedanken über einen Helligkeitssensor. Ich würde gerne die Beleuchtungstärke (//de.wikipedia.org/wiki/Beleuchtungsst%C3%A4rke) messen (z.B. zur Steuerung von Markisen, Rollläden, etc.) mit einem TSL2561 (//www.ams.com/eng/Products/Light-Sensors/Light-to-Digital/TSL2561). Für meine Photovoltaikanlage wäre aber die Globalstrahlung (//de.wikipedia.org/wiki/Globalstrahlung) interessanter. Da suche ich aber noch einen vernünftigen Sensor (AMS/Taos sollte da aber was haben). Gehäuse bzw. Funkstrecke ähnlich wie bei diesem (//www.busware.de/tiki-index.php?page=CPM-BS), aber vermutlich folgenden Änderungen (Antenne auf der Leiterplatte, Messung von Spannung und Temperatur, ggf. Integration von Prozessor und CC1101 wegen Preis CSM, ...). Aber wie gesagt momentan nur als Idee ... Und das gehört dann auch in die Bastelecke.

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 26 September 2013, 10:02:06
Zitat von: PeMue schrieb am Do, 26 September 2013 06:18Für meine Photovoltaikanlage wäre aber die Globalstrahlung interessanter. Da suche ich aber noch einen vernünftigen Sensor

Das Thema wurde aber doch schon hier im Forum in epischer Breite diskutiert und samt Berechnungsformeln gelöst.

Link
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: PeMue am 26 September 2013, 15:49:30
Danke für den Hinweis, habe ich noch nicht gesehen. Aber den TSL250 bzw. TSL260 hatte ich auch im Visier.

Gruß PeMue
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Achim am 06 Oktober 2013, 20:16:56
Hallo,

ich habe da ein paar Fragen:
Mit hipi-i2c wird der zweite I2C-0 Port auf den RPi's Rev.2 (Connector P5) aktiviert. Wenn ich nun einen RPi Rev.1 habe und das i2cBMP Modul auf den P1 manuell verdrahte, müsste doch hipi-i2c überflüssig sein, da dieser I2C Port bereits aktiviert ist. Ist das so?

Im Forum steht, dass das i2cBMP Modul mit dem COC Modul zusammen funktioniert. Ist dies auch mit dem RPi Rev.1 der Fall, da auf dem I2C-0 dann beiden Module liegen?

Und erkennt das 51_i2cBMP180.pm Programm den Anschluss des Moduls an einem "alten" RPi und verwendet dann gegebenenfalls nicht das pihi-i2c Programm?

Achim
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 06 Oktober 2013, 20:23:32
Hi Achim,

hipi-i2c wird beim RPi Rev.2 benutz um den 2. I2C-Bus vom Kamera-Connector zum P5 umzurouten.
Wenn du den I2C-Bus am P1 benutzt sollte das überflüssig sein. Egal ob Rev.1 oder Rev.2.
Lediglich beim Define muss das richtige I2C-Device angegeben werden.

Beim Rpi Rev.1 sollte das /dev/i2c-0 sein.

Gruß
Dirk
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 09 Oktober 2013, 20:21:23
Hat eigentlich schonmal jemand versucht, so eine Platine von einem RaspberryPi wieder runterzulöten? Ich habs aufgegeben... Mir ist ein Raspberry abgeraucht und ich wollte wenigstens die Sensorplatine retten, was sich als ziemlich unmögliches Unterfangen erwiesen hat :(

Titel: Aw: Neues Modul i2cBMP180
Beitrag von: Dirk am 09 Oktober 2013, 20:37:50
Hi betateilchen,

wenn es deinen Raspberry zerlegt hat, dann Nimm eine Heißluftpistole (Wenn vorhanden) und heize von unten ordentlich ein.
So habe ich auch schon andere Bauteile von Platinen retten können.

Gruß
Dirk

P.s. Was hat deinen Raspberry denn umgebracht?
Titel: Aw: Neues Modul i2cBMP180
Beitrag von: betateilchen am 09 Oktober 2013, 21:21:19
Zitat von: Dirk schrieb am Mi, 09 Oktober 2013 20:37P.s. Was hat deinen Raspberry denn umgebracht?

nicht was? sondern wer? => meine Putzfrau
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 28 März 2014, 01:43:55
Habe neue Modulversion mit Unterstützung für die physical. I2C Module eingecheckt.
Damit kann es auch auf anderen Systemen (FRM, CubieBoard, BeagleBoard) genutzt werden.

Die neue Version funktioniert weiterhin alternativ standalone mit der HiPi Bibliothek.

Infos zu den physical. I2C Modulen gibt es hier:
http://forum.fhem.de/index.php/topic,20452.0.html (http://forum.fhem.de/index.php/topic,20452.0.html)
http://forum.fhem.de/index.php/topic,19797.0.html (http://forum.fhem.de/index.php/topic,19797.0.html)
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: PeMue am 14 Oktober 2014, 19:58:50
Hallo zusammen,

ich habe die Installation nach betateilchens skript ausgeführt.
Auf der Raspberry Pi (Typ B) Konsole kommt folgendes:
i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

dito für die Ausgabe in der fhem Kommandozeile
{ qx(i2cdetect -y 0) }
Nur wenn ich jetzt mit
define BMP180 I2C_BMP180 /dev/i2c-0
den Sensor definiere, kommt folgendes:
$name error: HiPi library not installed
Ich dachte, es läge an den Rechten, aber die udev Regel greift.
Langsam gehen mir etwas die Ideen aus.

Danke + Gruß

PeMue

Edit:
Und auf der Raspberry Pi Konsole kommt:
sudo hipi-upgrade
Latest version of HiPi Perl Modules is already installed

Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 20 Oktober 2014, 14:24:22
Zitat von: PeMue am 14 Oktober 2014, 19:58:50
Langsam gehen mir etwas die Ideen aus.

hast du die RPII2C Variante mal getestet?
Grüße
Klaus
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: PeMue am 26 Oktober 2014, 10:55:23
Hallo Klaus,

danke für den Hinweis. Die Variante mit RPII2C funktioniert. Ich habe auch mal die grafischen HiPi Tools installiert, aber irgendwie findet fhem die Hi-Pi Tools nicht. Manche Dinge muss man nicht verstehen  ;)

Danke + Gruß

Peter
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: MEitelwein am 11 November 2014, 00:15:50
Hallo

im Modul ist noch ein Fehler, der den I2C Betrieb über FRM verhindert:
In der Funktion sub I2C_BMP180_i2cwrite($$$) wird beim Aufruf von I2CWrtFn für i2cwrite eine falsche Parameterliste übergeben: Das Register darf nicht als eigener Hash "reg" geführt werden


CallFn($iodev->{NAME}, "I2CWrtFn", $iodev, {
                        direction  => "i2cwrite",
                        i2caddress => $hash->{I2C_Address},
                        reg =>   $reg,
                        data => join (' ',@data),
                        });


sondern muss als erster Wert im "data" Hash enthalten sein:


CallFn($iodev->{NAME}, "I2CWrtFn", $iodev, {
                        direction  => "i2cwrite",
                        i2caddress => $hash->{I2C_Address},
                        data => $reg.' '.join (' ',@data),
                        });


Als Folge liefert der Sensor nur 0 als Daten zurück, was als 903.4 mBar und 70° C Temperatur interpretiert wird.

Richtig sieht die Funktion so aus:

sub I2C_BMP180_i2cwrite($$$) {
        my ($hash, $reg, @data) = @_;
        if ($hash->{HiPi_used}) {
                eval {
                        $hash->{devBPM180}->bus_write($reg, join (' ',@data));
                        I2C_BMP180_I2CRec($hash, {
                                direction  => "i2cwrite",
                                i2caddress => $hash->{I2C_Address},
                                reg =>                          $reg,
                                data =>                         join (' ',@data),
                        });
                };
                Log3 ($hash, 1, $hash->{NAME} . ': ' . I2C_BMP180_Catch($@)) if $@;;
        } else {
                if (defined (my $iodev = $hash->{IODev})) {
                        CallFn($iodev->{NAME}, "I2CWrtFn", $iodev, {
                        direction  => "i2cwrite",
                        i2caddress => $hash->{I2C_Address},
                        data => $reg.' '.join (' ',@data),
                        });
                } else {
                        return "no IODev assigned to '$hash->{NAME}'";
                }
        }
}
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 11 November 2014, 00:48:42
Zitat von: MEitelwein am 11 November 2014, 00:15:50
im Modul ist noch ein Fehler, der den I2C Betrieb über FRM verhindert:
In der Funktion sub I2C_BMP180_i2cwrite($$$) wird beim Aufruf von I2CWrtFn für i2cwrite eine falsche Parameterliste übergeben: Das Register darf nicht als eigener Hash "reg" geführt werden

falsch ist relativ
Für RPII2C und NetzerI2C ist "reg" notwendig da sonst nicht zwischen Register und Daten unterschieden werden kann.
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: ntruchsess am 11 November 2014, 07:37:21
ich habe vergessen, ob es einen Grund gibt, dass in FRM bei der I2CWriteFn beim i2cwrite das reg nicht ausgewertet wird - sinnvoll ist das nicht. Das sollte man dann aber nicht in den I2C-client-modulen abfangen (das geht ja völlig am Sinn einer hardwareunabhängigen API vorbei), sondern im FRM ändern.

EDIT: Auf der niedrigsten Ebene spezifieziert das I2C-protokoll eigentlich keine Register-addressen, das sind (aus Sicht des Protokolls) einfach Daten. Hängt vom addressierten Chip ab, ob er das erste Byte (oder die ersten Bytes) als Registeraddresse interpretiert oder nicht. Damit gehört es der reinen Lehre nach eigentlich ins Client-modul. Beim Lesen ist das etwas anderes, da muss die (optionale) Register-addresse ja erst auf den I2C-Bus geschrieben werden, bevor auf Lesen umgeschaltet wird. Aber unabhängig davon istl natürlich einfacher dem FRM das Berücksichtigen eines (optionalen) reg-wertes beim i2cwrite hinzuzufügen. Schränkt die Nutzung für Chips die das nicht brauchen ja nicht ein.
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: MEitelwein am 11 November 2014, 07:51:49
Zitat von: klausw am 11 November 2014, 00:48:42
falsch ist relativ
Für RPII2C und NetzerI2C ist "reg" notwendig da sonst nicht zwischen Register und Daten unterschieden werden kann.

In 10_FRM.pm ist die i2c_write Funktion so definiert:


COMMANDHANDLER: {
                        $package->{direction} eq "i2cwrite" and do {
                                $firmata->i2c_write($package->{i2caddress},split(" ",$package->{data}));
                                last;
                        };


Das Hash reg wird also gar nicht ausgewertet und der Write funktioniert erst, wenn das reg als erstes Byte in Data steht. Liegt der Fehler dann also hier, wenn andere i2c_write Implementierungen über 3 Parameter (i2caddress, reg, data) angesteuert werden? Ich bin nicht der Perl Experte und konnte den Code hinter $firmata->i2c_write nicht finden - in welchem Modul ist das eigentlich implementiert?
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: MEitelwein am 11 November 2014, 07:55:03
Noch eine Anregung (und grundsätzlich mal DANKE für dieses Modul!), um netteren Log-Output für das Debugging zu erzeugen:


sub I2C_BMP180_GetCal ($$) {
        my ($hash, $rawdata) = @_;
        my @raw = split(" ",$rawdata);
        my $n = 0;
        my $name = $hash->{NAME};
        $hash->{calibrationData}{ac1} = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++]);
        $hash->{calibrationData}{ac2} = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++]);
        $hash->{calibrationData}{ac3} = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++]);
        $hash->{calibrationData}{ac4} = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++], 0);
        $hash->{calibrationData}{ac5} = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++], 0);
        $hash->{calibrationData}{ac6} = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++], 0);
        $hash->{calibrationData}{b1}  = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++]);
        $hash->{calibrationData}{b2}  = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++]);
        $hash->{calibrationData}{mb}  = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++]);
        $hash->{calibrationData}{mc}  = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++]);
        $hash->{calibrationData}{md}  = I2C_BMP180_GetCalVar($raw[$n++], $raw[$n++]);
        $hash->{STATE} = 'Initialized';
        Log3 $hash, 5, "$name Gelesene Kalibrierungswerte:";
        Log3 $hash, 5, "$name AC1: $hash->{calibrationData}{ac1}";
        Log3 $hash, 5, "$name AC2: $hash->{calibrationData}{ac2}";
        Log3 $hash, 5, "$name AC3: $hash->{calibrationData}{ac3}";
        Log3 $hash, 5, "$name AC4: $hash->{calibrationData}{ac4}";
        Log3 $hash, 5, "$name AC5: $hash->{calibrationData}{ac5}";
        Log3 $hash, 5, "$name AC6: $hash->{calibrationData}{ac6}";
        Log3 $hash, 5, "$name B1 : $hash->{calibrationData}{b1}";
        Log3 $hash, 5, "$name B2 : $hash->{calibrationData}{b2}";
        Log3 $hash, 5, "$name MB : $hash->{calibrationData}{mb}";
        Log3 $hash, 5, "$name MC : $hash->{calibrationData}{mc}";
        Log3 $hash, 5, "$name MD : $hash->{calibrationData}{md}";
        return
}
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: ntruchsess am 11 November 2014, 08:26:32
Zitat von: MEitelwein am 11 November 2014, 07:51:49
$firmata->i2c_write nicht finden - in welchem Modul ist das eigentlich implementiert?
Device/Firmata/Platform.pm (https://github.com/ntruchsess/fhem-mirror/blob/I2C/fhem/FHEM/lib/Device/Firmata/Platform.pm#L575)
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: ntruchsess am 11 November 2014, 08:34:15
-> fixed (http://sourceforge.net/p/fhem/code/6946/)
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 11 November 2014, 09:46:57
Zitat von: ntruchsess am 11 November 2014, 08:34:15
-> fixed (http://sourceforge.net/p/fhem/code/6946/)
das ging schnell  ;D

Beim i2cwrite wird aber unter Umständen auch ein Register übertragen. Habe ich das im 10_FRM.pm übersehen?

Nochmal zur Erklärung, wieso das reg im hash überhaupt existiert.
Bei I2C devices welche mehrere Register besitzen, wird im Fall des Lesens erstmal eine Schreiboperation mit der Registeradresse ausgeführt. Um Lese- und Schreibvorgang einigermaßen homogen zu halten wird das reg in beiden Fällen abgespalten (ausserdem erwarten viele i2c hardwaretreiber ein separates register). Im Nachhinein (also im physical Modul) ist es nicht mehr möglich herauszufinden, ob ein logisches Modul auf Registern basiert (z.B. PCA9532) oder eben nicht (z.B. PCF8574). Daher sollte dies im logischen Modul erfolgen und an das physikalische weitergegeben werden.
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: ntruchsess am 11 November 2014, 10:46:13
Zitat von: klausw am 11 November 2014, 09:46:57
Habe ich das im 10_FRM.pm übersehen?

Ist doch egal, wer das übersehen hat, wir hatten das halt nicht auf dem Radar, dass das im 10_FRM i2cwrite halt ursprünglich ohne register war als wir das Interface abgestimmt haben. Ist ja jetzt nachgezogen.

Gruß,

Norbert
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 11 November 2014, 11:21:10
Ich meinte in Deiner aktuellen Änderung.
Du hast nur das read angepasst und nicht das write, richtig?
Das write müsste auch ein reg verarbeiten können.
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: ntruchsess am 11 November 2014, 12:33:12
kann es doch? (https://github.com/ntruchsess/fhem-mirror/blob/master/fhem/FHEM/10_FRM.pm#L672)
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 11 November 2014, 12:36:43
Zitat von: ntruchsess am 11 November 2014, 12:33:12
kann es doch? (https://github.com/ntruchsess/fhem-mirror/blob/master/fhem/FHEM/10_FRM.pm#L672)

hmm, das meinte ich mit übersehen  8)
danke für den hinweis
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: MEitelwein am 11 November 2014, 18:43:42
Danke für die schnelle Reaktion :) 
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: danieljo am 17 September 2015, 19:15:30
Ich hoffe ich bin hier richtig es geht um das Modul "i2c_BMP180" Ich setze den poll-interval auf 1 und speichere die Config ab. Nach jedem "shutdown restart" wird poll-interval aber wieder auf 5 gesetzt. Das sehe ich daran das neben dem "Save Config" button ein rotes Frage Zeichen zusehen ist klicke ich drauf erscheint die Meldung:

Last 10 structural changes:
  attr BMP180 poll_interval 5


Ich denke das könnte ein BUG sein !?

MFG, Daniel Joachims


Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 18 September 2015, 11:06:38
jop ist nen Bug
werde es evtl. heute noch beheben

Titel: Antw:Neues Modul i2cBMP180
Beitrag von: Edi77 am 20 September 2015, 22:24:28
Hallo,

Ich hätte da auch ein Problem siehe
http://forum.fhem.de/index.php/topic,40927.msg334842.html#msg334842
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: thymjan am 22 September 2015, 04:13:01
Nach jedem "shutdown restart" wird auch attr oversampling_settings auf 3 zurückgedreht.

Bei mir muss ich oversampling_settings auf 0 setzen, da es in Verbindung von FRM und dem Arduino nano mit ENC28J60 sonst zu fehlerhaften Messwerten beim Luftdruck kommt (vermutlich Timingprobleme).

@klausw: Kannst Du da analog zu poll-interval mal nachsehen?
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 22 September 2015, 09:20:00
Zitat von: thymjan am 22 September 2015, 04:13:01
Nach jedem "shutdown restart" wird auch attr oversampling_settings auf 3 zurückgedreht.

Bei mir muss ich oversampling_settings auf 0 setzen, da es in Verbindung von FRM und dem Arduino nano mit ENC28J60 sonst zu fehlerhaften Messwerten beim Luftdruck kommt (vermutlich Timingprobleme).

@klausw: Kannst Du da analog zu poll-interval mal nachsehen?
Na toll, habe auch nen Fehler eingebaut:
Zeile 139 von:
if (AttrVal($name, '', '?') eq '?') {
nach
if (AttrVal($name, 'oversampling_settings', '?') eq '?') {
ändern.

Baue es heute ein, wenn ich Zeit habe
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: klausw am 22 September 2015, 13:00:56
Zitat von: Edi77 am 20 September 2015, 22:24:28
Hallo,

Ich hätte da auch ein Problem siehe
http://forum.fhem.de/index.php/topic,40927.msg334842.html#msg334842
mit FRM kenne ich mich leider überhaupt nicht aus
aber du hast ja kompetente Hilfe ;)

Sind BMP085 und BMP180 von der Ansteuerung her identisch?
Im Modul scheint das entsprechende Attribut keine Auswirkung zu haben.
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: Edi77 am 22 September 2015, 13:47:49
Gute Frage,

Ein BMP180 für 5E ist auf dem Weg zu mir, dann kann ich das mal testen
Jetzt läuft es mal, Temperatur stimmt, aber
2015-09-22_13:10:17 BMP085 T: 22.0 P: 497.9 P-NN: 528.3
2015-09-22_13:15:17 BMP085 T: 22.0 P: 498.0 P-NN: 528.4
2015-09-22_13:20:17 BMP085 T: 22.1 P: 498.1 P-NN: 528.5
2015-09-22_13:30:17 BMP085 T: 22.0 P: 498.0 P-NN: 528.4
2015-09-22_13:35:17 BMP085 T: 22.1 P: 498.1 P-NN: 528.5
2015-09-22_13:40:17 BMP085 T: 22.0 P: 498.0 P-NN: 528.4

Titel: I2C_BMP180 uncompTemp
Beitrag von: thymjan am 22 September 2015, 21:01:49
Bei manchen Messungen sieht man im Modul I2C_BMP180 (in Verbindung mit FRM) unter Internals die Variable uncompTemp. Ein paar Messungen weiter verschwindet diese wieder.

Eigentlich wird ja in der Subroutine I2C_BMP180_GetPress bei jedem Durchgang die Variable aus dem hash gelöscht.
Wie kann es dann sein, das sie gelegentlich angezeigt wird?
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: PeMue am 23 September 2015, 10:22:01
Hallo zusammen,

gerade gefunden:
https://developer-blog.net/hardware/raspberrypi/raspberry-pi-luftdruck-sensor-bmp180/
Der BMP180 sollte genauso wie der BMP085 angesteuert werden können.

Gruß PeMue
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: betateilchen am 23 September 2015, 20:49:29
Zitat von: PeMue am 23 September 2015, 10:22:01
Der BMP180 sollte genauso wie der BMP085 angesteuert werden können.

Diese Erkenntnis ist aber definitiv nicht neu :)
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: nitrosont am 15 Februar 2016, 23:00:28
Hallo zusammen,

ich probiere gerade einen BMP180 in Betrieb zu nehmen. Leider wirft die Installation des HiPi Perl Moduls ein Problem aus. Bei dem Schritt
perl hipi-install
scheitert die Installation von "libopengl-perl":
The following packages have unmet dependencies:
libopengl-perl : Depends: freeglut3 but it is not going to be installed
                  Depends: libglu1-mesa but it is not going to be installed or
                           libglu1
perl-modules : Breaks: libthread-queue-perl (< 3.05)

Obwohl ich manuell "freeglut3" und "libglu1-mesa" bzw. "libglu1" installiert habe, bleibt der Fehler der Gleiche.

Hat jemand eine Idee?
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: thymjan am 16 Februar 2016, 07:04:54
Versuche mal die Anbindung ohne HiPi (alter Weg) mit dem RPII2C-Modul (neuere einfachere Möglichkeit).

Der Raspi sollte für I2C so vorbereitet sein:
http://forum.fhem.de/index.php/topic,40927.msg334204.html#msg334204 (http://forum.fhem.de/index.php/topic,40927.msg334204.html#msg334204)
Titel: Antw:Neues Modul i2cBMP180
Beitrag von: nitrosont am 16 Februar 2016, 19:22:31
Danke für den Tipp! Damit hat es geklappt und ich kann den Luftdruck jetzt anzeigen/loggen!  :D