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:

      ich verstehe den Verlauf des Taupunkts nicht

      da sehe ich kein Problem.
      Der Entfeuchter springt an, die aw70 und aw 100 aka Taupunkt sinken ab.

      Der Sensor für die rH ist etwas träger, aber sinkt ebenfalls ab (mittelblau)
      Die rH (dunkelblau) ist der Wandthermostat, der sich unter den Unterschränlken direkt an der Wand unter der Erde befindet. deswegen glaube ich ja, dass man daraus keinen Taupunkt berechnen kann.

      Jetzt komme ich gerade aus der Werkstatt und habe Fotos gemacht, natürlich nicht dir richtigen:
      Werkstatt_Auffahrt.png

      gegenüber befindet sich der Entfeuchter, der die trockene Luft im Raum verteilen soll
      Werkstatt_Tuer.png

      Diese soll die Decke Enlang hinter die Wandschränke "strömen" können

      K michl75 2 Replies Last reply Reply Quote 0
      • K
        klassisch Most Active @Homoran last edited by

        @homoran Die Berechnung geht davon aus, daß rel Feuchte und Temperatur vom selben Sensor kommen. Ist das hier der Fall? Also kommen die Temperatur und die rel Feuchte, die in das Skript eingehen von diesem Wandthermostat?

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

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

          Ist das hier der Fall?

          ja!

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

          Also kommen die Temperatur und die rel Feuchte, die in das Skript eingehen von diesem Wandthermostat?

          nein 😉 sondern beides kommt vom TH-I, der rechts oben auf dem Schrank steht

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

            @homoran d.h.

            • die rote und die blaue Kurve kommen von diesem Sensor.
            • Aus diesen wird dann der Taupunkt (dunkelviolett-aubergine) mit dem Raumklimaskript berechnet
            • die grünliche Kurve "Decke Auffahrt" ist das zugehörige Kontaktthermometer, dessen Werte ebenfalls ins Skript eingehen

            richtig?

            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:

              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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            767
                                            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