Seite 2 von 8
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 08.06.2020, 22:39
von schlichi
Hallo Zusammen,
Muasmolle hat geschrieben: ↑01.04.2020, 15:28
Hey, vielen Dank für dieses Skript! Funktioniert tadellos und recht genau. Habe es mit einer anderen Berechnung
verglichen -> passt.
Code: Alles auswählen
! Programmteil Lüftungsempfehlung
! Lokale Variablen
real tin = oTi.Value(); ! Temperatur in °C innen
integer rfin = oHi.Value(); ! relative Feuchte in % innen
real afin; ! absolute Feuchte in g/kg innen
real tau = oTa.Value(); ! Temperatur in °C außen
integer rfau = oHa.Value(); ! relative Feuchte in % außen
real afau; ! absolute Feuchte in g/kg außen
! xxx
real r = (17.62 * tin) / (243.12 + tin);
real e = r.Exp()*611.2;
real eSat = e * rfin;
real afin = ((eSat / 461.51 * (tin+273.15))*10).ToString(2);
WriteLine("abs. Feuchte innen e*: " + afin);
! xxx
! Berechnung der absoluten Feuchte innen
if (tin < 0.0) {tin = 0.0;}
if (tin < 10.0)
{ afin = (3.78 + (0.29 * tin) + (0.0046 * tin * tin) + (0.00051 * tin * tin * tin)) * 0.01 * rfin;
}
else
{ afin = (7.62 + (0.51 * (tin-10.0)) + (0.0143 * (tin-10.0) * (tin-10.0)) + (0.00045 * (tin-10.0) * (tin-10.0) * (tin-10.0))) * 0.01 * rfin;
}
! xxx
real r = (17.62 * tau) / (243.12 + tau);
real e = r.Exp()*611.2;
real eSat = e * rfau;
real afau = ((eSat / 461.51 * (tau+273.15))*10).ToString(2);
WriteLine("abs. Feuchte aussen e*: " + afau);
! xxx
! Berechnung der absoluten Feuchte außen
if (tau < 0.0) {tau = 0.0;}
if (tau < 10.0)
{ afau = (3.78 + (0.29 * tau) + (0.0046 * tau * tau) + (0.00051 * tau * tau * tau)) * 0.01 * rfau;
}
else
{ afau = (7.62 + (0.51 * (tau-10.0)) + (0.0143 * (tau-10.0) * (tau-10.0)) + (0.00045 * (tau-10.0) * (tau-10.0) * (tau-10.0))) * 0.01 * rfau;
}
ja, ich hab´s auch mal verglichen, -> was mache ich falsch? Oder stimmt das "passt" nicht?
Code: Alles auswählen
Parameter für Test
abs. Feuchte innen e*: 9.84
abs. Feuchte aussen e*: 9.39
abs. Feuchte innen: 8.474568
abs. Feuchte aussen: 8.096046
Referenz
https://www.ib-rauch.de/bautens/formel/ ... eucht.html
Luftdruck 1013.3 bar
bestätigt meine Werte! Womit hat "Muasmolle"verglichen?
Grüße
schlichi
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 09.06.2020, 00:11
von MichaelN
Fehlt da eine relevante Info oder ist es einfach schon zu spät für mich?
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 09.06.2020, 10:10
von schlichi
MichaelN hat geschrieben: ↑09.06.2020, 00:11
Fehlt da eine relevante Info oder ist es einfach schon zu spät für mich?
Wie man´s nimmt, das vorwegstehende Auslesen der Sensoren hab ich weggelassen, kann jedoch jeder anhand des ursprünglichen Programmcodes (siehe link) für seine Umgebung einbauen.
Gruß
schlichi
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 09.06.2020, 10:13
von MichaelN
Und woher sollen wir wissen, was deine Sensoren gemessen haben? Oder anders ausgedrückt, wenn wir das Ergebnis verifizieren sollen, brauchen wir auch den input
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 09.06.2020, 12:26
von schlichi
Hallo Michael,
ich war der Meinung, daß der Programmausschnitt für diejenigen welche das Programm kennen, ausreichend wäre.
Aber hier das komplette
Testprogramm !
Code: Alles auswählen
! Berechnung mit e-funktion testen
!https://smart-wohnen.org/homematic-raumklimaueberwachung-und-entfeuchtung/
!by paul53
! Berechnung der Lüftungsempfehlung 01.06.2020 / schlichi
!
object oTHi = (dom.GetObject(ID_CHANNELS)).Get("Dein Sensorkanal innen, :1");
object oTi = oTHi.DPByHssDP("ACTUAL_TEMPERATURE");
object oHi = oTHi.DPByHssDP("HUMIDITY");
!
!
object oTHa = (dom.GetObject(ID_CHANNELS)).Get("Dein Sensorkanal außen, :1");
object oTa = oTHa.DPByHssDP("ACTUAL_TEMPERATURE");
object oHa = oTHa.DPByHssDP("HUMIDITY");
!
! Programmteil Lüftungsempfehlung
! Lokale Variablen
real tin = oTi.Value(); ! Temperatur in °C innen
integer rfin = oHi.Value(); ! relative Feuchte in % innen
real afin; ! absolute Feuchte in g/kg innen
real tau = oTa.Value(); ! Temperatur in °C außen
integer rfau = oHa.Value(); ! relative Feuchte in % außen
real afau; ! absolute Feuchte in g/kg außen
! xxx
! https://homematic-forum.de/forum/viewtopic.php?p=528541#p528541
!
real r = (17.62 * tin) / (243.12 + tin);
real e = r.Exp()*611.2;
real eSat = e * rfin;
real afin = ((eSat / 461.51 * (tin+273.15))*10).ToString(2);
WriteLine("abs. Feuchte innen e*: " + afin);
! xxx
! xxx
! https://homematic-forum.de/forum/viewtopic.php?p=528541#p528541
!
real r = (17.62 * tau) / (243.12 + tau);
real e = r.Exp()*611.2;
real eSat = e * rfau;
real afau = ((eSat / 461.51 * (tau+273.15))*10).ToString(2);
WriteLine("abs. Feuchte aussen e*: " + afau);
! xxx
!
! Berechnung der absoluten Feuchte innen
if (tin < 0.0) {tin = 0.0;}
if (tin < 10.0)
{ afin = (3.78 + (0.29 * tin) + (0.0046 * tin * tin) + (0.00051 * tin * tin * tin)) * 0.01 * rfin;
}
else
{ afin = (7.62 + (0.51 * (tin-10.0)) + (0.0143 * (tin-10.0) * (tin-10.0)) + (0.00045 * (tin-10.0) * (tin-10.0) * (tin-10.0))) * 0.01 * rfin;
}
! Berechnung der absoluten Feuchte außen
if (tau < 0.0) {tau = 0.0;}
if (tau < 10.0)
{ afau = (3.78 + (0.29 * tau) + (0.0046 * tau * tau) + (0.00051 * tau * tau * tau)) * 0.01 * rfau;
}
else
{ afau = (7.62 + (0.51 * (tau-10.0)) + (0.0143 * (tau-10.0) * (tau-10.0)) + (0.00045 * (tau-10.0) * (tau-10.0) * (tau-10.0))) * 0.01 * rfau;
}
!
WriteLine(" ");
WriteLine("Parameter für Test");
WriteLine("Temperatur innen: " + tin);
WriteLine("rel. Feuchte innen %: " + rfin);
WriteLine("abs. Feuchte innen: " + afin);
WriteLine("Temperatur aussen: " + tau);
WriteLine("rel. Feuchte aussen %: " + rfau);
WriteLine("abs. Feuchte aussen: " + afau);
"Dein Sensorkanal innen, :1" bzw, "..... außen", sind jeweils entsprechend zu ersetzen.
Meine Werte gerade eben: (Luftdruck 1013,5)
Code: Alles auswählen
abs. Feuchte innen e*: 10.43
abs. Feuchte aussen e*: 9.75
Parameter für Test
Temperatur innen: 23.300000
rel. Feuchte innen %: 50
abs. Feuchte innen: 8.995607
Temperatur aussen: 14.400000
rel. Feuchte aussen %: 79
abs. Feuchte aussen: 8.041553
Gruß
schlichi
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 09.06.2020, 12:56
von MichaelN
Geht doch.
Ich nutze nicht das Skript, sondern ein CuxD Device.
Das berechnet bei:
Temperatur innen: 23.5
rel. Feuchte innen %: 50
abs. Feuchte innen: 11,0 g/m3
Temperatur aussen: 14.5
rel. Feuchte aussen %: 79
abs. Feuchte aussen: 7,1 g/m3
Wobei das so verkehrt nicht sein kann, weil ich danach im Keller lüfte und die gemessenen Ergebnisse sind plausibel.
Bei dem Rechner:
https://rechneronline.de/barometer/luftfeuchtigkeit.php kommen auch wieder andere Werte raus
Scheint ne Wissenschaft für sich zu sein...
btw: was für eine EInheit berechnet dein Skript denn?
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 09.06.2020, 13:25
von schlichi
Hallo,
btw: was für eine EInheit berechnet dein Skript denn?
steht im Programm:
real afau; ! absolute Feuchte in g/kg außen
Gruß
schlichi
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 09.06.2020, 13:45
von MichaelN
So sicher wäre ich mir da nicht
Im Programm steht auch dieser Link
viewtopic.php?p=528541#p528541
und darunter steht
rLf: relative Luftfeuchte
t: Temperatur [°C]
aLf: absolute Luftfeuchte [g/m³]
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 09.06.2020, 14:21
von schlichi
Hallo Michael,
besten Dank. Man sollte immer alles lesen!
Die "e"-Formel gibt die absolute Luftfeuchte in g/m³ Luft (-volumen) an,
meine ursprüngliche Berechnung gibt die absolute Luftfeuchte in g/kg Luft (-masse) an.
Demzufolge beide Berechnungsarten zu einem Ergebnis führen.
Das war´s.
Gruß
schlichi
Re: Absolute Luftfeuchtigkeit und Taupunkt ermitteln
Verfasst: 01.08.2020, 16:13
von ZaHackn
DJDieter hat geschrieben: ↑10.09.2019, 00:08
Falls jemand ein Script zur Berechnung der absoluten Luftfeuchtigkeit benötigt:
Code: Alles auswählen
var rLf = dom.GetObject("BidCos-RF.MEQ0000000:1.HUMIDITY").Value();
var t = dom.GetObject("BidCos-RF.MEQ0000000:1.TEMPERATURE").Value();
var r = (17.62 * t) / (243.12 + t);
var e = r.Exp()*611.2;
var eSat = e * rLf;
var aLf = ((eSat / 461.51 * (t+273.15))*10).ToString(2);
rLf: relative Luftfeuchte
t: Temperatur [°C]
aLf: absolute Luftfeuchte [g/m³]
Funktioniert auch mit HmIP-Geräten, ohne den Umweg über die CUxD-Integration gehen zu müssen.
Der Wert "MEQ0000000" muss doch durch die Seriennummer meines Außensensors getauscht werden um zu funktionieren oder? Dann ein Programm bauen was dieses Skript z.B. alle 5 Minuten auslöst um aktuelle Werte zu erhalten, korrekt?