Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Eine Sammlung von Home Assistant Templates.
Bitte nur fertige Templates posten, ergänzt um eine Beschreibung und ggf. Screenshots.


Antworten
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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
Einer muss ja für Ordnung sorgen. :D
Hamudulu
Beiträge: 93
Registriert: So 9. Jan 2022, 22:42
2
Has thanked: 6 times
Been thanked: 10 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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 8-)
Hamudulu
Beiträge: 93
Registriert: So 9. Jan 2022, 22:42
2
Has thanked: 6 times
Been thanked: 10 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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):

Code: Alles auswählen

{{td | float}}
Hamudulu
Beiträge: 93
Registriert: So 9. Jan 2022, 22:42
2
Has thanked: 6 times
Been thanked: 10 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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 8-)
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag von Friedi »

Hamudulu hat geschrieben: Di 11. Jan 2022, 09:21 So gehts...(Hab ein Taupunktsensor erstellt)
...
Danke 8-)
Gerne :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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}}

Hamudulu
Beiträge: 93
Registriert: So 9. Jan 2022, 22:42
2
Has thanked: 6 times
Been thanked: 10 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag von Hamudulu »

Du solltest deine Sensoren eintragen...da ist noch ein ...bad_eg drin. Das ist denk ich der copy paste Fehler.
Grüße
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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
luchs2a
Beiträge: 10
Registriert: Do 23. Jun 2022, 09:09
1
Has thanked: 3 times
Been thanked: 1 time

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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

Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Taupunkt Temperatur & absolute Luftfeuchtigkeit.

Beitrag 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. :D

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Antworten