NEWS
ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen
-
@klassisch
ich brauche doch nochmal deine Hilfe.
Entweder ich habe den Trigger nicht richtig gesetzt, oder da ist noch was falsch.
beim Scriptstart klappt alles, aber entweder die Triggersyntax passt nicht, was mich nicht wundern würde, oder ich rufe die falsche Funktion auf, oder in der Funktion fehlt was (vobereitung()). -
@homoran ich sehe nichts
-
@klassisch sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
@homoran ich sehe nichts
keinen Fehler oder nicht das Skript im Spoiler?
-
@homoran So, habe jetzt den Spoiler gefunden
on({id: 'javascript.1.Raumklima.Raum.Werkstatt.Taupunkt', change: "any"}, function() { // löst bei jeder Aktualisierung aus Temp = getState('hm-rpc.0.JEQ0046663.1.TEMPERATURE').val/*Klima Werkstatt:1 TEMPERATURE*/; Hrel = getState('hm-rpc.0.JEQ0046663.1.HUMIDITY').val - 2.5/*Klima Werkstatt:1 HUMIDITY*/; Luftfeuchteberechnungen(Temp,Hrel); setState('javascript.1.Raumklima.Raum.Werkstatt.DETAILS.aw70',Math.round(awWert70()*10)/10, true); setState('javascript.1.Raumklima.Raum.Werkstatt.DETAILS.aw80',Math.round(awWert80()*10)/10, true); });
-
@klassisch danke!
und ich dachte ich hätte etwas mehr js gelernt -
@homoran Ich kratze da auch nur an der Oberfläche. Und gewisse Dinge plappere ich nach wie ein Papagei, ohne mich mal grundegend mit der Struktur beschäftigt zu haben. Das Triggern durch "on" gehört dazu
Warum triggerst Du eigentlich auf den Taupunkt, der ja bereits ein verarbeiteter Wert ist und nicht auf einen direkten Sensorwert wie z.B.
hm-rpc.0.JEQ0046663.1.TEMPERATURE
? -
@klassisch sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Warum triggerst Du eigentlich auf den Taupunkt,
weil ich faul bin.
die Änderung des Taupunktes beinhalter mögliche Änderungen von Temperatur und/oder Feuchte.
Damit erschlage ich beides (denke ich zumindest)Das mit dem Papagei ist genau mein Thema. Aber ich muss es verstanden haben um nicht immer wieder irgendwo nachsehen zu müssen.
Deswegen arbeite ich mit Blockly, weil ich nichtmal die Syntax hinbekomme.Inzwischen hat sich der Wert zumindest einmal geändert und getriggert!
-
@homoran sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
die Änderung des Taupunktes beinhalter mögliche Änderungen von Temperatur und/oder Feuchte.
Damit erschlage ich beides (denke ich zumindest)Der HM-Sensor wird wohl eh beides gleichzeitig einliefern, vermute ich.
Das mit dem Papagei ist genau mein Thema. Aber ich muss es verstanden haben um nicht immer wieder irgendwo nachsehen zu müssen.
Den Anspruch habe ich nicht an mich. Habe mir einen Spickzettel in Notepad++ aufgemacht, wo die häufigsten Dinge als Beispiele drin stehen und ein paar Links zur Doku.
Für Grobschlosser-Programmierung braucht man gar nicht sooo viel.
Und bei den recht seltenen und langsamen Brechnungen muß ich nicht wirklich optimieren. Habe ja nicht den Anspruch, Adapter-Entwickler zu sein.
Habe mir auch deshalb ein i5-6300U Notebook, der nebenbei auch ioBroker macht, für 160 EUR incl. Windows gegönnt.Deswegen arbeite ich mit Blockly, weil ich nichtmal die Syntax hinbekomme.
Ich bekomme mit "Rules" gar nichts hin. Nicht gleich kapiert, sofort verworfen.
Blockly hat den Spickzettel eingebaut. Das ist praktisch. Aber ich komme mit dem graphischen Zeug immer an die Grenzen. Das wird bei mir recht schnell unübersichtlich.
Deshalb habe ich mich auf JS festgelegt. Da findet man auch viele Beispiele bei selfhtml und mediaevent.deInzwischen hat sich der Wert zumindest einmal geändert und getriggert!
Das sieht doch nach einem Erfolg aus! Glückwunsch!
Man kann ja mit dem console.log notfalls mitverfolgen, was er tut.
Dazu habe ich die constante debugLogOn eingeführt. Während der Entwicklung setze ich die auf true und wenn alles läuft auf false. -
@klassisch sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Das sieht doch nach einem Erfolg aus! Glückwunsch!
ist großteils deine Leistung. ich hab nur die Rundung und die states eingebaut.
Das mit dem Trigger ärgert mich jetzt.
also entweder alles notwendige in einer Funktion (z.B. main()) und diese im Trigger aufrufen, oder im Zrigger innerhalb einer eigenen Funktion (??) alle notwendigen Schritte abarbeiten? Wobei ich diese Syntax nicht auf Anhieb zusammenbekomme.Irgendwann in diesem Leben will ich js können, so!
@klassisch sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
und wenn alles läuft auf false.
und ich Idiot kommentiere sie aus, weil ich das nicht erkannt habe.
-
@homoran Das on hat halt obrflächlich betrachtet eine blöde Syntax (für mich, der ich nach dem Papageienprinzip arbeite. Wenn man das richtig durchdringt, sieht das vielleicht anders aus. Aber lohnt sich dieser Einarbeitungsaufwand für die paar Zeilen Code, die ich schreibe?)
Man könnte irgendwo ausserhalb des on Blocks eine Funktion definieren, die die Daten holt, die Umrechnung aufruft und dann die neuen Daten schreibt. Also alles, was jetzt im on Block steht in eine Funktion packen und dann im On-Block nur diese Funktion aufrufen. Vielleicht eleganter.
Da es aber nur ein paar Zeilen sind, kann man es auch zwischen die {} des on Blocks schreiben. Das habe ich hier teils aus Bequemlichkeit gemacht teils um die Veränderung genauer zu zeigen.Könnte also auch so aussehen:
function LuftfeuchteProzessierung(){ Temp = getState('hm-rpc.0.JEQ0046663.1.TEMPERATURE').val/*Klima Werkstatt:1 TEMPERATURE*/; Hrel = (getState('hm-rpc.0.JEQ0046663.1.HUMIDITY').val)-2.5/*Klima Werkstatt:1 HUMIDITY*/; Luftfeuchteberechnungen(Temp,Hrel); setState('javascript.1.Raumklima.Raum.Werkstatt.DETAILS.aw70',Math.round(awWert70()*10)/10, true); setState('javascript.1.Raumklima.Raum.Werkstatt.DETAILS.aw80',Math.round(awWert80()*10)/10, true); }; on({id: 'hm-rpc.0.JEQ0046663.1.TEMPERATURE', change: "any"}, function() { // löst bei jeder Aktualisierung aus LuftfeuchteProzessierung(); });
Viel wichtiger wäre es mir aber, Ids in Constante zu verfrachten, also zu abstrahieren, und aus dem Code wegzubekommen. Denn dadurch hat man weniger Geschäft, wenn man z.B. einen Sensor wechselt oder das Programm für einen anderen Raum modifiziert.
Also in etwa so:
const temperatureSensorId = 'hm-rpc.0.JEQ0046663.1.TEMPERATURE'; ..... on({id: temperatureSensorId, change: "any"}, function() { // löst bei jeder Aktualisierung aus LuftfeuchteProzessierung(); });
-
Guten Morgen, habe nur eben kurz drübergelesen da Zeitdruck habe... aber letzten Endes gehts hier doch um feuchte in und auf der Mauer sowie Luft und dementsprechende Ablagerung auf kalte Bauteiloberflächen.
kurz zur Berechnung - schaut euch das mal an... das ist Bauphysik und danach machen:
https://building-physics.net/webfm_send/439
und vorallem das:
https://building-physics.net/webfm_send/767(Dies als Beispiel, gibt viele andere Ausarbeitungen von TU's)
Wie gesagt, eben nur drübergeflogen... aber mal den Link der PDF's anschauen
Viel Erfolg
-
@michl75 sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Viel Erfolg
danke!
bin aber schon weiter.
Grundlagen sind weitestgehend bekannt, jetzt geht es um die sinnvolle Steuerung von (nicht vorhandener Heizung) und Entfeuchter unter energetischer und klimatischer Optimierung. -
Um den Bogen wieder elegant zum Ursprungsthema zu schließen und möglichen OT-Beschwerden den Wind aus den Segeln zu nehmen, habe ich das oben verhandelte Thema in den ESP-Home Wandfeuchtesensor Version 3 integriert.
Der Sensor gibt jetzt auch noch die Wandtemperaturen aus, die man braucht, um eine rel. Feuchte von 70% bzw. 80% zu erhalten.
Einfach gesagt, kann man sehen, welche Minimaltemperatur die Wand haben sollte.
Das zugehörige yaml Konfigurationsfile ist im Eingangspost zu finden. -
@klassisch sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Der Sensor gibt jetzt auch noch die Wandtemperaturen aus, die man braucht, um eine rel. Feuchte von 70% bzw. 80% zu erhalten.
Das ist eine Super Idee und im Sinne der Schimmelverhütung sinnvoller als der Taupunkt
-
@homoran sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Das ist eine Super Idee und im Sinne der Schimmelverhütung sinnvoller als der Taupunkt
Das hängt von den Gegebenheiten ab. Die ursprüngliche Auslegung für mein Treppenhaus geht von einer nichtheizbaren Wand und einem Luftentfeuchter in der Nähe der Wand aus. Da steuere ich den Entfeuchter in Abhängigkeit von der Wandfeuchte.
Und kann aus dem Wandfeuchtewert auch etwas zur "Gefährdungelage" ableiten.
Die Kombination nicht wirklich dichtes Treppenhaus mit Kelleraussenwand erfordert vor allem im Sommer Aufmerksamkeit.
Da das Treppenhaus im oberen Stckwerk unter dem Dach im Sommer ohnehin zu warm ist, wäre ein Erwärmen der Kellerwand für die Bewohner kontraproduktiv. Also ist hier eher Entfeuchten angesagt, auch wenn von draußen wieder neue Feuchtigkeit eingetragen wird.Hat man in einer anderen Konfiguration z.B. in einem heizbaren Raum, vorwiegend im Winter Probleme, dann kann die z.B. 80% Wandtempertur in die Temperaturregelung des Raums einbeziehen.
Dieser Wert wird aber rein aus den Werten der Luft berechnet.
Mit dem Kontaktthermometer zur Wand kann (bzw. muß) man dann überprüfen, ob die Wand die gewünschte Temperatur auch wirklich einnimmt. Das hängt ja von Aussentemperatur und Isolation ab.
Der eigentliche Mehrwert des gesamten Sensors wird also vom Wandthermometer geliefert.
Klar. Die Wand ist das gefährdete Bauteil und zugleich das am wenigsten bekannte. Eine reine Messung in der Luft reicht da oft nicht aus. Eine Messung der Luft in sehr geringem Abstand zur Wand ist schon besser. Aber erst die zusätzliche Messung der unbekannten Wandtemperatur bringt den Mehrwert. -
@klassisch said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Deckel zu
und fertig!Wie sieht denn eigentlich eine pragmatische Lösung aus mittels dem (fake?!) ds18b20 die Wandtemperatur zu ermitteln?
Den Sensor einfach mittels Klebeband an die Wand klatschen? Kommen da halbwegs valide Werte bei rum? Oder die Holzhackermethode, in die Wand bohren und die Tauchhülse versenken? Eventuell in Verbindung mit einem thermisch leitenden Füllstoff?
Ein IR Thermometer am esp wäre natürlich auch was, am besten direkt in Verbindung mit einem Servo/Stepper, so könnte man mittels esphome gleich verschiedene Punkte an der Wand messen
-
@opensourcenomad sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Oder die Holzhackermethode, in die Wand bohren und die Tauchhülse versenken? Eventuell in Verbindung mit einem thermisch leitenden Füllstoff?
ich bin für diese Lösing, wobei thermisch leitend relativ ist, solange es kein Dämmschaum ist.
-
@opensourcenomad sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Wie sieht denn eigentlich eine pragmatische Lösung aus mittels dem (fake?!) ds18b20 die Wandtemperatur zu ermitteln?
Keine Ahnung, ob meine DS18B20 real oder fake sind. parasitic mode verwende ich nicht und Hauptsache die Temperatur stimmt und die haben alle verschiedene IDs.
Den Sensor einfach mittels Klebeband an die Wand klatschen?
So kann man starten. Dann etwas Styropor (ca. 3cm *3 cm) oben drüber und das Ganze an die Wand andrücken. Die Zuleitungen eher dünn wählen und noch ca. 10 bis 20cm. dicht an der Wand lang führen. Dann kommen bei mir ähnliche Werte raus wie bei einem Melexis IR Sensor.
Kommen da halbwegs valide Werte bei rum?
Bei mir schon.
Oder die Holzhackermethode, in die Wand bohren und die Tauchhülse versenken? Eventuell in Verbindung mit einem thermisch leitenden Füllstoff?
Wenn man die Wand beschädigen kann, dann würde ich die eher oberflächlich anbohren bzw. ankratzen und dann mit Fertigspachtel aus der Tube oder besser Gips verschließen. Gips hat eine ähnliche Wärmelitfähigkeit wie Beton.
Ein IR Thermometer am esp wäre natürlich auch was, am besten direkt in Verbindung mit einem Servo/Stepper, so könnte man mittels esphome gleich verschiedene Punkte an der Wand messen
Das wird dann schon etwas aufwendiger. IR-Thermometer haben hier drei Schwierigkeiten:
- Genauigkeit generell schlechter als mit Kontaktthermometern möglich
- Unsicherheit im Emissionskoeffizenten €
- Der Meßfleck ist bei den meisten IR Thermometern recht groß und steigt mit dem Abstand etwa linear an.
Ich habe zwar noch ein teures Industriegerät (gebraucht gekauft) mit einem Öffnungsverhältnis von 75 , das bei 1200mm Entfernung einen Meßfleck von 16mm hat. Damit könnte man sowas machen. Aber das ist eher eine Seltenheit, Öffnungsfaktoren von 12 sind eher die Norm. Das bedeutet dann bei 1200mm Entfernung bereits 100mm Meßfleckdurchmesser.
-
@klassisch sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Den Sensor einfach mittels Klebeband an die Wand klatschen?
So kann man starten. Dann etwas Styropor (ca. 3cm *3 cm) oben drüber und das Ganze an die Wand andrücken. Die Zuleitungen eher dünn wählen
So habe ich es jetzt provisorisch mit einem HM-Tempdiffsensor an der "Decke" gemacht:
(grüne Linien)
erst ohne Styropor, dann etwa bei der Markierung) 20*20 cm Reste der alten 30mm EPS-Dämmung angeklebt.
Vorher sieht man jede Änderung durch die warme Entfeuchterluft, danach nur noch die echte Deckentemperatur.
@klassisch sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Eine reine Messung in der Luft reicht da oft nicht aus. Eine Messung der Luft in sehr geringem Abstand zur Wand ist schon besser.
ich bin mir da so gar nicht sicher. Beweisen kann ich es nicht, auch wenn meine Messungen es belegen könnten.
Temperatur an/in der Wand ist unstrittig.
Die Feuchte der Luft würde an der Wand möglicherweise kondensieren. Soweit d´accord!Aber ich habe das Gefühl, dass sich ein Feuchtegradient entwickelt, der unmittelbar an der Wand höher ist, als im Raum.
Ob es dann noch legitim ist daraus den Taupunkt (aw70/aw80) zu bestimmen ist mir nicht ganz klar. -
@homoran sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
erst ohne Styropor, dann etwa bei der Markierung) 20*20 cm 30mm Reste der alten Dämmung angeklebt.
Vorher sieht man jede Änderung durch die warme Entfeuchterluft, danach nur noch die echte Deckentemperatur.Vielen Dank für Dein Experiment und das Teilen der Ergebnisse. Interessant wäre noch zu wissen, ob man mit ca. 3cm * 3cm auch in etwa hinkommt.
@homoran sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:
Aber ich habe das Gefühl, dass sich ein Feuchtegradient entwickelt, der unmittelbar an der Wand höher ist, als im Raum.
Das kann schon sein, sollte aber mit dem Temperaturgradienten zusammenhängen. Zumindest wenn wir von der relativen Feuchte reden und noch keine Kondensation vorliegt.
Ob es dann noch legitim ist daraus den Taupunkt (aw70/aw80) zu bestimmen ist mir nicht ganz klar.
In der Theorie sollte das schon möglich sein. In der Praxis können Sensorfehler das Ergebnis verfälschen. Nahe der Wand ist es kälter und damit werden die rel Feuchtewerte höher. Da wir hier meist über potentielle Problemfälle reden, sind die Feuchtewerte dann auch schnell im oberen Bereich. Und dort ist der Fehler der meisten Sensoren auch größer. Kann man schön in den Graphen im Datenblatt zu den SHT3x Sensoren sehen.
Der Exponentialanteil der Magnusformel trägt auch nochmals ordentlich bei.
Deshalb wird an dieser Stelle aus Sparsamkeit bei den Sensoren schnell Geiz. Will sagen, es lohnt sich meist, etwas mehr in einen besseren Sensor zu investieren. Also eher SHT als BME und eher SHT35 als SHT31. Die Folgeaktionen Trocknen oder Heizen sind teuer und rechtfertigen die Mehrausgabe für einen besseren Sensor.
Ein SHT85 liegt bei mir schon da, warte aber noch auf ein Steckerleiste mit Spezialmaß und bin dann gespannt, ob der sich mit ESPHome auslesen läßt.