Ankündigung

Einklappen
Keine Ankündigung bisher.

Luftfeuchtemessung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Luftfeuchtemessung

    Hallo zusammen,

    wir haben im Keller hohe Luftfeuchtigkeit, daher möchte ich die Luftfeuchte messen und visualisieren, um ggf. manuelles Lüften anzuzeigen.
    Ich wohne in einem Mehrfamilienhaus Dachgeschoß (2. Geschoß). Daher habe ich leider keine Busleitung im Keller.
    Hat irgendwer eine Idee wie ich die Luftfeuchte messen und in die Wohnung hoch beame?
    Meine ELV-Wetterstation arbeitet mit Funk, aber ein Funk-Sensor schafft es nicht durch die ganzen Betondecken. Hab ich heute ausprobiert.
    Ich habe neben TP-KNX auch Powernet-KNX, somit hätte ich zumindest Powernet KNX im Keller. Aber gibt es solche Sensoren?
    Oder gibt es vielleicht noch andere Möglichkeiten/Ideen?

    Viele Grüße
    Michael

    #2
    Grüß dich!

    ich experimentiere derzeit mit Enocean und habe auch schon testhalber 3 Kombisensoren f. Temperatur und Luftfeuchte mittels OpenHAB in Betrieb. Ich meine schon gestestet zu haben, dass die Komm. durch 2 Betondecken klappt. Werde das aber nochmals ausprobieren und Rückmeldung geben.

    Vielleicht wäre das ja eine Alternative.

    Schöne Grüße,
    Thomas

    Kommentar


      #3
      Hi Thomas,

      das wäre wirklich eine gute Alternative. Bin gespannt, was Dein Test ergibt.
      Was benötigt man für eine enocean Grundistallation alles und was sind das für ungefähre Kosten?

      Viele Grüße
      Staehler

      Kommentar


        #4
        Zitat von thoern Beitrag anzeigen
        Grüß dich!

        ich experimentiere derzeit mit Enocean und habe auch schon testhalber 3 Kombisensoren f. Temperatur und Luftfeuchte mittels OpenHAB in Betrieb. ...
        Hi Thomas,

        ich habe drei Betondecken ...
        Arbeitst Du mit einem Repeater? Homematic hätte auch Funk, warum hast Du Dich für enOcean entschieden? Machst Du die Anbindung mit dem USB 300 oder hast Du enOcean-KNX-Gateway im Einsatz?

        Da hast Du mir wieder einen Floh ins Ohr gesetzt ;-) klingt genau nach dem, was ich brauche!

        Viele Grüße
        Michael

        Kommentar


          #5
          Hi Stähler,

          ein Enocean-KNX-Gateway brauchst du nicht. Dafür gibt es ja openHAB .
          Ja, ich habe die Anbindung auch über USB 300 realisiert.

          Könnte mir vorstellen, dass es durch drei Betondecken dann doch eng wird. Durch zwei geht es bei mir, aber auch nicht mehr in jedem Raum.
          Einen Repeater konnte ich noch nicht testen.
          Wenn du Sensor/Empfänger gut platzieren kannst (Fensternähe, Türnähe) geht es vielleicht doch. Könnte dir evtl. mal so ein USB 300 und einen Temp/Feuchtsensor zum testen ausleihen - aber erst ab nächste Woche.

          Gruß,
          Thomas

          Kommentar


            #6
            Hey Thomas,

            Dein Angebot ist wirklich nett, danke!
            Das werde ich gerne mal versuchen, wenn Du Deinen Sensor und USB 300 entbehrten kannst.

            Viele Grüße
            Staehler

            Kommentar


              #7
              gelöst

              Die Lösung ist hier zu finden.

              Kommentar


                #8
                Zitat von staehler Beitrag anzeigen
                Hallo zusammen,

                wir haben im Keller hohe Luftfeuchtigkeit, daher möchte ich die Luftfeuchte messen und visualisieren, um ggf. manuelles Lüften anzuzeigen.


                Viele Grüße
                Michael
                Moin Michael,

                was nutzt du denn fuer Sensoren zur Luftfeuchtemesseung?
                kabel liegt im Keller

                Grusz Carsten

                Kommentar


                  #9
                  Hi Carsten,
                  ich messe im Keller keine Luftfeuchte. Ich errechne anhand der relativ konstanten Temperatur die max. zulässige Luftfeuchte und errechne eine Empfehlung, wann im Keller gelüftet werden darf (abhängig von der Luftfeuchte draußen).
                  Gruß Michael

                  Kommentar


                    #10
                    Hi, hast Du ein paar Erfahrungswerte zur Logik und Temperatur-Grenz-Variablen die gut funktionieren?

                    Kommentar


                      #11
                      Hier meine rule dazu:
                      Code:
                      rule "Luftfeuchte"
                      when
                          Time cron "0 0/30 * * * ?"
                      then
                          if (StartupDelay.state!=ON) {
                      
                              // Variablen
                          //    var Number temp_in = IstwertWohnzimmer.state as DecimalType        //Innentemperatur in Grad Celsius
                              var Number temp_in = 16                                            //Innentemperatur in Grad Celsius
                              var Number temp_out = WeatherTemp.state as DecimalType                //Außentemperatur in Grad Celsius
                          
                              var Number abs_hum_in = 0
                              var Number abs_hum_out = 0
                              var Number td_in = 0
                              var Number td_out = 0
                              
                          //    var Number rel_hum_in = RoomHumi.state as DecimalType            //relative Feuchte Innen
                              var Number rel_hum_in = 50                                        //relative Feuchte Innen
                              var Number rel_hum_out = WeatherHumi.state as DecimalType            //relative Feuchte Außen
                              
                              // Konstanten
                              val gas_const = 8314.3
                              val mol = 18.016
                              var Number sdd = 0
                              var Number dd = 0
                              var Number v = 0
                              var Number a_out = 0
                              var Number b_out = 0
                              
                              // Parameter a, b
                              // wenn T>=0: a = 7.5, b = 237.3 (dies wird wohl immer für den Innenraum zutreffen)
                              // wenn T<0:  a = 7.6, b = 240.7 (dies kann für die Außentemperatur zutreffen)
                          
                              val a_in=7.5
                              val b_in=237.3        
                              if (temp_out >= 0) {
                                  a_out=7.5
                                  b_out=237.3    
                              } else {
                                  a_out=7.6
                                  b_out=240.7        
                              }
                              
                              // Formeln
                              // Sättingungsdampfdruck:    SDD = 6.1078 * 10^((a*temp)/(b+temp))
                              // Dampfdruck:                DD = rel_hum * 100 / SDD
                              // Absolute Feuchte:        AF = 10^5 * mol / gas_const * DD / (temp + 273.15)
                              // Taupunkt:                TD = b*v/(a-v) mit v = log10(DD / 6.1078)
                              
                              // absolute Innenfeuchte
                              sdd = 6.1078 * Math::pow(10, ((a_in * temp_in) / (b_in + temp_in)).doubleValue())
                              dd = rel_hum_in / 100 * sdd
                              v = Math::log10((dd/6.1078).doubleValue())
                              td_in = b_in * v / (a_in - v)
                              postUpdate(Taupunkt_in, td_in)
                              abs_hum_in = Math::pow(10, 5) * mol / gas_const * dd / (temp_in + 273.15)
                              postUpdate(HumiAbsIn, abs_hum_in)
                              
                              // absolute Außenfeuchte
                              sdd = 6.1078 * Math::pow(10, ((a_out * temp_out) / (b_out + temp_out)).doubleValue())
                              dd = rel_hum_out / 100 * sdd
                              v = Math::log10((dd/6.1078).doubleValue())
                              td_out = b_in * v / (a_in - v)
                              postUpdate(Taupunkt_out, td_out)
                              abs_hum_out = Math::pow(10, 5) * mol / gas_const * dd / (temp_out + 273.15)
                              postUpdate(IPWEHumiAbs, abs_hum_out)
                          
                              logInfo("Luftfeuchte", "Abs. Luftfeuchte - in: " + abs_hum_in + " g/m3, out: " + abs_hum_out + " g/m3")
                              logInfo("Luftfeuchte", "Taupunkt - in: " + td_in + " Grad Celsius" + ", out: " + td_out + " Grad Celsius")
                         
                              // Lueftungseffektiviät ermitteln
                              var String effectivity
                              var String text = ""
                              if (td_in <= td_out && Lueftungseffektivitaet.state.toString != "keine") {
                                  effectivity = "keine"
                                  postUpdate(Lueftungseffektivitaet, effectivity)
                              } else if (td_in > td_out && td_in-3 <= td_out && Lueftungseffektivitaet.state.toString != "maessig") {
                                  effectivity = "maessig"
                                  text = "Kellerfenster schliessen, Lueftungseffizienz ist " + effectivity
                                  postUpdate(Lueftungseffektivitaet, effectivity)
                              } else if (td_in-3 > td_out && td_in-5 <= td_out && Lueftungseffektivitaet.state.toString != "mittel") {
                                  effectivity = "mittel"
                                  text = "Kellerfenster schliessen, Lueftungseffizienz ist " + effectivity
                                  postUpdate(Lueftungseffektivitaet, effectivity)
                              } else if (td_in-5 > td_out && Lueftungseffektivitaet.state.toString != "hoch") {
                                  effectivity = "hoch"
                                  text = "Kellerfenster oeffnen, Lueftungseffizienz ist " + effectivity
                                  postUpdate(Lueftungseffektivitaet, effectivity)               
                              }
                              if (text != "" && StartupDelay.state!=ON) {
                                  text = "Wohnungsstatus: " + text
                                  logInfo("RSS", text)
                                  sendLogNotification(text)        
                        
                              }
                          }
                      end
                      Vielleicht hilft es Dir.

                      Kommentar


                        #12
                        Moin Zusammen,

                        gerade bei der Lüftung im Keller sollte man immer über den Taupunkt gehen, da man sonst ggf. die Feuchtigkeit erst reinlüftet. Ich rechne mir den Taupunkt für außen und innen aus und bei einer Differenz von x Grad gibt es einen Hinweis das gelüftet werden kann. Wenn es dann nur noch 1 Grad ist, dann kommt der gegenteilige Hinweis. Den Taupunkte habe ich als Lamda ausgelegt.

                        Code:
                        /* ------------------------------------------------------------------------------------------------------ 
                         * 
                         * Berechnung des Taupunktes für eine gegebene Temperatur und Luftfeuchtigkeit
                         * 
                         * Beschreibung:
                         * Die Luft ist ein Gemisch verschiedener Gase. Eines dieser Gase ist der Wasserdampf. Die Menge an 
                         * Wasserdampf, die in der Luft enthalten sein kann, ist allerdings begrenzt. Je wärmer die Luft ist, 
                         * desto mehr Wasserdampf kann in ihr enthalten sein.
                         * 
                         * Die relative Luftfeuchtigkeit gibt an, wie viel Prozent des maximalen Wasserdampfgehaltes die Luft 
                         * im Augenblick enthält. Da der maximale Wasserdampfgehalt mit steigender Temperatur ansteigt, 
                         * fällt die relative Luftfeuchtigkeit mit steigender Temperatur (und umgekehrt).
                         * 
                         * Die Taupunkttemperatur ist definiert als die Temperatur, bei der der aktuelle Wasserdampfgehalt in 
                         * der Luft der maximale (100% relative Luftfeuchtigkeit) ist. Die Taupunkttemperatur ist damit eine von 
                         * der aktuellen Temperatur unabhängige Größe. Eine Möglichkeit die Taupunkttemperatur zu messen 
                         * ist das Abkühlen von Metall bis sich die Oberfläche mit Wasserdampf beschlägt. Dann ist die 
                         * Temperatur des Metalls die Taupunkttemperatur.
                         * 
                         * Es gibt keine exakte Formel zur Umrechnung der Taupunkttemperatur in die relative Luftfeuchtigkeit. 
                         * Zur Erstellung des Taupunktrechners habe ich eine einfache Näherungsformel benutzt. Eine exakte 
                         * Umrechnung ist nur mit experimentell ermittelten Tabellen möglich.
                         * 
                         * Aus Temperatur und relativer Luftfeuchte bzw. Temperatur und Taupunkt lässt sich auch der 
                         * absolute Feuchtegehalt der Luft in Gramm Wasserdampf pro Kubikmeter ausrechnen.
                         * 
                         * Formeln:
                         * Die Grundlage der Berechnungen ist die Näherungsformel für den Sättigungsdampfdruck ( Gleichung 1 ), 
                         * die sogenannte Magnusformel. Die relative Luftfeuchtigkeit ist definiert als das Verhältnis vom 
                         * augenblicklichen Dampfdruck zum Sättigungsdampfdruck (umgeformte Gleichung 2). Bei der 
                         * Taupunkttemperatur ist definitionsgemäß der Sättigungsdampfdruck gleich dem aktuellen Dampfdruck. 
                         * Aus diesen beiden Definitionen folgt unmittelbar Gleichung 3, die Formel zur Berechnung der 
                         * relativen Luftfeuchtigkeit aus der Taupunkttemperatur. Die 4. Gleichung beschreibt umgekehrt die 
                         * Berechnung der Taupunkttemperatur aus der relativen Luftfeuchtigkeit und der aktuellen Temperatur. 
                         * Diese 4. Gleichung ist im Grunde nichts anderes als die nach T aufgelöste 1. Gleichung , wobei für 
                         * den Sättigungsdampfdruck der aktuelle Dampfdruck (und nicht der aktuelle Sättigungsdampfdruck) 
                         * eingesetzt wird, so dass die Taupunkttemperatur und nicht die normale Temperatur als Ergebnis 
                         * herauskommt. Aus der allgemeinen Gasgleichung ergibt sich die 5. Gleichung .
                         * 
                         * Bezeichnungen:
                         * r = relative Luftfeuchte
                         * T = Temperatur in °C
                         * TK = Temperatur in Kelvin (TK = T + 273.15)
                         * TD = Taupunkttemperatur in °C
                         * DD = Dampfdruck in hPa
                         * SDD = Sättigungsdampfdruck in hPa
                         * 
                         * Parameter:
                         * a = 7.5, b = 237.3 für T >= 0
                         * a = 7.6, b = 240.7 für T < 0 über Wasser (Taupunkt)
                         * a = 9.5, b = 265.5 für T < 0 über Eis (Frostpunkt)
                         * 
                         * R* = 8314.3 J/(kmol*K) (universelle Gaskonstante)
                         * mw = 18.016 kg/kmol (Molekulargewicht des Wasserdampfes)
                         * AF = absolute Feuchte in g Wasserdampf pro m3 Luft
                         * 
                         * Formeln:
                         * SDD(T) = 6.1078 * 10^((a*T)/(b+T))
                         * DD(r,T) = r/100 * SDD(T)
                         * r(T,TD) = 100 * SDD(TD) / SDD(T)
                         * TD(r,T) = b*v/(a-v) mit v(r,T) = log10(DD(r,T)/6.1078)
                         * AF(r,TK) = 10^5 * mw/R* * DD(r,T)/TK; AF(TD,TK) = 10^5 * mw/R* * SDD(TD)/TK
                         * 
                         * Quelle: http://www.wetterochs.de/wetter/feuchte.html
                         * 
                         * Danke an Stefan Ochs von www.wetterochs.de
                         * 
                         * ------------------------------------------------------------------------------------------------------ */
                        val org.eclipse.xtext.xbase.lib.Functions$Function2 calculateDewPoint = [
                            org.openhab.core.library.types.DecimalType temperature, 
                            org.openhab.core.library.types.DecimalType humidity 
                            |
                            var double a
                            var double b
                            var double SDD
                            var double DD
                            var double v
                            var double TD
                            var double t = temperature.doubleValue
                            var double h = humidity.doubleValue
                            
                            if (t >= 0.0){ // T >= 0 °C
                                a = 7.5
                                b = 237.3
                            } else { // T < 0 °C über Wasser
                                a = 7.6
                                b = 240.7
                            }
                            SDD=(6.1078 * Math::pow(10.0, ((a*t)/(b+t)).doubleValue)).doubleValue
                            DD = (h/100.0*SDD).doubleValue
                            v = Math::log10((DD/6.107).doubleValue)
                            TD = ((b*v)/(a-v)).doubleValue
                        
                            // Return Value is TD
                            TD 
                        ]
                        Thomas

                        Kommentar

                        Lädt...
                        X