Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

ESPHome: Wandfeuchte messen-Schimmel vermeiden+Anwendungen

Geplant Angeheftet Gesperrt Verschoben Hardware
122 Beiträge 6 Kommentatoren 17.3k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • HomoranH Homoran

    @opensourcenomad sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

    Gibts auch schon fertig auf 'nem pcb mit Schraubterminals:

    hast du dazu einen (deutschen) Link für mich?

    OpenSourceNomadO Offline
    OpenSourceNomadO Offline
    OpenSourceNomad
    Most Active
    schrieb am zuletzt editiert von
    #28

    @homoran said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

    hast du dazu einen (deutschen) Link für mich?

    Zur Technik (pwm via mosfet) kannst du zum Einstieg mal den Wikipediartikel Pulsdauermodulation lesen. Zum Gerät selber sind mir keine deutschen Auswüchse bekannt ;)

    „Das Widerlegen von Schwachsinn erfordert eine Größenordnung mehr Energie als dessen Produktion.“ - Alberto Brandolini (Bullshit-Asymmetrie-Prinzip)

    HomoranH 1 Antwort Letzte Antwort
    1
    • OpenSourceNomadO OpenSourceNomad

      @homoran said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

      hast du dazu einen (deutschen) Link für mich?

      Zur Technik (pwm via mosfet) kannst du zum Einstieg mal den Wikipediartikel Pulsdauermodulation lesen. Zum Gerät selber sind mir keine deutschen Auswüchse bekannt ;)

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #29

      @opensourcenomad
      Danke!
      Theorie ist mir klar - ich denke dass der dämliche HM-Dimmer viel zu langsam ist (ist auch PWM!) bestellen mache ich aus Prinzip nur hier, auch wenn es (etwas) teurer ist

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      OpenSourceNomadO 2 Antworten Letzte Antwort
      0
      • HomoranH Homoran

        @opensourcenomad
        Danke!
        Theorie ist mir klar - ich denke dass der dämliche HM-Dimmer viel zu langsam ist (ist auch PWM!) bestellen mache ich aus Prinzip nur hier, auch wenn es (etwas) teurer ist

        OpenSourceNomadO Offline
        OpenSourceNomadO Offline
        OpenSourceNomad
        Most Active
        schrieb am zuletzt editiert von
        #30

        @homoran said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

        Theorie ist mir klar - ich denke dass der dämliche HM-Dimmer viel zu langsam ist (ist auch PWM!)

        Kennst du denn zufällig die Frequenz? Die von mir vorgeschlagene Hardware (esp mcu) kann natürlich beliebig programmiert werden. Ich verwende einige von diesen Gerätschaften für verschiedene Zwecke u.a. das dimmen von LEDs und Lüftern. Bei mir läuft ja bekanntlich alles auf esphome und dieses unterstützt mittels pwm das setzten beliebiger Frequenzen (Standard ist 1000 Herz).

        bestellen mache ich aus Prinzip nur hier, auch wenn es (etwas) teurer ist

        Wo genau ist denn hier? Halle? Sachsen? Deutschland? Europa? :world_map:

        „Das Widerlegen von Schwachsinn erfordert eine Größenordnung mehr Energie als dessen Produktion.“ - Alberto Brandolini (Bullshit-Asymmetrie-Prinzip)

        HomoranH 1 Antwort Letzte Antwort
        0
        • OpenSourceNomadO OpenSourceNomad

          @homoran said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

          Theorie ist mir klar - ich denke dass der dämliche HM-Dimmer viel zu langsam ist (ist auch PWM!)

          Kennst du denn zufällig die Frequenz? Die von mir vorgeschlagene Hardware (esp mcu) kann natürlich beliebig programmiert werden. Ich verwende einige von diesen Gerätschaften für verschiedene Zwecke u.a. das dimmen von LEDs und Lüftern. Bei mir läuft ja bekanntlich alles auf esphome und dieses unterstützt mittels pwm das setzten beliebiger Frequenzen (Standard ist 1000 Herz).

          bestellen mache ich aus Prinzip nur hier, auch wenn es (etwas) teurer ist

          Wo genau ist denn hier? Halle? Sachsen? Deutschland? Europa? :world_map:

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #31

          @opensourcenomad sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

          Wo genau ist denn hier?

          Bin ich Staplerfahrer?
          ständig Halle-Hof und zurück :joy:

          Aber D oder vielleicht EU ist schon korrekt (auch wenn deren Karam auch aus Asien kommt.

          @opensourcenomad sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

          Kennst du denn zufällig die Frequenz?

          leider nein.

          Ist der hier
          https://de.elv.com/homematic-led-funk-dimmer-1-fach-12-24v-pwm-hm-lc-dim1pwm-cv-fuer-smart-home-hausautomation-099444
          Habe da keine Frequenz gefunden

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            klassisch
            Most Active
            schrieb am zuletzt editiert von klassisch
            #32

            So, verstehe diese Form von embedded JS nicht wirklich und habe es jetzt mal mäßig quick aber sehr dirty umgeschrieben
            Edit: Quelle des Algo: http://www.TH80.de/

            /*  Calculate Humidity and moisture data **********************
            
             Calculations of Humidity and water content in air 
             modifications of http://www.TH80.de/
            
            Purpose:
            * Input values:
              ** Temp: temperaure of air
              ** Hrel: humidity in air at the same location (measured by the same sensor) SHT35 or SHT85 recommende for precise data
              ** T_wall: wall temperature. measured e.g. by a contact thermometer. To minimize calculation errors, it is reommended, to locate the T/H sensor close to the wall and contact T-sensor
            
            * Output data:
            
              **  TH70 Air: temperature to acieve a relative humidity of 70%
              **  TH80 Air: temperature to acieve a relative humidity of 80%
              **  TH90 Air: temperature to acieve a relative humidity of 90%
              **  T_dew Air: temperature to achieve a relative humidity of 100% (dew point, TH100)
              **  H_abs Mass: of water in grams in 1 m³ of air
              **  H_standard: Value of the relative humidity @20°C (standardized humidity)
              **  P_vaporSatur: Current water vapor saturation pressure in Pa
              **  P_vapor: Current water vapor pressure in Pa
              **  H_wall: Current wall moisture: relative humidty @ T-wall.
              **  P_vaporSaturWall: vapor saturation pressure at T_wall
             
            
            ***************************************/
            
            const debugLogOn = true;
            const nameOfThisScript = name.split('.')[name.split('.').length - 1];
            
            
            // test Variables 
            var Temp = 14;
            var Hrel = 8;
            var T_wall = 12;
            //=20.13°C humidity=56.55%
            // temperature=20.52°C humidity=55.44%
            
            
            // end test variables
            
            
            
            
            
            var Hrel = Hrel
            var P_vaporSatur;
            var P_vaporSaturWall;
            var P_vapor;
            var T_dew;
            var TH70;
            var TH80;
            var TH90;
            var H_abs;
            var H_standard;
            var H_wall;
            
            var P_vaporSaturRound;
            var P_vaporRound;
            var T_dewRound;
            var TH70Round;
            var	TH80Round;
            var	TH90Round;
            var H_absRound;
            var H_standardRound;
            var H_wallRound;
            		
            
            function calculateHumidityValues() {
            		P_vaporSatur = 611*Math.pow(10,7.5*Temp/(237.3+Temp));
            		P_vaporSaturWall = 611*Math.pow(10,7.5*T_wall/(237.3+T_wall));
            		P_vapor = Hrel/100*P_vaporSatur;
            		T_dew = 237.3*Math.log(P_vapor/610.78)/Math.log(10)/(7.5-Math.log(P_vapor/610.78)/Math.log(10));
            		TH70 = 237.3*Math.log(P_vapor/(610.78*0.7))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.7))/Math.log(10));
            		TH80 = 237.3*Math.log(P_vapor/(610.78*0.8))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.8))/Math.log(10));
            		TH90 = 237.3*Math.log(P_vapor/(610.78*0.9))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.9))/Math.log(10));
            		H_abs = 1000*18.016/8314.3*P_vapor/(Temp+273.15);
            		H_standard = P_vaporSatur*Hrel/2340;
            		H_wall = (P_vapor / P_vaporSaturWall)*100;
            
            		P_vaporSaturRound = Math.round(P_vaporSatur);
            		P_vaporRound = Math.round(P_vapor);
            		T_dewRound = Math.round(T_dew*100)/100;
            		TH70Round = Math.round(TH70*100)/100;
            		TH80Round = Math.round(TH80*100)/100;
            		TH90Round = Math.round(TH90*100)/100;
            		H_absRound = Math.round(H_abs*100)/100;
            		H_standardRound = Math.round(H_standard*100)/100;
               		H_wallRound = Math.round(H_wall*100)/100;
            
            };
            
            
            
            // start calculation using the predefined data
               calculateHumidityValues();
               
            // output    
            
               if(debugLogOn)console.log('Temp: ' +Temp+';  Hrel: ' + Hrel + ';  T_wall: ' + T_wall);
               if(debugLogOn)console.log('T bei 70% ' + TH70Round);
               if(debugLogOn)console.log('T bei 80% ' + TH80Round);
               if(debugLogOn)console.log('T bei 90% ' + TH90Round);
               if(debugLogOn)console.log('T_dewRound: ' + T_dewRound);  
               if(debugLogOn)console.log('Habs: ' + H_absRound);
               if(debugLogOn)console.log('H_standard ' + H_standardRound);
               if(debugLogOn)console.log('Saettigungsdampfdruck: ' + P_vaporSaturRound);
               if(debugLogOn)console.log('Partialdruck: ' + P_vaporRound);
               if(debugLogOn)console.log('H_wall: ' + H_wallRound);
            
            
            
            
            
            
            //end script
            
            
            
            
            
            
            
            

            Schätze mal, daß der PWM Dimmer um 100Hz hat.

            HomoranH 2 Antworten Letzte Antwort
            0
            • HomoranH Homoran

              @opensourcenomad
              Danke!
              Theorie ist mir klar - ich denke dass der dämliche HM-Dimmer viel zu langsam ist (ist auch PWM!) bestellen mache ich aus Prinzip nur hier, auch wenn es (etwas) teurer ist

              OpenSourceNomadO Offline
              OpenSourceNomadO Offline
              OpenSourceNomad
              Most Active
              schrieb am zuletzt editiert von OpenSourceNomad
              #33

              @homoran said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

              bestellen mache ich aus Prinzip nur hier

              Wenn du bereits bist ein vielfaches zu zahlen damit das (immer) in fern Ost produzierte Teil einen extra Zwischenstopp in Bayern einlegt kannst du hier ein mosfet board (ohne esp!) für 5€ erstehen. :moneybag:

              Zum Vergleich direkt aus dem Erzeugerland:
              e55ae585-2d30-4c19-abac-1862e4cf93d1-image.png

              Deine Konsequenz die (noch) existieren Zwischenhändler zu subventionieren und damit das Sterben zu verlangsamen finde ich sehr altruistisch.

              Ich habe nie Verstanden welchen Mehrwert ich habe von einem Zwischenhändler für das identische (:warning:) Produkt mehr zu zahlen. Wenn irgendwie Möglich kaufe ich immer direkt vom Produzenten.

              @homoran said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

              Ist der hier
              https://de.elv.com/homematic-led-funk-dimmer-1-fach-12-24v-pwm-hm-lc-dim1pwm-cv-fuer-smart-home-hausautomation-099444
              Habe da keine Frequenz gefunden

              Im Forum berichtet ein Kunde von einem erkennbaren 200Hz flimmern

              ELV selber dazu:

              der Homematic PWM-Dimmer hat eine Ausgangsfrequenz von ca. 400 Hz. Dieses reicht in der Regel völlig aus, da Flimmern ab 200 Hz vom Menschen normalerweise nicht mehr wahrgenommen werden kann.

              Von den 60 Euronen für das Gerät waren wohl nach Personalkosten (und Gewinn) nur noch 2,5€ pro Stück über um die Hardware aus China einzukaufen (vorausgesetzt die Geräte werden überhaupt in DE zusammengeschraubt) :grimacing:

              „Das Widerlegen von Schwachsinn erfordert eine Größenordnung mehr Energie als dessen Produktion.“ - Alberto Brandolini (Bullshit-Asymmetrie-Prinzip)

              HomoranH 1 Antwort Letzte Antwort
              0
              • K klassisch

                So, verstehe diese Form von embedded JS nicht wirklich und habe es jetzt mal mäßig quick aber sehr dirty umgeschrieben
                Edit: Quelle des Algo: http://www.TH80.de/

                /*  Calculate Humidity and moisture data **********************
                
                 Calculations of Humidity and water content in air 
                 modifications of http://www.TH80.de/
                
                Purpose:
                * Input values:
                  ** Temp: temperaure of air
                  ** Hrel: humidity in air at the same location (measured by the same sensor) SHT35 or SHT85 recommende for precise data
                  ** T_wall: wall temperature. measured e.g. by a contact thermometer. To minimize calculation errors, it is reommended, to locate the T/H sensor close to the wall and contact T-sensor
                
                * Output data:
                
                  **  TH70 Air: temperature to acieve a relative humidity of 70%
                  **  TH80 Air: temperature to acieve a relative humidity of 80%
                  **  TH90 Air: temperature to acieve a relative humidity of 90%
                  **  T_dew Air: temperature to achieve a relative humidity of 100% (dew point, TH100)
                  **  H_abs Mass: of water in grams in 1 m³ of air
                  **  H_standard: Value of the relative humidity @20°C (standardized humidity)
                  **  P_vaporSatur: Current water vapor saturation pressure in Pa
                  **  P_vapor: Current water vapor pressure in Pa
                  **  H_wall: Current wall moisture: relative humidty @ T-wall.
                  **  P_vaporSaturWall: vapor saturation pressure at T_wall
                 
                
                ***************************************/
                
                const debugLogOn = true;
                const nameOfThisScript = name.split('.')[name.split('.').length - 1];
                
                
                // test Variables 
                var Temp = 14;
                var Hrel = 8;
                var T_wall = 12;
                //=20.13°C humidity=56.55%
                // temperature=20.52°C humidity=55.44%
                
                
                // end test variables
                
                
                
                
                
                var Hrel = Hrel
                var P_vaporSatur;
                var P_vaporSaturWall;
                var P_vapor;
                var T_dew;
                var TH70;
                var TH80;
                var TH90;
                var H_abs;
                var H_standard;
                var H_wall;
                
                var P_vaporSaturRound;
                var P_vaporRound;
                var T_dewRound;
                var TH70Round;
                var	TH80Round;
                var	TH90Round;
                var H_absRound;
                var H_standardRound;
                var H_wallRound;
                		
                
                function calculateHumidityValues() {
                		P_vaporSatur = 611*Math.pow(10,7.5*Temp/(237.3+Temp));
                		P_vaporSaturWall = 611*Math.pow(10,7.5*T_wall/(237.3+T_wall));
                		P_vapor = Hrel/100*P_vaporSatur;
                		T_dew = 237.3*Math.log(P_vapor/610.78)/Math.log(10)/(7.5-Math.log(P_vapor/610.78)/Math.log(10));
                		TH70 = 237.3*Math.log(P_vapor/(610.78*0.7))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.7))/Math.log(10));
                		TH80 = 237.3*Math.log(P_vapor/(610.78*0.8))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.8))/Math.log(10));
                		TH90 = 237.3*Math.log(P_vapor/(610.78*0.9))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.9))/Math.log(10));
                		H_abs = 1000*18.016/8314.3*P_vapor/(Temp+273.15);
                		H_standard = P_vaporSatur*Hrel/2340;
                		H_wall = (P_vapor / P_vaporSaturWall)*100;
                
                		P_vaporSaturRound = Math.round(P_vaporSatur);
                		P_vaporRound = Math.round(P_vapor);
                		T_dewRound = Math.round(T_dew*100)/100;
                		TH70Round = Math.round(TH70*100)/100;
                		TH80Round = Math.round(TH80*100)/100;
                		TH90Round = Math.round(TH90*100)/100;
                		H_absRound = Math.round(H_abs*100)/100;
                		H_standardRound = Math.round(H_standard*100)/100;
                   		H_wallRound = Math.round(H_wall*100)/100;
                
                };
                
                
                
                // start calculation using the predefined data
                   calculateHumidityValues();
                   
                // output    
                
                   if(debugLogOn)console.log('Temp: ' +Temp+';  Hrel: ' + Hrel + ';  T_wall: ' + T_wall);
                   if(debugLogOn)console.log('T bei 70% ' + TH70Round);
                   if(debugLogOn)console.log('T bei 80% ' + TH80Round);
                   if(debugLogOn)console.log('T bei 90% ' + TH90Round);
                   if(debugLogOn)console.log('T_dewRound: ' + T_dewRound);  
                   if(debugLogOn)console.log('Habs: ' + H_absRound);
                   if(debugLogOn)console.log('H_standard ' + H_standardRound);
                   if(debugLogOn)console.log('Saettigungsdampfdruck: ' + P_vaporSaturRound);
                   if(debugLogOn)console.log('Partialdruck: ' + P_vaporRound);
                   if(debugLogOn)console.log('H_wall: ' + H_wallRound);
                
                
                
                
                
                
                //end script
                
                
                
                
                
                
                
                

                Schätze mal, daß der PWM Dimmer um 100Hz hat.

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #34

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

                mal mäßig quick aber sehr dirty umgeschrieben

                Danke erstmal dafür, setze ich nachher mal um

                @opensourcenomad sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

                damit das Sterben zu verlangsamen finde ich sehr altruistisch

                so bin ich halt.
                Habe davon zuviel im Fachhandel erlebt, wo es inzwischen nur noch sehr schwer ist Händler zu finden.
                Herrn Bezos möchte ich nicht unbedingt unterstützen.

                @opensourcenomad sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

                der Homematic PWM-Dimmer hat eine Ausgangsfrequenz von ca. 400 Hz

                Danke dafür!

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0
                • OpenSourceNomadO OpenSourceNomad

                  @homoran said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

                  bestellen mache ich aus Prinzip nur hier

                  Wenn du bereits bist ein vielfaches zu zahlen damit das (immer) in fern Ost produzierte Teil einen extra Zwischenstopp in Bayern einlegt kannst du hier ein mosfet board (ohne esp!) für 5€ erstehen. :moneybag:

                  Zum Vergleich direkt aus dem Erzeugerland:
                  e55ae585-2d30-4c19-abac-1862e4cf93d1-image.png

                  Deine Konsequenz die (noch) existieren Zwischenhändler zu subventionieren und damit das Sterben zu verlangsamen finde ich sehr altruistisch.

                  Ich habe nie Verstanden welchen Mehrwert ich habe von einem Zwischenhändler für das identische (:warning:) Produkt mehr zu zahlen. Wenn irgendwie Möglich kaufe ich immer direkt vom Produzenten.

                  @homoran said in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

                  Ist der hier
                  https://de.elv.com/homematic-led-funk-dimmer-1-fach-12-24v-pwm-hm-lc-dim1pwm-cv-fuer-smart-home-hausautomation-099444
                  Habe da keine Frequenz gefunden

                  Im Forum berichtet ein Kunde von einem erkennbaren 200Hz flimmern

                  ELV selber dazu:

                  der Homematic PWM-Dimmer hat eine Ausgangsfrequenz von ca. 400 Hz. Dieses reicht in der Regel völlig aus, da Flimmern ab 200 Hz vom Menschen normalerweise nicht mehr wahrgenommen werden kann.

                  Von den 60 Euronen für das Gerät waren wohl nach Personalkosten (und Gewinn) nur noch 2,5€ pro Stück über um die Hardware aus China einzukaufen (vorausgesetzt die Geräte werden überhaupt in DE zusammengeschraubt) :grimacing:

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #35

                  @opensourcenomad sagte in ESPHome: Wandfeuchte messen - Schimmel vermeiden:

                  vorausgesetzt die Geräte werden überhaupt in DE zusammengeschraubt)

                  Werden sie, und zwar von mir

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Antwort Letzte Antwort
                  1
                  • K klassisch

                    So, verstehe diese Form von embedded JS nicht wirklich und habe es jetzt mal mäßig quick aber sehr dirty umgeschrieben
                    Edit: Quelle des Algo: http://www.TH80.de/

                    /*  Calculate Humidity and moisture data **********************
                    
                     Calculations of Humidity and water content in air 
                     modifications of http://www.TH80.de/
                    
                    Purpose:
                    * Input values:
                      ** Temp: temperaure of air
                      ** Hrel: humidity in air at the same location (measured by the same sensor) SHT35 or SHT85 recommende for precise data
                      ** T_wall: wall temperature. measured e.g. by a contact thermometer. To minimize calculation errors, it is reommended, to locate the T/H sensor close to the wall and contact T-sensor
                    
                    * Output data:
                    
                      **  TH70 Air: temperature to acieve a relative humidity of 70%
                      **  TH80 Air: temperature to acieve a relative humidity of 80%
                      **  TH90 Air: temperature to acieve a relative humidity of 90%
                      **  T_dew Air: temperature to achieve a relative humidity of 100% (dew point, TH100)
                      **  H_abs Mass: of water in grams in 1 m³ of air
                      **  H_standard: Value of the relative humidity @20°C (standardized humidity)
                      **  P_vaporSatur: Current water vapor saturation pressure in Pa
                      **  P_vapor: Current water vapor pressure in Pa
                      **  H_wall: Current wall moisture: relative humidty @ T-wall.
                      **  P_vaporSaturWall: vapor saturation pressure at T_wall
                     
                    
                    ***************************************/
                    
                    const debugLogOn = true;
                    const nameOfThisScript = name.split('.')[name.split('.').length - 1];
                    
                    
                    // test Variables 
                    var Temp = 14;
                    var Hrel = 8;
                    var T_wall = 12;
                    //=20.13°C humidity=56.55%
                    // temperature=20.52°C humidity=55.44%
                    
                    
                    // end test variables
                    
                    
                    
                    
                    
                    var Hrel = Hrel
                    var P_vaporSatur;
                    var P_vaporSaturWall;
                    var P_vapor;
                    var T_dew;
                    var TH70;
                    var TH80;
                    var TH90;
                    var H_abs;
                    var H_standard;
                    var H_wall;
                    
                    var P_vaporSaturRound;
                    var P_vaporRound;
                    var T_dewRound;
                    var TH70Round;
                    var	TH80Round;
                    var	TH90Round;
                    var H_absRound;
                    var H_standardRound;
                    var H_wallRound;
                    		
                    
                    function calculateHumidityValues() {
                    		P_vaporSatur = 611*Math.pow(10,7.5*Temp/(237.3+Temp));
                    		P_vaporSaturWall = 611*Math.pow(10,7.5*T_wall/(237.3+T_wall));
                    		P_vapor = Hrel/100*P_vaporSatur;
                    		T_dew = 237.3*Math.log(P_vapor/610.78)/Math.log(10)/(7.5-Math.log(P_vapor/610.78)/Math.log(10));
                    		TH70 = 237.3*Math.log(P_vapor/(610.78*0.7))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.7))/Math.log(10));
                    		TH80 = 237.3*Math.log(P_vapor/(610.78*0.8))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.8))/Math.log(10));
                    		TH90 = 237.3*Math.log(P_vapor/(610.78*0.9))/Math.log(10)/(7.5-Math.log(P_vapor/(610.78*0.9))/Math.log(10));
                    		H_abs = 1000*18.016/8314.3*P_vapor/(Temp+273.15);
                    		H_standard = P_vaporSatur*Hrel/2340;
                    		H_wall = (P_vapor / P_vaporSaturWall)*100;
                    
                    		P_vaporSaturRound = Math.round(P_vaporSatur);
                    		P_vaporRound = Math.round(P_vapor);
                    		T_dewRound = Math.round(T_dew*100)/100;
                    		TH70Round = Math.round(TH70*100)/100;
                    		TH80Round = Math.round(TH80*100)/100;
                    		TH90Round = Math.round(TH90*100)/100;
                    		H_absRound = Math.round(H_abs*100)/100;
                    		H_standardRound = Math.round(H_standard*100)/100;
                       		H_wallRound = Math.round(H_wall*100)/100;
                    
                    };
                    
                    
                    
                    // start calculation using the predefined data
                       calculateHumidityValues();
                       
                    // output    
                    
                       if(debugLogOn)console.log('Temp: ' +Temp+';  Hrel: ' + Hrel + ';  T_wall: ' + T_wall);
                       if(debugLogOn)console.log('T bei 70% ' + TH70Round);
                       if(debugLogOn)console.log('T bei 80% ' + TH80Round);
                       if(debugLogOn)console.log('T bei 90% ' + TH90Round);
                       if(debugLogOn)console.log('T_dewRound: ' + T_dewRound);  
                       if(debugLogOn)console.log('Habs: ' + H_absRound);
                       if(debugLogOn)console.log('H_standard ' + H_standardRound);
                       if(debugLogOn)console.log('Saettigungsdampfdruck: ' + P_vaporSaturRound);
                       if(debugLogOn)console.log('Partialdruck: ' + P_vaporRound);
                       if(debugLogOn)console.log('H_wall: ' + H_wallRound);
                    
                    
                    
                    
                    
                    
                    //end script
                    
                    
                    
                    
                    
                    
                    
                    

                    Schätze mal, daß der PWM Dimmer um 100Hz hat.

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #36

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

                    sehr dirty umgeschrieben

                    ich hab es versucht noch dirtier zu machen:
                    TP_80_01.png

                    muss da bei der ID noch irgendwo ein .val oder so rein?

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    K 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

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

                      sehr dirty umgeschrieben

                      ich hab es versucht noch dirtier zu machen:
                      TP_80_01.png

                      muss da bei der ID noch irgendwo ein .val oder so rein?

                      K Offline
                      K Offline
                      klassisch
                      Most Active
                      schrieb am zuletzt editiert von
                      #37

                      @homoran var Temp = getState('DeineID').val;

                      HomoranH 1 Antwort Letzte Antwort
                      1
                      • K klassisch

                        @homoran var Temp = getState('DeineID').val;

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #38

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

                        getState

                        Danke - läuft!

                        19:35:07.082	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: Taupunkt: 10.548477384785869
                        19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: Saettigungsdampfdruck: 2090.4541817975487
                        19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: Partialdruck: 1275.1770508965046
                        19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: Habs: 9.484498607491766
                        19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: T bei 80% 14.182271687551786
                        19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: T bei 70% 16.064102027198793
                        

                        dann will ich mal sehen, ob ich damit noch etwas meine js-Kenntnisse aufbessern kann. (z.B. DP anlegen und befüllen)

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        K 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

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

                          getState

                          Danke - läuft!

                          19:35:07.082	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: Taupunkt: 10.548477384785869
                          19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: Saettigungsdampfdruck: 2090.4541817975487
                          19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: Partialdruck: 1275.1770508965046
                          19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: Habs: 9.484498607491766
                          19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: T bei 80% 14.182271687551786
                          19:35:07.083	info	javascript.1 (6588) script.js.Wetter_und_Klima.Werkstatt_TP80: T bei 70% 16.064102027198793
                          

                          dann will ich mal sehen, ob ich damit noch etwas meine js-Kenntnisse aufbessern kann. (z.B. DP anlegen und befüllen)

                          K Offline
                          K Offline
                          klassisch
                          Most Active
                          schrieb am zuletzt editiert von
                          #39

                          @homoran Anlegen erst mal manuell über Admin. Beschreiben via

                          setState('DeineId',variable);
                          
                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • K klassisch

                            @homoran Anlegen erst mal manuell über Admin. Beschreiben via

                            setState('DeineId',variable);
                            
                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #40

                            @klassisch wollte ich doch machen :cry:

                            DANKE!

                            was ist denn habs?
                            die Werte, die dabei rauskommen passen nicht zum Raumklima Skript.
                            kann es z.B. sein, dass hier g/Cubicmeter und nicht g/kg gerechnet wird
                            hier kommt 9,48 heraus, beim Lüftungsskript 7,6

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            K 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @klassisch wollte ich doch machen :cry:

                              DANKE!

                              was ist denn habs?
                              die Werte, die dabei rauskommen passen nicht zum Raumklima Skript.
                              kann es z.B. sein, dass hier g/Cubicmeter und nicht g/kg gerechnet wird
                              hier kommt 9,48 heraus, beim Lüftungsskript 7,6

                              K Offline
                              K Offline
                              klassisch
                              Most Active
                              schrieb am zuletzt editiert von
                              #41

                              @homoran Habs ist die Absolute Feuchte in g/m³. Die bevorzugte Einheit, weil man da den Luftdruck nicht braucht.

                              HomoranH 1 Antwort Letzte Antwort
                              1
                              • K klassisch

                                @homoran Habs ist die Absolute Feuchte in g/m³. Die bevorzugte Einheit, weil man da den Luftdruck nicht braucht.

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von Homoran
                                #42

                                @klassisch
                                Nochmals Danke für deine Unterstützung.
                                Hab es jetzt implementiert bekommen und hoffentlich auch den Trigger korrekt gesetzt.
                                Datenpunkte werden korrekt gefüllt und den offset des Raumsensors ("kalibriert" mit den neuen Senosren) hab ich auch drin. Werte passen jetzt mit dem Raumklima übereinander.

                                Jetzt wird es langsam unübersichtlich
                                Klima_allgemein.png

                                Ausschnitt Werkstatt:
                                Klima_Werkstatt.png

                                Der aw 70 liegt aber verdammt dicht an der Wandtemperatur.
                                Da muss ich mal mein Entfeuchter/Heizprogramm nochmal durchdenken.

                                EDIT:
                                @klassisch
                                hier mein Machwerk:

                                // Luftfeuchteberechnungen
                                // modifiziert nach https://www.pb-schilling.de/baubiologie/luftfeuchte-rechner/ 
                                
                                const debugLogOn = true;
                                
                                // Testvariablen 
                                var Temp = getState('hm-rpc.0.JEQ0046663.1.TEMPERATURE').val/*Klima Werkstatt:1 TEMPERATURE*/;
                                var Hrel = (getState('hm-rpc.0.JEQ0046663.1.HUMIDITY').val)-2.5/*Klima Werkstatt:1 HUMIDITY*/;
                                // end Testvariablen
                                
                                Luftfeuchteberechnungen(Temp,Hrel);
                                
                                
                                
                                function Luftfeuchteberechnungen(myTemp,myHrel){ 
                                  Luftfeuchtevorbereitung(myTemp, myHrel);
                                  taupunktTemperatur();
                                  //if(debugLogOn)console.log('Taupunkt: ' + taupunktTemperatur());  
                                  wasserdampfSaettingungsdruck();
                                  //if(debugLogOn)console.log('Saettigungsdampfdruck: ' + wasserdampfSaettingungsdruck());
                                  wasserdampfTeildruck();
                                  //if(debugLogOn)console.log('Partialdruck: ' + wasserdampfTeildruck());
                                  wassergehaltLuft();
                                  //if(debugLogOn)console.log('Habs: ' + wassergehaltLuft());
                                  awWert80();
                                  //if(debugLogOn)console.log('T bei 80% ' + awWert80());
                                  awWert70();
                                  //if(debugLogOn)console.log('T bei 70% ' + awWert70());
                                }
                                
                                
                                
                                   function Luftfeuchtevorbereitung( theta, phi) {
                                     this.theta = theta;
                                     this.phi = phi;
                                     if (this.phi > 1) {
                                       this.phi = this.phi / 100;
                                     }
                                     if (this.phi > 1) {
                                       this.phi = 1;
                                     }
                                   };
                                
                                
                                   function taupunktTemperatur() {
                                     return Math.pow(this.phi, 0.1247) * (109.8 + this.theta) - 109.8;
                                   };
                                
                                
                                   function wasserdampfSaettingungsdruck() {
                                     if (this.theta > 0) {
                                       return 288.68 * Math.pow(1.098 + this.theta / 100, 8.02);
                                     } else {
                                       return 4.689 * Math.pow(1.486 + this.theta / 100, 12.3);
                                     }
                                   };
                                
                                
                                   function wasserdampfTeildruck() {
                                     return this.phi * wasserdampfSaettingungsdruck();
                                   };
                                
                                   function wassergehaltLuft() {
                                     return 216.7 * wasserdampfTeildruck() * 0.01 / (this.theta + 273.15);
                                   };
                                
                                
                                   function awWert80() {
                                     var oben, unten;
                                     oben = 237.3 * Math.log(611 * Math.pow(10, 7.5 * this.theta / (237.3 + this.theta) * this.phi) / 488.62) / Math.LN10;
                                     unten = 7.5 - Math.log(611 * Math.pow(10, 7.5 * this.theta / (237.3 + this.theta) * this.phi) / 488.62) / Math.LN10;
                                     return oben / unten;
                                   };
                                
                                   function awWert70() {
                                     var oben, unten;
                                     oben = 237.8 * Math.log(wasserdampfTeildruck() / (610.78 * 0.7)) / Math.LN10;
                                     unten = 7.5 - Math.log(wasserdampfTeildruck() / (610.78 * 0.7)) / Math.LN10;
                                     return oben / unten;
                                   };
                                
                                
                                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('javascript.1.Raumklima.Raum.Werkstatt.Taupunkt',Luftfeuchteberechnungen); // triggert bei Wertänderung;
                                
                                //end script
                                

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                1 Antwort Letzte Antwort
                                1
                                • HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #43

                                  @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()).

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • HomoranH Homoran

                                    @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()).

                                    K Offline
                                    K Offline
                                    klassisch
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #44

                                    @homoran ich sehe nichts

                                    HomoranH 1 Antwort Letzte Antwort
                                    0
                                    • K klassisch

                                      @homoran ich sehe nichts

                                      HomoranH Nicht stören
                                      HomoranH Nicht stören
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb am zuletzt editiert von
                                      #45

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

                                      @homoran ich sehe nichts

                                      keinen Fehler oder nicht das Skript im Spoiler?

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • HomoranH Homoran

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

                                        @homoran ich sehe nichts

                                        keinen Fehler oder nicht das Skript im Spoiler?

                                        K Offline
                                        K Offline
                                        klassisch
                                        Most Active
                                        schrieb am zuletzt editiert von klassisch
                                        #46

                                        @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);
                                        });
                                        
                                        
                                        HomoranH 1 Antwort Letzte Antwort
                                        0
                                        • K klassisch

                                          @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);
                                          });
                                          
                                          
                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #47

                                          @klassisch danke!
                                          und ich dachte ich hätte etwas mehr js gelernt :cry:

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          K 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          866

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe