Hallo zusammen.
Wie kann ich in FHEM Messwerte umrechnen?
Ich habe z.B einen 1-Wire DS2438 der mir folgende readings liefert:
VAD 0.98, VDD 8.97, temperature 7
Wie kann ich diese Messwert jetzt weiterverarbeiten?`
Mit einem externen perl-script? Oder per notify?
Irgenwie finde ich im Wiki nicht das richtige was mir auf die Sprünge hilft...
Ich komme ja von Misterhouse her und da kann ich ja direkt mit den Perl-Objekten arbeiten.
Beispielscript von MH:
#------------------------Abfrage und Berechnung des Zisternenfüllstands------------------------------
my $temp_zisterne = sprintf ("%0.1f", ($owserver->read('/bus.0/26.200776000000/temperature')));
my $temp_fuell = $owserver->read('/bus.0/26.200776000000/VAD');
my $temp_spannungUb = 0; #(!!deaktiviert!!)$owserver->read('/bus.0/26.200776000000/VDD');# Auslesen der Versorgungsspannung
$dT = $temp_zisterne - 20; #deltaT berechenen Refernztemp = 20°C
$dP = $dT * 0.6; #deltaT x Faktor cm/K 0.6cm/K
#Berechnung des F�llhühe der Zisterne. ((Sensormesswert - Offset)/0.006)
#$fuell = sprintf ("%0.1f", (($temp_fuell - 0.65)/0.006) - $dP ); #mit Temperaturkompensation
#$fuell = sprintf ("%0.1f", (($temp_fuell - 0.65)/0.006)); #ohne Temperaturkompensation
$fuell = sprintf ("%0.1f", (($temp_fuell - 0.48)/0.007)); #ohne Temperaturkompensation 0,007V/cm Wasserstand
#Umrechnung Füllhöhe in Liter
$liter = sprintf ("%0000u", ($fuell * 0.88 * 26.3));
if ($liter > 3500){
$liter = 3500;
}
elsif ($liter < 0){
$liter = 0;
}
$temp_fuell = $liter;
Aber wie gehe ich da bei fhem ran?
Wäre schön wenn ihr mir einen Schubser geben könntet...
genau(!) dafür gibt es das Attribut VFUNCTION in OWMULTI
nebenbei würde mich interessieren, wie bzw mit welcher Hardware du den Zisternenfüllstand misst. Schlussendlich gibts ja eine Analogspannung 0-5V
Ich nutze aber nicht die Module Vom Professor...
Ich habe die OWFS Module von Boris da ich auf OWFS nicht verzichten möchte...
Der Füllstand wird mit einem Motorola MPXirgenwas (genauen Typ muss ich raussuchen) und nem OP-VErstärker an den DS2438 übergeben.