Template - Taupunkt Temperatur & absolute Luftfeuchtigkeit

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.

{% 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

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.

{% 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.

{% 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. :grin:

Dokumentation zum Thema template und macro’s findet ihr hier

Gruß
Osorkon

1 „Gefällt mir“