Deine Formel bzw. das Template hat irgendwo einen Fehler, habe aber keinen Lust danach zu suchen. ![]()
Hier mal meine Version zur Berechnung der absolute Feuchte und Taupunkt.
{% set t = states('sensor.temperature') | float(0) %} {## Luft-Temperatur (°C) ##}
{% set r = states('sensor.humidity') | float(0) %} {## relative Luftfeuchtigkeit (%) ##}
{% if states('sensor.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) ##}
Taupunkt: {{td}} °C
absolute Feuchte: {{af}} g/m3
Oder Du verwendest ein macro
Und rufst im template das macro auf und übergibst die Temperatur und Luftfeuchtigkeit Sensoren.
{% 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.
Bei deinem Template Sensoren, kannst Du dann diese Template verwenden.
Die Temperatur und Luftfeuchtigkeit Entitäten natürlich gegen Dien eigen austauschen.
{% from 'klima.jinja' import klima_entity %}
{{ klima_entity('sensor.temperature', 'sensor.humidity' ) }}
Aber theoretisch kannst Du Dir den ganzen Aufwand auch sparen und einfach die Custom Integration Thermal Comfort verwenden.
![]()
BTW:
Du brauchst Deine Template Sensoren nicht unbedingt per yaml erstellen.
Seit längeren gibt es ja die Template Helfer. ![]()
Gruß
Osorkon