Kann mir jemand erklären wie das funktioniert ?
Hier
https://homematic-forum.de/forum/viewt ... 9#p678371
gibt es Formeln zur Berechnung der absoluten Feuchte für innen und aussen:
Code: Alles auswählen
! xxx Berechnung der absoluten Feuchte innen (in g/m³ Luftvolumen)
! https://homematic-forum.de/forum/viewtopic.php?f=26&t=69549&p=678384#p678382
!
real afVin = (0.0 + (rfin * 13.245 * ((17.67 * tin)/(tin + 243.5)).Exp()) / (273.15 + tin)).ToString(2);
! xxx
!
! xxx Berechnung der absoluten Feuchte außen (in g/m³ Luftvolumen)
!
real afVau = (0.0 + (rfau * 13.245 * ((17.67 * tau)/(tau + 243.5)).Exp()) / (273.15 + tau)).ToString(2);
! xxx
!
! xxx Berechnung der Lüftungsempfehlung in g/m³ Luftvolumen
! true Faktor; 0.8 bis 1.5; false Faktor; 0.3 bis 0.5; Hysterese mind 0.5
if (afVau < afVin - 1.2) {oLueften.Variable(1);}
else {
if (afVau >= afVin - 0.5) {oLueften.Variable(0);}
}
In den nachfolgenden if/else - Statements wird dann mit diesen Strings noch gerechnet - 1.2 bzw 0.5 subtrahiert.
Nach meiner Kenntnis kann man mit Zahlen in Strings nicht direkt rechnen
sowie nicht so ohne weiteres auf Grösser / Kleiner prüfen.
Z.B., wird "6" bei dem Vergleich immer grösser als "10" gewertet.
Also daher nochmal die Frage, wieso das funktioniert
und warum man überhaupt bei den Berechnung ToString() verwendet?
Gruß
Harry