Script zur Berechnung des Feuchtegehalts

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Script zur Berechnung des Feuchtegehalts

Beitrag von paul53 » 16.02.2014, 20:17

Habe das Skript zur Berechnung der Warn- und Alarmgrenzfeuchte vereinfacht
http://homematic-forum.de/forum/viewtop ... 835#p71539,
denn der Sättigungsfeuchtgrad der Wand muss nur einmal berechnet werden.
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Benutzeravatar
JPS
Beiträge: 1093
Registriert: 07.08.2010, 22:51
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 8 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Script zur Berechnung des Feuchtegehalts

Beitrag von JPS » 16.02.2014, 23:01

paul53 hat geschrieben:Habe das Skript zur Berechnung der Warn- und Alarmgrenzfeuchte vereinfacht
http://homematic-forum.de/forum/viewtop ... 835#p71539,
denn der Sättigungsfeuchtgrad der Wand muss nur einmal berechnet werden.
Ist im Artikel umgesetzt. Ich habe es vorher mal ausprobiert, läuft...
Zwischenablage01.jpg
Verwendung meiner Hinweise und Skripte auf eigenes Risiko | Ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

C

Beitrag von Homoran » 23.04.2014, 09:58

Ich habe jetzt die neuen Wandthermostaten als reine Thermo- Hygrometer eingesetzt.
Die Temperatur passt hervorragend zu den bisherigen Meßwerten mit TH-I und TH-O, lediglich die rF liegt bei beiden Raumthermostaten exakt gleich, jedoch ca. 10% niedriger als bei allen THs, die in sich wieder exakt gleich sind (ca. 45% statt 50%).

ich habe jetzt als Workaround im Skript eingegeben rf = (rf * 1.1)

Code: Alles auswählen

...
! Werte einlesen
t = dom.GetObject("BidCos-RF.LEQ0081020:1.TEMPERATURE").Value(); 
rf = dom.GetObject("BidCos-RF.LEQ0081020:1.HUMIDITY").Value();
rf = (rf * 1.1);
...
Bei dem einen Wandthermostaten ändert sich die aF gar nicht, bei anderen nur marginal; (7,676 -> 7,724)

Wo habe ich denn den Denkfehler?
bei einer Erhöhung der rF um 10% muss doch bei gleicher Temperatur (21°C) die aF auch ansteigen?
Zum Testen habe ich den Faktor auf 2 gesetzt, da stieg die aF von 7,724 auf 15,643

[EDIT] auf der Seite: http://www.wetterochs.de/wetter/feuchte.html bekomme ich außerdem deutlich höhere Werte heraus (ca. +15%). Die kommen mir plausibler vor.
Ich weiß, dass mit HM nur Grundrechenarten möglich sind. Deshalb habe ich so eine Formel selber gar nicht umsetzen können. :shock:

Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Script zur Berechnung des Feuchtegehalts

Beitrag von paul53 » 23.04.2014, 12:59

Homoran hat geschrieben:

Code: Alles auswählen

rf = (rf * 1.1);
funktioniert nicht, da rf ein Integer-Wert ist (der Wert 1.1 wird auf 1 abgerundet).
Richtig:

Code: Alles auswählen

rf = 1.1 * rf;
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Script zur Berechnung des Feuchtegehalts

Beitrag von paul53 » 23.04.2014, 13:07

Homoran hat geschrieben:[EDIT] auf der Seite: http://www.wetterochs.de/wetter/feuchte.html bekomme ich außerdem deutlich höhere Werte heraus (ca. +15%).
Bei wetterochs.de wird die absolute Luftfeuchte in g/m³ berechnet. Das Script berechnet den Feuchtegehalt in g/kg (g Wasser pro kg trockener Luft).
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Script zur Berechnung des Feuchtegehalts

Beitrag von Homoran » 23.04.2014, 13:36

Natürlich! :oops:

Code: Alles auswählen

! Lokale Variablen
real    t;   ! Temperatur in °C 
integer rf  ! relative Feuchte in %
real    af;  ! absolute feuchte in g/kg

! Werte einlesen
t = dom.GetObject("BidCos-RF.LEQ0080851:1.TEMPERATURE").Value(); 
rf = dom.GetObject("BidCos-RF.LEQ0080851:1.HUMIDITY").Value(); 
rf = (1.1 * rf);
klappt jetzt, Danke!
zumindest die abs-Werte sind jetzt mit den übrigen Werten vergleichbar.

Was die "echte Richtigkeit" der abs-Werte angeht: Wieso sind die Werte nach deinem Skript soviel niedriger, als nach (allen) anderen mir bekannten Formeln?

z.B.
http://www.wetterochs.de/wetter/feuchte.html
http://www.hobby-photo.de/shop/pg45.htm
Dies ist eine Frage ;-), kein Meckern!

EDIT: da haben sich unsere posts überschnitten, auch hier nochmal danke!

Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Script zur Berechnung des Feuchtegehalts

Beitrag von Homoran » 23.04.2014, 17:36

So, ich habe jetzt mal drei "Thermo-Hygrometer" nebeneinander gestellt.

- Der HM-TC-IT-WM-W-EU (ist eingebaut in einem GIRA 3er Rahmen über einem Schaltaktor und musste seitdem einen Offset von -1° ertragen)
- Der TC-IT-WM-W-EU (TH-O) soll mal nach draußen kommen, liegt im Moment sonst im Wohnzimmer
- Der HM-WDS40-TH-I steht sonst im Bad
Temp_Feucht_abs_korr.jpg
Die Werte für die absolute Feuchte (ich habe es trotzdem g/m³ genannt auch wenn es g/kg sind) sind jetzt im Skript mit einem Faktor versehen.
Die originalwerte der relativen Feuchte sieht man in den "Tachoanzeigen" und in den Buttons für die Chartdarstellung, die ich in den Thermometerbasis versteckt habe.

Früher hatte ich alle meine Thermometer mal nebeneinander gelegt. Die Temperatur war +/- 0,1° Der Schaltaktor strahlt wohl etwas Wärme ab, deswegen jetzt korrigiert.
Die Feuchtigkeit bei TH-I, TH-O und OC3 waren nahezu identisch, die der Wandthermostaten untereinander auch aber eben um 10% niedriger. als in der anderen Gruppe.
Durch die Faktorisierung im Skript kann ich jetzt wenigstens die absolute Feuchte korrigieren, um die Lüftungsempfehlung oder -steuerung mit verschiedenen Geräten besser in den Griff zu bekommen

Danke nochmals
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

Markus R
Beiträge: 14
Registriert: 19.11.2013, 21:55

Re: Script zur Berechnung der absoluten Feuchte

Beitrag von Markus R » 15.06.2014, 22:56

JPS hat geschrieben:Interessant, kannst du noch beschreiben, welches physikalische Rational / welche Formel hinter deiner Berechnung steckt?

Anmerkung Stand Februar 2014:
Mit Unterstützung von "paul53" habe ich die wesentlichen Erkenntnisse und Empfehlungen aus diesem - zwischenzeitlich etwas
unübersichtlich gewordenen - Thread
in einem Artikel zusammengefasst. Vielleicht ist das ja für jemanden hilfreich.
Um die Werte der absoluten Feuchtigkeit mit denen verschiedener Rechner im Internet vergleichen zu können, war ich auf der Suche nach einer Formel, die das Ergebnis in g/m3 zurück gibt.

Auf Grund der Beschränkungen der Scriptsprache (keine ln/log/exp Funktionen) habe ich folgende Näherungsformel per Excel mit einer quadratischen Gleichung angenähert.

Quelle: http://www.wetterochs.de/wetter/feuchte.html
Näherungsformel: AF= 13,233 * rF * ((10 ^ ((7,5 * T) / (237 + T))) / (273,16 + T))
Ergebnis zum Einsetzen in Skript:
af = (0.073285404876355*t)+(0.00146403726645358*t*t)+(0.038722254159359*rf)+(0.0000496056590027689*rf*rf)+(0.00287021134797329*t*rf)+(0.00000155149810199798*t*rf*t*rf);

Die quadratische Näherung hat im Wertebereich rf:(20-95), t:(0-25) einen maximalen quadratischen Fehler von 0,6. Siehe auch folgendes Bild:
relative und absolute Luftfeuchtigkeit.jpg
Vielleicht kann dies jemand verwenden. Kommentare herzlich willkommen :-)

Mercy00
Beiträge: 50
Registriert: 04.08.2013, 14:25

Re: Script zur Berechnung des Feuchtegehalts

Beitrag von Mercy00 » 29.06.2014, 11:01

Hallo
ich habe ein Problem das Script zur Berechnung der absotuten Feuchte zum Laufen zu bringen. Ich bin offensichtlich zu blöd oder ich bin blind. Wäre echt total tollwenn mir jemand helfen könnte. Könntet ihr mir das Script schicken wenn angenommen der Temperatursender die Seriennummer "IEQ1234567" hat und die Sysvar in die der Wert g/Kg geschrieben werden soll "absolutF" heisst.

Wäre echt nett! Bin ein blutiger Anfänger :roll:

paul53
Beiträge: 2554
Registriert: 26.04.2012, 20:42
Wohnort: Berlin
Danksagung erhalten: 15 Mal

Re: Script zur Berechnung des Feuchtegehalts

Beitrag von paul53 » 29.06.2014, 11:57

Wenn Du mit der Seriennummer arbeitst, dann so:

Code: Alles auswählen

! Feuchtegehalt berechnen und in Systemvariable schreiben

! Lokale Variablen
real    t;   ! Temperatur in °C
integer rf;  ! relative Feuchte in %
real    af;  ! Feuchtegehalt in g/kg

! Werte einlesen
t = dom.GetObject("BidCos-RF.IEQ1234567:1.TEMPERATURE").Value();
rf = dom.GetObject("BidCos-RF.IEQ1234567:1.HUMIDITY").Value(); 

! Berechnung Sättigungsfeuchtegehalt
if (t < 0.0) {t = 0.0;}
if (t < 10.0)
{ af = (3.78 + (0.285 * t) + (0.0052 * t * t) + (0.0005 * t * t * t));
}
else
{ af = (7.62 + (0.524 * (t-10.0)) + (0.0131 * (t-10.0) * (t-10.0)) + (0.00048 * (t-10.0) * (t-10.0) * (t-10.0)));
}
! Feuchtegehalt
af = (af * rf) / (100.0 + af * (100.0 - rf) / 622);

! In Systemvariable schreiben
dom.GetObject("absolutF").State(af);
Versionen: HM-CC-TC 2.1, HM-LC-Sw1 1.9, HM-CC-RT-DN 1.1, HM-MOD-RPI-PCB 1.2.1 (keine CCU)

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“