Neues Modul i2cBMP180

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

Vorheriges Thema - Nächstes Thema

betateilchen

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.
-----------------------
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 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
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

Dirk

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

PeMue

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.

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?
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

Dirk

ZitatOder ich gehe in den Keller und hole mir ein Bier.
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.

Dirk

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

Dirk

#51
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)

ext23

Hi,

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

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Dirk

Hi Daniel,

bei mir sieht es so aus:

(siehe Anhang / see attachement)


Die Ranges kannst du auch leer lassen.

Gruß
Dirk

ext23

Ahh danke, misst jetzt hab ich mein Fehler gefunden, da stand ja noch ne 3 bei mir oO

Danke!
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

betateilchen

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
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dirk

Hi Udo,

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

Bei welcher Aktion bekommst du den Fehler?

Gruß
Dirk

betateilchen

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
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dirk

#58
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)

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!