Autor Thema: Reading für BMP180 nicht nach Poll_interval sondern auf Befehl auslösen  (Gelesen 210 mal)

Offline Werner

  • New Member
  • *
  • Beiträge: 10
Für eine besondere Meßeinrichtung benötige ich den Luftdruck vom BMP180, funktioniert auch schon. Allerdings möchte ich ihn nicht nach Zeit - poll_interval- haben, sondern mit einem Befehl auslösen, also etwa: wenn Zeit xx:yy dann schalte Pumpe an und hole Luftdruck. 
Nicht ganz so wichtig, aber fehlt mir auch:  eigentlich müsste doch global altitude  als attribut vorhanden sein, damit man den Luftdruck auf die jeweilige Höhe korrigieren kann. Hab ich nicht gefunden.
Hat jemand einen Tip?

Offline Nobbynews

  • Full Member
  • ***
  • Beiträge: 333
siehe commandref:
Zitat
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
Das Intervall 0 wird vom Modul nicht unterstützt, also ggf. das Attribut auf 30 (Minuten) setzen.

Zitat
altitude
if set, this altitude is used for calculating the pressure related to sea level (metres above mean sea level) MAMSL

Note: this is a global attributes, e.g

    attr global altitude 220
Damit ist die Frage nach der Höhe über NN klar. Das Attribut wird nicht mit <device> gesetzt.

Und der gezielte Abruf eines Messwertes geht über:
Zitat
set BMP180 <readValues>

Reads the current temperature and pressure values from sensor.
Normaly this execute automaticly at each poll intervall. You can execute this manually if you want query the current values.

Hier also vermutlich
set <device> pressure
« Letzte Änderung: 19 August 2021, 10:45:10 von Nobbynews »

Offline Werner

  • New Member
  • *
  • Beiträge: 10
vielen Dank, Problem gelöst, es funktioniert, wie ich es gedacht habe.
Allerdings bin ich als extrem schlechter Matheschüler mit der Auswertung überfordert. 

Die ganze Mimik dient dazu, den Ölstand im Tank zu messen. Ich schalte einmal am Tag eine winzige Luftpumpe über FHEM an ( ca. 3 Sekunden)  und blase Luft in den Tank, ganz wenig, so daß es gerade blubbert.   In der Zuleitung ist ein BMP180 luftdicht eingebaut. Ich bekomme also ein reading für den aktuellen Luftdruck und ein höheres reading, wenn die Luftsäule im Tank steht. Der Gegendruck ist direkt proportional der Ölsäule, also dem Füllstand, völlig unabhängig von der Tankform. 
Zur Kalibrierung messe ich mit dem Zollstock außen am Tank, man kann die Füllhöhe ja einigermaßen sehen mit viel Licht.

Jetzt bräuchte ich mal Nachhilfe, wie ich die Meßwerte (Druck normal, Druck wenn Pumpe an, Kalbrierwert)  in Beziehung setze, so daß mir dann  bei jeder Ausführung die tatsächliche Füllhöhe als Zahlenwert angezeigt wird ( ich lasse sie dann über MyTTS vorlesen, wie schon alle andere Meßwerte im Haus) 

Im Gegensatz zu allen anderen Meßeinrichtungen muß nichts am Tank gebastelt werden, lediglich ein ganz dünner PTFE-Schlauch wird eingeführt.  Raspi und Luftpumpe sowie Sensor sitzen in einem kleinen Kästchen entfertn an der Wand.

Wenn es ganz fertig ist, poste ich eine Bauanleitung.