Ein per Makro und Template berechneter Wert hat einen Dezimalpunkt statt -komma

EDIT:
Habs gelöst bekommen. Der Entität im Template einfach eine Einheit zuweisen mit:
unit_of_measurement: "°C"
.
.
.

Hallo zusammen,

nachdem ich dank der vielen Hilfe u.a. den Taupunkt der Luft eines Raumes berechnen kann, mache ich mich nun an das Feintuning.

Kurz:
#1 Ich berechne den Taupunkt per Makro mit einem Jinja Code
#2 Dieses Makro nutze ich dann in einem Template, um diesen Wert als Status einer Entität in einer Karte auszugeben

Der Werte, den die Entität - entity: sensor.taupunkt_kellerraum nun wiedergebt ist ein Wert (?) mit einem Dezimalpunkt.
Frage 1: Wie bekomme ich das Dezimalkomma und die Einheit °C ?
Frage 2: Wie bekomme ich ein Wertediagramm anstelle dieses bunten Balkens, wenn ich im Dashboard auf die Entität klicke?

So hätte ich es gerne:

VG
Christian

P.S.: Dies ist das Makro:

{% macro klima_entity(temperature, humidity, output='absf') %}
{% set t = states(temperature) | float(0) %} {## Luft-Temperatur (°C) ##}
{% set r = states(humidity) | float(0) %} {## relative Luftfeuchtigkeit (%) ##}
{% if t == 0 or r == 0 %}
unknown
{% else %}
{% 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(1) %} {## Wasserdampfdichte bzw. absolute Feuchte (g/m3) ##}
{% set td = ((b*v) / (a-v)) | float | round(1) %} {## Taupunkttemperatur (°C) ##}
{% if output == 'taup' %}
{{ td }}
{% else %}
{{ af }}
{%- endif %}
{%- endif %}
{% endmacro %}

und dies ein Teil des Templates, welches die Entität erzeugt:
(dabei fällt mir auf dass ich jeweils float und round(1) nutze. Aber egal…

  - name: "Taupunkt Kellerwand"
    state: >
      {% from 'klima.jinja' import klima_entity %}
      {{ float(klima_entity('sensor.temphumi_sonoff_04_temperature','sensor.temphumi_sonoff_04_humidity',output='taup' ) | round(1)) }}

Dir fehlt die Device state measurement

Eine Device Class, unit_of_measurement und einen unique_id, wären auch nicht verkehrt.
Aktuell wird Dein Taupunkt Sensor als String behandelt, deshalb auch kein Verlauf, das es nicht als Messwert behandelt wird.
Siehe auch doku:

Gruß Osorkon

1 „Gefällt mir“

Top. Danke. Wieder was dazugelernt!