Wie MS-TH als Instanz einfügen ?

Hallo Leute,

habe mir heute einen neuen Sensor für mein 1 Wire Netzwerk zugelegt, den Multisensor MS-TH, der sowohl Temperatur als auch Luftfeuchte messen kann. Den Temperatursensor kann ich ohne Probleme in IP Symcon einbauen, aber leider ist mir der Luftfeuchtesensor noch nicht gelungen.
Laut Datenblatt wird hier ein Honewell Sensor verwendet, diesen kann ich leider nicht als finden.

Hat jemand von Euch schon Erfahrung damit gemacht ?

Danke
Gregor

Hallo,

die Feuchte wird nicht direkt ausgegeben, sondern muss aus den Spannungen die der DS2438 bereitstellt errechnet werden.

Hier mal eine Anleitung von eservice-online.

Nach meiner Erfahrung ist jedoch ein slope von 38.680 einzugeben, in der Anleitung sind es 34.558 - laut Datenblatt von Honeywell gar nur 30.680

Hier auch noch das angepasste Skript, das ich verwende:

<?

//Variablen
$temp = GetValueFloat (45758 /*[Wohnung 7\DS18B20 - Raumtemperatur\@Wohnung 7 - Raumtemperatur (Messwert)]*/);
$Vad = GetValueFloat (20499 /*[Wohnung 7\DS2438 - Multisensor\@VAD]*/);
$Vdd = GetValueFloat (52359 /*[Wohnung 7\DS2438 - Multisensor\@VDD]*/);

//Feuchteberechnung
// OFFSET 0.958062V bei 0%RH
// SLOPE: 30.680 mV/%RH

$Srh = ($Vad - 0.958062) * 38.680;
$Feuchte = $Srh / ((1.0305 + (0.000044 * $temp) - (0.0000011 * pow($temp,2))));
$RoundFeuchte= round ($Feuchte, 1);
$RoundFeuchte_ = sprintf("%2.1f", $RoundFeuchte);
SetValueFloat (59908 /*[Wohnung 7\DS2438 - Multisensor\Wohnung 7 - Luftfeuchte]*/ , $RoundFeuchte);
echo "Feuchte: $RoundFeuchte_ %rF
";

//Taupunktberechung
if( $temp >= 0 )
{
$a=7.5; $b=237.3;
}
else
{
$a=7.6; $b=240.7;
}

$sdd = 6.1078 * pow(10.0, ( ($a*$temp) / ($b+$temp) ) ); 
$dd =($RoundFeuchte/100.0) * $sdd; 
$v =log10 ( ($dd/6.1078) );
$td =($b*$v) / ($a-$v); 
$taupunkt =($td*100+0.5) / 100;
$RoundTaupunkt= round ($taupunkt, 1);
$RoundTaupunkt_1 = sprintf("%2.1f", $RoundTaupunkt);
SetValueFloat (57953 /*[Wohnung 7\DS2438 - Multisensor\Wohnung 7 - Taupunkt]*/ , $RoundTaupunkt);
echo "Taupunkt: $RoundTaupunkt_1 Grad
";

//Versorgungsspannung des Temp/Feuchtemoduls
$Round_Vdd_= round ($Vdd, 2);
$Round_Vdd_1 = sprintf("%2.2f", $Round_Vdd_);
SetValueFloat (44136 /*[Wohnung 7\DS2438 - Multisensor\Wohnung 7 - Busspannung]*/ , $Round_Vdd_);
echo "Versorgungsspannung: $Round_Vdd_1 V
"; 

?>

Als Ausgabe nutze ich Float statt String, angepasster slope Wert und ein paar kleine Verschlimmbesserungen :slight_smile:

Ok, danke. Ich werde es mal probieren.

Hallo,

habe das Modul auch im Einsatz - geht super (Als Instanz DS2438 hinzufügen).
Im „Fuchs - shop“ : mal googeln mit „Fuchs 1-wire“ findet sich auch die Doc zu den Modulen.

Daraus ist zu entnehmen, dass 0.8 V == 0% und 4,7 V 100% rel. Luftfeuchte entsprechen.

Ich habe eine Variable „Feuchte hinzugefügt“ - und einen Event, der bei Änderung der Spannung (ich glaube es war VAD) die Feuchte wie folgt berechnet:

$rf= round(($Messwert-0.8) /3.9*100,1);

(für $rf und $Messwert - natürlich die entsprechenden IPS Variablen verwenden/ zuweisen).

VG
Zuse