Hauptmenü

Rechnen mit FHEM

Begonnen von thoweiss, 09 Januar 2013, 12:57:55

Vorheriges Thema - Nächstes Thema

thoweiss

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


   

Tobias

genau(!) dafür gibt es das Attribut VFUNCTION in OWMULTI
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

nebenbei würde mich interessieren, wie bzw mit welcher Hardware du den Zisternenfüllstand misst. Schlussendlich gibts ja eine Analogspannung 0-5V
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

thoweiss

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.