Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @klassisch last edited by

      @klassisch sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

      richtig?

      sorry, meine Unpräzision!
      Ja, rot und mittelblau kommen vom Sensor und danach wird AW70/80100 berechnet

      grün ist "nur" ein Thermometer dessen Temperatur-Wert unter der Schwelle von aw70 liegt.
      Wird für keine Berechnug benutzt.

      Oder müsste das irgendwo rein?

      K 1 Reply Last reply Reply Quote 0
      • K
        klassisch Most Active @Homoran last edited by klassisch

        @homoran
        So, habe jetzt mal das Skript mit der Webseite verglichen. Anhand von ein paar Werten, die so in etwa auf Deinem Diagramm sind

        25f2c21d-3cd1-42a5-8f26-98a2b16c1603-grafik.png

        Das Programm (Script) erreichnet die gleichen Werte wie die Webseite

        Edit: Script entfernt, da fehlerhaft

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @klassisch last edited by

          @klassisch sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

          die so in etwa auf Deinem Diagramm sind

          Danke (aber auch hier Asche über mein Haupt. Ich hab da noch ein Offset in der Feuchte eingebaut 😳 )

          @klassisch sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

          Das Programm (Script) erreichnet die gleichen Werte wie die Webseite

          Das ist schon mal super - hätte ich ja auch drauf kommen können. Ist heut nicht mein Tag

          Aber verstehen muss ich es trotzdem nicht, dass aw70 und 80 nahezu identisch werden, aber der Taupunkt weiter den "gleichen" Abstand zu aw70 hat.

          Muss ich mal den Taupunkt nach der Berechnung auf der Website mit der vom Raumklimaskript vergleichen.

          Danke für deine Mühen!

          K 1 Reply Last reply Reply Quote 0
          • K
            klassisch Most Active @Homoran last edited by klassisch

            @homoran Es gibt eine Auffälligkeit
            Bei der Zeile 18°C 40% ist T80 höher als T70
            Das erscheint unplausibel. Die Webseite zeigt das aber genauso.

            Nur: diese TF80 kommt zu einem anderen Ergebnis. Und das nicht nur dort. Die Formel für TF80 der ersten Website scheint also fehlerhaft zu sein. Die ist auch mit der TF70 Formel nicht wirklich vergleichbar.
            Mit welchem Trick hast Du der Website den Quelltext entlockt?

            Zweite TF80 zeigt das auch

            Homoran 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @klassisch last edited by

              @klassisch sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

              Mit welchem Trick hast Du der Website den Quelltext entlockt?

              Wenn ich das noch wüsste.
              Hacking by Trying bis ich was sehe, was brauchbar sein könnte.

              rechte Maustaste
              Quelltext anzeigen

              danach F12 (Browserkonsole) und dort den Aufbau der Seite verfolgen bzw. die eingebetteten js ansehen

              Ich such mal auf der andern Seite - danke für den Link

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @klassisch last edited by

                @klassisch im Quelltext habe ich da folgendes gesehen:

                function berechnen() {
                	with (rechner) {
                		var temp = parseFloat(temperatur.value)
                		var tempbauteil = parseFloat(bauteiltemperatur.value)
                		var rel = parseFloat(relative_luftfeuchte.value)
                		var wdsd = 611*Math.pow(10,7.5*temp/(237.3+temp))
                		var wdsdbauteil = 611*Math.pow(10,7.5*tempbauteil/(237.3+tempbauteil))
                		var wdd = rel/100*wdsd
                		var tp = 237.3*Math.log(wdd/610.78)/Math.log(10)/(7.5-Math.log(wdd/610.78)/Math.log(10))
                		var tf70 = 237.3*Math.log(wdd/(610.78*0.7))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.7))/Math.log(10))
                		var tf80 = 237.3*Math.log(wdd/(610.78*0.8))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.8))/Math.log(10))
                		var tf90 = 237.3*Math.log(wdd/(610.78*0.9))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.9))/Math.log(10))
                		var abs = 1000*18.016/8314.3*wdd/(temp+273.15)
                		var normfeu = wdsd*rel/2340
                		wasserdampfsaettigungsdruck.value = Math.round(wdsd)
                		wasserdampfdruck.value = Math.round(wdd)
                		taupunkt.value = Math.round(tp*10)/10
                		tf70wert.value = Math.round(tf70*10)/10
                		tf80wert.value = Math.round(tf80*10)/10
                		tf90wert.value = Math.round(tf90*10)/10
                		absolute_luftfeuchtigkeit.value = Math.round(abs*10)/10
                		normierte_feuchte.value = Math.round(normfeu*10)/10
                		aw_wert.value = (wdd / wdsdbauteil)
                		aw_wert.value = Math.round(aw_wert.value*100)/100
                		if (aw_wert.value > 1) {
                		aw_wert.value = 1.00
                		}
                	}
                }
                
                berechnen()
                
                
                K 1 Reply Last reply Reply Quote 0
                • K
                  klassisch Most Active @Homoran last edited by klassisch

                  @homoran Ah, google chrome. Im Firefox finde ich nichts - oder verwirrend viel

                  Die Berechnung sieht schon viel aufgeräumter aus.

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @klassisch last edited by

                    @klassisch sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

                    Die Berechnung sieht schon viel aufgeräumter aus.

                    geht wahrscheinlich am ehesten um diese Formeln:

                    		var tp = 237.3*Math.log(wdd/610.78)/Math.log(10)/(7.5-Math.log(wdd/610.78)/Math.log(10))
                    		var tf70 = 237.3*Math.log(wdd/(610.78*0.7))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.7))/Math.log(10))
                    		var tf80 = 237.3*Math.log(wdd/(610.78*0.8))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.8))/Math.log(10))
                    		var tf90 = 237.3*Math.log(wdd/(610.78*0.9))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.9))/Math.log(10))
                    		var abs = 1000*18.016/8314.3*wdd/(temp+273.15)
                    
                    K 1 Reply Last reply Reply Quote 0
                    • K
                      klassisch Most Active @Homoran last edited by

                      @homoran Mal auf die Schnelle.

                      
                      // Calculations of Humidity and water content in air 
                      // modifications of http://www.tf80.de/
                      
                      const debugLogOn = true;
                      
                      // test Variables 
                      var Temp = 18;
                      var Hrel = 40;
                      //=20.13°C humidity=56.55%
                      // temperature=20.52°C humidity=55.44%
                      
                      
                      // end test variables
                      
                      // global Variables
                        var this_theta, this_phi;
                        var temp_dew, vaporPressureSaturated, vaporPartialPressure, H_abs, temp_for_Hrel_70, temp_for_Hrel_80;
                      // end global Variables
                      
                      
                      
                      
                      var temp = Temp; 
                      var tempbauteil;
                      var rel = Hrel
                      var wdsd;
                      var wdsdbauteil;
                      var wdd;
                      var tp;
                      var tf70;
                      var tf80;
                      var tf90;
                      var abs;
                      var normfeu;
                      var wasserdampfsaettigungsdruck;
                      var wasserdampfdruck = Math.round(wdd);
                      var taupunkt;
                      var tf70wert;
                      var	tf80wert;
                      var	tf90wert;
                      var absolute_luftfeuchtigkeit;
                      var normierte_feuchte;
                      var aw_wert;
                      		
                      
                      function calculateHumidityValues() {
                      		wdsd = 611*Math.pow(10,7.5*temp/(237.3+temp));
                      		wdsdbauteil = 611*Math.pow(10,7.5*tempbauteil/(237.3+tempbauteil));
                      		wdd = rel/100*wdsd;
                      		tp = 237.3*Math.log(wdd/610.78)/Math.log(10)/(7.5-Math.log(wdd/610.78)/Math.log(10));
                      		tf70 = 237.3*Math.log(wdd/(610.78*0.7))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.7))/Math.log(10));
                      		tf80 = 237.3*Math.log(wdd/(610.78*0.8))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.8))/Math.log(10));
                      		tf90 = 237.3*Math.log(wdd/(610.78*0.9))/Math.log(10)/(7.5-Math.log(wdd/(610.78*0.9))/Math.log(10));
                      		abs = 1000*18.016/8314.3*wdd/(temp+273.15);
                      		normfeu = wdsd*rel/2340;
                      		wasserdampfsaettigungsdruck = Math.round(wdsd);
                      		wasserdampfdruck = Math.round(wdd);
                      		taupunkt = Math.round(tp*10)/10;
                      		tf70wert = Math.round(tf70*10)/10;
                      		tf80wert = Math.round(tf80*10)/10;
                      		tf90wert = Math.round(tf90*10)/10;
                      		absolute_luftfeuchtigkeit = Math.round(abs*10)/10;
                      		normierte_feuchte = Math.round(normfeu*10)/10;
                      		aw_wert = (wdd / wdsdbauteil);
                      		aw_wert = Math.round(aw_wert*100)/100;
                      		if (aw_wert > 1) {
                      		   aw_wert = 1.00
                      		}
                      }
                      
                      
                      
                      
                         calculateHumidityValues();
                         if(debugLogOn)console.log('temp: ' +temp+';  Hrel: ' + rel);
                         if(debugLogOn)console.log('Taupunkt: ' + taupunkt);  
                         if(debugLogOn)console.log('Saettigungsdampfdruck: ' + wasserdampfsaettigungsdruck);
                         if(debugLogOn)console.log('Partialdruck: ' + wasserdampfdruck);
                         if(debugLogOn)console.log('Habs: ' + absolute_luftfeuchtigkeit);
                         if(debugLogOn)console.log('T bei 70% ' + tf70wert);
                         if(debugLogOn)console.log('T bei 80% ' + tf80wert);
                         if(debugLogOn)console.log('T bei 90% ' + tf90wert);
                      
                      
                      
                      
                      
                      
                      //end script
                      
                      
                      
                      
                      
                      
                      

                      Muß natürlich noch alles internationalisiert und etwas schöner bzw. modularer gemacht werden. Bei Gelegenheit.
                      Und bei Gelegenheit in das ESP-Programm eingearbeitet.

                      Homoran 2 Replies Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @klassisch last edited by

                        @klassisch sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

                        Mal auf die Schnelle.

                        dann schreib ich damit mal ganz schnell das letzte um

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @klassisch last edited by Homoran

                          @klassisch tp70 ist identisch, tp80 ist 1 Grad niedriger bei aktueller Temperatur/Feuchte

                          nur den Trigger hab ich wieder nich hinbekommen
                          alt:

                          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);
                          });
                          
                          

                          Versuch neu:

                          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*/;
                           calculateHumidityValues;
                           setState('javascript.1.Raumklima.Raum.Werkstatt.DETAILS.aw70',Math.round(tf70wert()*10)/10, true);
                           setState('javascript.1.Raumklima.Raum.Werkstatt.DETAILS.aw80',Math.round(tf80wert()*10)/10, true);
                          });
                          
                          K 1 Reply Last reply Reply Quote 0
                          • K
                            klassisch Most Active @Homoran last edited by klassisch

                            @homoran sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

                            Tests mal das:

                            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*/;
                             rel = getState('hm-rpc.0.JEQ0046663.1.HUMIDITY').val - 2.5/*Klima Werkstatt:1 HUMIDITY*/;
                             calculateHumidityValues();
                             setState('javascript.1.Raumklima.Raum.Werkstatt.DETAILS.aw70',Math.round(tf70wert()*10)/10, true);
                             setState('javascript.1.Raumklima.Raum.Werkstatt.DETAILS.aw80',Math.round(tf80wert()*10)/10, true);
                            });
                            
                            Homoran 1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @klassisch last edited by

                              @klassisch sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

                              Tests mal das:

                              die () hinter der Funktion habe ich gerade selber eingefügt und warte

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                klassisch Most Active @Homoran last edited by

                                @homoran Die Funktion erwartet aktuelle Variablen temp und rel. Das will ich noch bei der Internationalisierung glattziehen

                                Homoran 2 Replies Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @klassisch last edited by

                                  @klassisch sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

                                  @homoran Die Funktion erwartet aktuelle Variablen temp und rel. Das will ich noch bei der Internationalisierung glattziehen

                                  Aaaah andere variablennamen
                                  da kam gerade :20:15:38.531 error javascript.1 (6588) at Object.<anonymous> (script.js.Wetter_und_Klima.TF80_neu:94:75)

                                  hab jetzt deinen Trigger genommen

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @klassisch last edited by Homoran

                                    @klassisch DANKE!!

                                    scheint zu laufen, die Abstände der Werte 70-80-100 gefallen mir jetzt auch optisch besser 😉

                                    Anscheinend hat das Script beim setState die Klammern hinter der Variable nicht gemocht:

                                    Math.round(tf70wert()*10)/10, true);

                                    nach Entfernen läuft jetzt alles

                                    An der Decke dürfte der tf70 nich ganz so kritisch sein, da es hier gut belüftet ist, und der tf80 ist jetzt erst mal weiter weg

                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      klassisch Most Active @Homoran last edited by

                                      @homoran Ja, wahrscheinlich hattest Du noch das erste Script implementiert, wo alles übr functions geregelt war. Das ist in diesem Script anders, da ist alles stur runterprogrammert, ohne Funktionen. die vielen Funktionen. Damit sind die Werte Variable und keine Funktionen mehr, also kein () nach dem Namen.

                                      Aber prima, daß es jetzt klappt. Ich muß mir das Skript bei Gelegenheit näher anschauen. Wahrscheinlich kann man damit dann noch ganz einfach das Thema Wandfeuchte über "wdsbauteil" lösen.
                                      Wahrscheinlich noch eine Division dazu und alles wäre elegant aus einem Guss integriert.

                                      1 Reply Last reply Reply Quote 1
                                      • michl75
                                        michl75 @Homoran last edited by

                                        @homoran Also wenn ich mir deine Bilder so ansehe, befürchte ich 🙂 die Natur gewinnt immer .....
                                        Wo Innen das Wasser "raus" kommt ist relativ, hast du mittlerweile den Eintritt gefunden?

                                        Diese Dämmplatten waren früher an der kompletten Decke? Die Luftschicht zwischen Platten und Beton ist wie hoch?

                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @michl75 last edited by

                                          @michl75 sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

                                          hast du mittlerweile den Eintritt gefunden?

                                          der wurde bereits letztes Jahr abgedichtet.
                                          den Schaden hatte ich erst im Spätsommer durch Zufall gesehen. Darauf alles saniert.

                                          @michl75 sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

                                          Diese Dämmplatten waren früher an der kompletten Decke?

                                          ja.

                                          @michl75 sagte in ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen:

                                          Die Luftschicht zwischen Platten und Beton ist wie hoch?

                                          0-unter 1mm

                                          michl75 1 Reply Last reply Reply Quote 0
                                          • michl75
                                            michl75 @Homoran last edited by

                                            @homoran aber es kommt nach der sanierung immer noch genug "wasser" nach um diese Stelle zu befeuchten ?
                                            ich frag nur, hab so nen verdacht. ähnlichen Fall hatte ich bei einem Kunden... Das Ergebnis war dann verblüffend und sagt mir, dass die Natur immer gewinnt 🙂

                                            Viele unbekannte natürlich ... kenne das ja nicht persönlich. Aber in meine Fall wars so, dass nicht wirklich Wasser nachgekommen ist, jedoch immer noch so viel, dass es ausreichte eine in der Decke normal vorkommende Wärmebrücke so zu verstärken, dass die Innenfeuchtigkeit, weil auch noch ein Waschraum daneben war, sich dann da so ablagerte.
                                            Dein Schränke tragen auch dazu bei die Problemstelle schwieriger unter Kontrolle zu bringen.

                                            Kommt wieder Dämmung hin? Wenn ja, bitte nicht Punktkleben! Wenn dann vollflächig draufklatschen

                                            Homoran 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            424
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            122
                                            13068
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo