Seite 1 von 1
					
				Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Di 2. Nov 2021, 13:26
				von Osorkon
				Template zur Berechnung der Taupunkt Temperatur und der absoluten Luftfeuchtigkeit.
Die Sensoren für Temperatur und Luftfeuchtigkeit, müssen natürlich gegen eure eigne ersetzt werden.
Code: Alles auswählen
{% set t = states('sensor.temperature') | float %} {## Luft-Temperatur (°C) ##}
{% set r = states('sensor.humidity') | float %} {## relative Luftfeuchtigkeit (%) ##}
{% if  states('sensor.temperature') | float >= 0 %}
{% set a = 7.5 %}
{% set b = 237.3 %}
{%- else -%}
{% set a = 7.6 %}
{% set b = 240.7 %}
{%- endif %}
{% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
{% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
{% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
{% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
{% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
{% set tk = t + t0 %} {## Temperatur in Kelvin ##}
{% set v = log(dd/6.1078,10) %} {## v-Parameter ##}
{% set af = (10**5 *  mw/gk * dd/tk) | float | round(2) %} {## Wasserdampfdichte bzw. absolute Feuchte (g/m3) ##}
{% set td = ((b*v) / (a-v)) | round(2) %} {## Taupunkttemperatur (°C) ##}
Taupunkt: {{td}} °C
absolute Feuchte: {{af}} g/m3
Gruß
Osorkon
 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Mo 10. Jan 2022, 13:38
				von Hamudulu
				Hallo
wie hast du das im HA zum laufen gebracht? Mit diesem YAML bin ich noch ein wenig auf Kriegsfuss. 
Fehlt da nicht was davor? 
Danke
Grüße
			 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Mo 10. Jan 2022, 21:51
				von Friedi
				Hamudulu hat geschrieben: ↑Mo 10. Jan 2022, 13:38
Fehlt da nicht was davor? 
 
Das ist ein reines Template. Das musst du halt irgendwo einbauen, wo du es brauchst. Z.B. in eine Automatisierung  

 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Mo 10. Jan 2022, 22:12
				von Hamudulu
				Ja, inzwischen hab ich mich da eingelesen und fast schon Erfolg gehabt…ich hätte gern als Output an nem Template Sensor eine Zahl und kein String…kannst mir da ein tip geben.
Danke
			 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Di 11. Jan 2022, 06:49
				von Friedi
				Hamudulu hat geschrieben: ↑Mo 10. Jan 2022, 22:12
eine Zahl und kein String…kannst mir da ein tip geben.
 
Zum Beispiel so (nicht getestet):
 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Di 11. Jan 2022, 09:21
				von Hamudulu
				So gehts...(Hab ein Taupunktsensor erstellt)
Code: Alles auswählen
      taupunkt_bad_eg:
        friendly_name: Taupunkt Bad EG
        device_class: temperature
        unit_of_measurement: '°C'
        icon_template: 'mdi:thermometer'
        value_template: >
         {% set t = states('sensor.temperature_bad_eg') | float %} {## Luft-Temperatur (°C) ##}
         {% set r = states('sensor.humidity_bad_eg') | float %} {## relative Luftfeuchtigkeit (%) ##}
         {% if  states('sensor.temperature_bad_eg') | float >= 0 %}
         {% set a = 7.5 %}
         {% set b = 237.3 %}
         {%- else -%}
         {% set a = 7.6 %}
         {% set b = 240.7 %}
         {%- endif %}
         {% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
         {% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
         {% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
         {% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
         {% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
         {% set tk = t + t0 %} {## Temperatur in Kelvin ##}
         {% set v = log(dd/6.1078,10) %} {## v-Parameter ##}         
         {% set td = ((b*v) / (a-v)) | float| round(2) %} {## Taupunkttemperatur (°C) ##}
         {{td}}
Danke  

 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Di 11. Jan 2022, 13:00
				von Friedi
				Hamudulu hat geschrieben: ↑Di 11. Jan 2022, 09:21
So gehts...(Hab ein Taupunktsensor erstellt)
...
Danke  
 
 
Gerne  

 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Di 11. Jan 2022, 15:27
				von Markus
				was mach ich falsch? zeigt immer nur 0 an
Code: Alles auswählen
  - platform: template
    sensors:
      taupunkt:
        friendly_name: Taupunkt
        device_class: temperature
        unit_of_measurement: '°C'
        icon_template: 'mdi:thermometer'
        value_template: >
          {% set t = states('sensor.outdoor_temperature') | float %} {## Luft-Temperatur (°C) ##}
          {% set r = states('sensor.humidity_bad_eg') | float %} {## relative Luftfeuchtigkeit (%) ##}
          {% if  states('sensor.humidity') | float >= 0 %}
          {% set a = 7.5 %}
          {% set b = 237.3 %}
          {%- else -%}
          {% set a = 7.6 %}
          {% set b = 240.7 %}
          {%- endif %}
          {% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
          {% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
          {% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
          {% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
          {% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
          {% set tk = t + t0 %} {## Temperatur in Kelvin ##}
          {% set v = log(dd/6.1078,10) %} {## v-Parameter ##}         
          {% set td = ((b*v) / (a-v)) | float| round(2) %} {## Taupunkttemperatur (°C) ##}
          {{td}}
 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Di 11. Jan 2022, 15:49
				von Hamudulu
				Du solltest deine Sensoren eintragen...da ist noch ein ...bad_eg drin. Das ist denk ich der copy paste Fehler.
Grüße
			 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Di 11. Jan 2022, 16:08
				von Markus
				Hamudulu hat geschrieben: ↑Di 11. Jan 2022, 15:49
Du solltest deine Sensoren eintragen...da ist noch ein ...bad_eg drin. Das ist denk ich der copy paste Fehler.
Grüße
 
ahhh, sorry klar...danke
 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Di 13. Sep 2022, 23:08
				von luchs2a
				Moin,
Nachtrag für Markus bzw. für alle welche kopieren
der Code von 2 vorher enthält den Fehler das in der 3. Zeile nochmals die Humidity und nicht die Temperatur abgefragt wird.
Ich würde sogar weiter gehen und die Werte nicht an 2 Stellen angeben zu müssen sondern "wiederzuverwenden" Das vermeidet solche "Details".
Also die If Abfrage auf T laufen zu lassen und gut. 
Da ich kein YAML kann habe ich das mal spontan angegeben. Es wäre schön wenn das noch jemand gegenprüft. Im ersten Ansatz läuft es bei mir so.
 
Code: Alles auswählen
- platform: template
  sensors:
    taupunkt:
        unique_id: unl_BAD_Tau  {## Luft-Temperatur (°C) ##}
        friendly_name: Taupunkt Bad {## Luft-Temperatur (°C) ##}
        device_class: temperature
        unit_of_measurement: '°C'
        icon_template: 'mdi:thermometer'
        value_template: >
          {% set t = states('sensor.EIGNEN_SENSOR_EINTRAGEN_temperature') | float %} {## Luft-Temperatur (°C) ##}
          {% set r = states('sensor.EIGNEN_SENSOR_EINTRAGEN_humidity') | float %} {## relative Luftfeuchtigkeit (%) ##}
          {% if  t >= 0 %}  {## Parameterumschaltung bei Minusgraden ##}
          {% set a = 7.5 %}
          {% set b = 237.3 %}
          {%- else -%}
          {% set a = 7.6 %}
          {% set b = 240.7 %}
          {%- endif %}
          {% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
          {% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
          {% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
          {% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
          {% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
          {% set tk = t + t0 %} {## Temperatur in Kelvin ##}
          {% set v = log(dd/6.1078,10) %} {## v-Parameter ##} 
          {% set td = ((b*v) / (a-v)) | float| round(2) %} {## Taupunkttemperatur (°C) ##}
          {{td}}
Grüße
Micha
 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Mi 14. Sep 2022, 00:05
				von Osorkon
				@luchs2a  einfach als value Template das Template aus dem Eingangsbeitrag verwenden. 
Allerdings würde ich ich nicht mehr die Plattform Template verwenden. Diese ist veraltet, zwar immer noch unterstützt, die Frage ist nur wie lange.
Stattdessen die neue Template Integration.
Auszug aus der template.yaml
Der erste ist der Taupunkt Sensor, der Zweite der für die Absolute Feuchte.
Code: Alles auswählen
- sensor:
  - name: Taupunkt Wohnzimmer
    state: |
      {% set t = states('sensor.aqara_klima_wz_temperature') | float %} {## Luft-Temperatur (°C) ##}
      {% set r = states('sensor.aqara_klima_wz_humidity') | float %} {## relative Luftfeuchtigkeit (%) ##}
      {% if  states('sensor.aqara_klima_wz_temperature') | float >= 0 %}
      {% set a = 7.5 %}
      {% set b = 237.3 %}
      {%- else -%}
      {% set a = 7.6 %}
      {% set b = 240.7 %}
      {%- endif %}
      {% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
      {% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
      {% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
      {% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
      {% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
      {% set tk = t + t0 %} {## Temperatur in Kelvin ##}
      {% set v = log(dd/6.1078,10) %} {## v-Parameter ##}
      {% set td = ((b*v) / (a-v)) | round(2) %} {## Taupunkttemperatur (°C) ##}
      {{td}} 
    state_class: measurement
    device_class: temperature
    unit_of_measurement: '°C'
    unique_id: taupunkt_wohnzimmer
  - name: Absolute Feuchte Wohnzimmer
    state: |
      {% set t = states('sensor.aqara_klima_wz_temperature') | float %} {## Luft-Temperatur (°C) ##}
      {% set r = states('sensor.aqara_klima_wz_humidity') | float %} {## relative Luftfeuchtigkeit (%) ##}
      {% if  states('sensor.aqara_klima_wz_temperature') | float >= 0 %}
      {% set a = 7.5 %}
      {% set b = 237.3 %}
      {%- else -%}
      {% set a = 7.6 %}
      {% set b = 240.7 %}
      {%- endif %}
      {% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
      {% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
      {% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
      {% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
      {% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
      {% set tk = t + t0 %} {## Temperatur in Kelvin ##}
      {% set v = log(dd/6.1078,10) %} {## v-Parameter ##}
      {% set af = (10**5 *  mw/gk * dd/tk) | float | round(2) %} {## Wasserdampfdichte bzw. absolute Feuchte (g/m3) ##}
      {{af}} 
    state_class: measurement
    unit_of_measurement: 'g/m3'
    icon: mdi:water
    unique_id: absolute_feuchte_wohnzimmer
Geprüft und für gut befunden. 

Die Entitäten für den Temperatur sowie für den Luftfeuchtigkeit Sensor müssen natürlich gegen Eure eigenen ausgetauscht werden.
Sowie der Name des Sensor und die unique_id ist nach Euren Bedürfnissen zu ändern.
Gruß
Osorkon
 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Fr 9. Dez 2022, 14:49
				von Friedi
				Osorkon hat geschrieben: ↑Mi 14. Sep 2022, 00:05
Geprüft und für gut befunden. 

 
Ich weiß schon, ich bin ein Ketzer, aber ich behaupte mal, du hast schlecht geprüft 
Die Formeln zur Berechnung der absoluten Feuchte und des Taupunktes sind in deinen Sensoren identisch. Beide Male wird der Taupunkt berechnet, nur eben andere, falsche (im zweiten Fall) Einheiten verwendet.
Ich denke, so wäre es richtig 
Code: Alles auswählen
- sensor:
  - name: Taupunkt Wohnzimmer
    state: |
      {% set t = states('sensor.aqara_klima_wz_temperature') | float %} {## Luft-Temperatur (°C) ##}
      {% set r = states('sensor.aqara_klima_wz_humidity') | float %} {## relative Luftfeuchtigkeit (%) ##}
      {% if  states('sensor.aqara_klima_wz_temperature') | float >= 0 %}
      {% set a = 7.5 %}
      {% set b = 237.3 %}
      {%- else -%}
      {% set a = 7.6 %}
      {% set b = 240.7 %}
      {%- endif %}
      {% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
      {% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
      {% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
      {% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
      {% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
      {% set tk = t + t0 %} {## Temperatur in Kelvin ##}
      {% set v = log(dd/6.1078,10) %} {## v-Parameter ##}
      {% set td = ((b*v) / (a-v)) | round(2) %} {## Taupunkttemperatur (°C) ##}
      {{td}} 
    state_class: measurement
    device_class: temperature
    unit_of_measurement: '°C'
    unique_id: taupunkt_wohnzimmer
  - name: Absolute Feuchte Wohnzimmer
    state: |
      {% set t = states('sensor.aqara_klima_wz_temperature') | float %} {## Luft-Temperatur (°C) ##}
      {% set r = states('sensor.aqara_klima_wz_humidity') | float %} {## relative Luftfeuchtigkeit (%) ##}
      {% if  states('sensor.aqara_klima_wz_temperature') | float >= 0 %}
      {% set a = 7.5 %}
      {% set b = 237.3 %}
      {%- else -%}
      {% set a = 7.6 %}
      {% set b = 240.7 %}
      {%- endif %}
      {% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
      {% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
      {% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
      {% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
      {% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
      {% set tk = t + t0 %} {## Temperatur in Kelvin ##}
      {% set v = log(dd/6.1078,10) %} {## v-Parameter ##}
      {% set af = (10**5 *  mw/gk * dd/tk) | float | round(2) %} {## Wasserdampfdichte bzw. absolute Feuchte (g/m3) ##}
      {{af}} 
    state_class: measurement
    unit_of_measurement: 'g/m3'
    icon: mdi:water
    unique_id: absolute_feuchte_wohnzimmer
 
			
					
				Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.
				Verfasst: Mo 5. Feb 2024, 23:45
				von Osorkon
				Das ganze lässt sich natürlich auch als macro verwenden.
D.h man braucht das lange Template nur ein mal im macro verwenden und ruft im eigentlichen Template Sensor, nur das macro auf und übergibt dann nur noch die Temperatur und Luftfeuchtigkeit Entitäten.
Das wäre das macro für die  absolute Feuchte, nach dem gleichen Schema lässt sich das macro auch für den Taupunkt verwenden.
Code: Alles auswählen
{% macro klima_entity(temperature, humidity) %}
{% set t = states(temperature) | float(0) %} {## Luft-Temperatur (°C) ##}
{% set r = states(humidity) | float(0) %} {## relative Luftfeuchtigkeit (%) ##}
{% if  states(temperature) | float(0) >= 0 %}
{% set a = 7.5 %}
{% set b = 237.3 %}
{%- else -%}
{% set a = 7.6 %}
{% set b = 240.7 %}
{%- endif %}
{% set ssd = 6.1078 * 10**((a*t)/(b+t)) %} {## Sättigungsdampfdruck (hPa) ##}
{% set dd = ssd * (r/100) %} {## Dampfdruck (hPa) ##}
{% set mw = 18.016 %} {## Molekulargewicht des Wasserdampfes (kg/kmol) ##}
{% set gk = 8314.3 %} {## universelle Gaskonstante (J/(kmol*K)) ##}
{% set t0 = 273.15 %} {## Absolute Temperatur von 0 °C (Kelvin) ##}
{% set tk = t + t0 %} {## Temperatur in Kelvin ##}
{% set v = log(dd/6.1078,10) %} {## v-Parameter ##}
{% set af = (10**5 *  mw/gk * dd/tk) | float | round(2) %} {## Wasserdampfdichte bzw. absolute Feuchte (g/m3) ##}
{% set td = ((b*v) / (a-v)) | round(2) %} {## Taupunkttemperatur (°C) ##}
{{ af }}
{% endmacro %}
Im Ordner config den Ordner custom_templates und darin die Datei klima.jinja erstellen.
Dort das oben stehende macro einfügen, speichern und Home Assistant neu starten.
Das eigentliche Template reduziert sich dann auf 2 Zeilen.
Code: Alles auswählen
{% from 'klima.jinja' import klima_entity %}
{{ klima_entity('sensor.temperature', 'sensor.humidity' ) }}
Nach dem es ja schon länger die Template Helfer gibt.
Einfach einen neuen Template Helfer in der GUI erstellen und as Template einfügen, fertig.  
 
Gruß
Osorkon