Mit Home Assistant richtig lüften und Schimmelbildung vorbeugen

Hallo @sirector ,

vielen Dank erstmal für das @Welcome

Laut dem Code und Video von Simon müsste das mit der Berechnung so richtig sein: temp-temp-humi

Für Attribute musst du state_attr() verwenden.

1 „Gefällt mir“

Oh Mist, dann wird sich bei mir ein Fehler eingeschlichen haben. Danke.

Hallo @maxe ,

vielen Dank. Ich hatte diese Variable auch schon bereits probiert, leider aber ohne Erfolg.

{{ ( 1000*e**(19.016-(4064.95/(float(state_attr('weather.forecast_homeassistent.attributes.temperature'))+236.25)))*100/(461.66*(float(state_attr('weather.forecast_homeassistent.attributes.temperature'))+273.15)) * float(state_attr('weather.forecast_homeassistent.attributes.humidity'))/100 | float) | round (2) }}

Versuche es mal mit
state_attr('weather.forecast_homeassistent', 'temperature')

1 „Gefällt mir“

:+1:t4: Das war es bzgl. Luftfeuchte außen.

edit: Die Sensoren wurden ja dadurch angelegt und ich konnte mit diesen auch die Differenz berechnen lassen.

Gut zu wissen bzgl. der Attribute. Vielen Dank :ok_hand:t4:

Wenn deine Helfer alle richtig angelegt sind und die einzelnen Berechnung jetzt stimmt, dann sollte es so passen. Du kannst dir die Werte ja mal einzeln anzeigen (Entwicklerwerkzeuge - Zustände) lassen und schauen ob es so plausibel ist.

1 „Gefällt mir“

Passt

image

Hallo in die Runde,

wenn ich mir den Code aus dem Video schnappe und in die configuration.yaml einfüge, sieht das folgendermaßen aus:

Überprüfe ich danach die Konfiguration erhalte ich folgende Meldung:

Wo liegt mein Fehler?

Versuche mal mit - sensor::

template:
    - sensor:
    # Errechnet aus der relativen Luftfeuchtigkeit und Temperatur im Innenraum die absolute Luftfreuchtigkeit in Gramm pro Kubikmeter
      - name: "Absolute Luftfeuchtigkeit IN
[...]

So?

Dann kommt diese Fehlermeldung:

- name und alles darunter entsprechend unter - sensor einrücken, wie @Schachter es geschrieben hat

1 „Gefällt mir“

Dachte, ich hätte alles richtig untereinander geschoben, war nicht der Fall, sorry, jetzt geht es! Vielen dank euch beiden!

1 „Gefällt mir“

Hallo zusammen,

ich kämpfe auch gerade mit einem Fehler bei Erstellung des Sensors der absoluten Luftfeuchtigkeit. Folgende Ausgangssituation bei mir

Temperatur-Sensoren von Homematic eingebunden über Raspberrymatic. Zur weiteren Verarbeitung in HA habe ich mir Template Sensoren wie folgt erstellt

      - name: "Relative Luftfeuchte Schlafzimmer"
        unique_id: "relative_luftfeuchte_schlafzimmer"
        device_class: humidity
        state_class: measurement
        unit_of_measurement: "%"
        icon: mdi:water-percent
        state: "{{ state_attr( 'climate.og_schlafzimmer_int0000001', 'current_humidity' )| default(60)}}"
      - name: "Temperatur Schlafzimmer"
        unique_id: "temperatur_schlafzimmer"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
        icon: mdi:thermometer 
        state: "{{ state_attr( 'climate.og_schlafzimmer_int0000001', 'current_temperature' )| default(60)}}"
      - name: "Solltemperatur Schlafzimmer"
        unique_id: "Solltemperatur_schlafzimmer"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
        icon: mdi:thermometer 
        state: "{{ state_attr( 'climate.og_schlafzimmer_int0000001', 'temperature' )| default(60)}}"

Mit diesen Sensoren wollte ich nun anhand des Beispiels mir den Sensor für die absolutte Luftfeuchtigkeit erstellen. Das ganze sieht dann bei mir so aus

    # Errechnet aus der relativen Luftfeuchtigkeit und Temperatur im Innenraum die absolute Luftfreuchtigkeit in Gramm pro Kubikmeter
      - name: "Absolute Luftfeuchtigkeit Schlafzimmer"
        unique_id: "absolute_luftfeuchte_Schlafzimmer"
        unit_of_measurement: "g/m^3"
        state_class: "measurement"
        state: > 
            {{ ( 1000*e**(19.016-(4064.95/(float(states('temperatur_schlafzimmer'))+236.25)))*100/(461.66*(float(states('temperatur_schlafzimmer'))+273.15)) * float(states('relative_luftfeuchte_schlafzimmer'))/100 | float) | round (2) }}

Leider zeigt er mir als Zustand lediglich “unvailable” an

Im Protokoll finde ich folgenden Fehler welchen ich leider nicht so richtig interpretieren kann

Logger: homeassistant.helpers.template_entity
Source: helpers/template_entity.py:422
First occurred: 10:24:51 (6 occurrences)
Last logged: 11:11:14

TemplateError('ValueError: Template error: float got invalid input 'unknown' when rendering template '{{ ( 1000*e**(19.016-(4064.95/(float(states('temperatur_schlafzimmer'))+236.25)))*100/(461.66*(float(states('temperatur_schlafzimmer'))+273.15)) * float(states('relative_luftfeuchte_schlafzimmer'))/100 | float) | round (2) }}' but no default was specified') while processing template 'Template<template=({{ ( 1000*e**(19.016-(4064.95/(float(states('temperatur_schlafzimmer'))+236.25)))*100/(461.66*(float(states('temperatur_schlafzimmer'))+273.15)) * float(states('relative_luftfeuchte_schlafzimmer'))/100 | float) | round (2) }}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.absolute_luftfeuchtigkeit_schlafzimmer'
TemplateError('ValueError: Template error: float got invalid input 'unknown' when rendering template '{{ ( 1000*e**(19.016-(4064.95/(float(states('temperatur_schlafzimmer'))+236.25)))*100/(461.66*(float(states('temperatur_schlafzimmer'))+273.15)) * float(states('relative_luftfeuchte_schlafzimmer'))/100 | float) | round (2) }}' but no default was specified') while processing template 'Template<template=({{ ( 1000*e**(19.016-(4064.95/(float(states('temperatur_schlafzimmer'))+236.25)))*100/(461.66*(float(states('temperatur_schlafzimmer'))+273.15)) * float(states('relative_luftfeuchte_schlafzimmer'))/100 | float) | round (2) }}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.absolute_luftfeuchtigkeit_schlafzimmer_2'
TemplateError('ValueError: Template error: float got invalid input 'unknown' when rendering template '{{ ( 1000*e**(19.016-(4064.95/(float(states('temperatur_schlafzimmer'))+236.25)))*100/(461.66*(float(states('temperatur_schlafzimmer'))+273.15)) * float(states('relative_luftfeuchte_schlafzimmer'))/100 | float) | round (2) }}' but no default was specified') while processing template 'Template<template=({{ ( 1000*e**(19.016-(4064.95/(float(states('temperatur_schlafzimmer'))+236.25)))*100/(461.66*(float(states('temperatur_schlafzimmer'))+273.15)) * float(states('relative_luftfeuchte_schlafzimmer'))/100 | float) | round (2) }}) renders=8>' for attribute '_attr_native_value' in entity 'sensor.absolute_luftfeuchtigkeit_schlafzimmer'

Hat jemand einen Tipp für mich wo mein Fehler liegen könnte?

Float scheint ein falsches Ergebnis zu bekommen. Ich vermute, dass ein Sensor keinen brauchbaren Wert liefert. Daher braucht float immer ein default-Wert welcher gezogen, wenn das Ergebnis invalid wäre.

Test mal über Entwicklerwerkzeuge - Template ob bei den folgenden Zeilen etwas angezeigt wird

{{ states('temperatur_schlafzimmer') }}

Du wirst kein Ergebnis bekommen, denn dieser müsste sensor.temperatur_schlafzimmer heißen.
Und auch bei der relative_luftfeuchte_schlafzimmer muss du den so schreiben, wie der in deinem letzten Screenshot angezeigt wird.

1 „Gefällt mir“

Hallo bei allem Respekt und Dankbarkeit für Simon Arbeit / Video …
Das mit den Sensoren für absolute Feuchtigkeit und mehr, geht auch einfacher :wink:
Ich nutze schon lange die Integration Thermal Comfort und es funktioniert alles ohne großen Aufwand oder Probleme …alles weiter, natürlich wie es Simon in Video gezeigt hat… Es muss natürlich, nicht jeder nutzen aber es ist gut zu wissen dass sowas auch gibt’s :wink:

4 „Gefällt mir“

Wie es @sirector schon schreibt, es wird einzig und alleine daran liegen, dass du die Sensoren falsch ansprichst:
states(‘sensor.temperatur_schlafzimmer’)
states(‘sensor.relative_luftfeuchte_schlafzimmer’)

2 „Gefällt mir“

… oh man :woozy_face: Manchmal sieht man den Wald vor lauter Bäumen nicht. DANKE! Natürlich funktioniert es jetzt

@maxe DANKE!

1 „Gefällt mir“

Ich würde gerne das thema nocheinmal aufgreifen. Ich hab jetzt alles soweit eingerichtet. Es funktioniert auch alles. Jedoch finde ich die 4,5 ein wenig hoch.
Den Wert erreiche ich kaum, bin maximal bei 3,5. Die Luftfeuchtigkeit ist aber bei 70% bei 19grad. Qas ja recht hoch ist…

Ich würde auch gerne Umsetzen das ich mit den Werten ein Lüftungs-OK bekomme. Nicht nur eine Lüftungsempfehlung. Wie müssten die Werte bei der absoluten Luftfeuchtigkeit sein um das Lüftungs-OK zu bekommen…

Ich pusche auch das Thema noch mal hoch. Ich bin von den Ergebnissen der Formel irritiert. Ein Sensor ist ein Netatmo Außenmodul. Das liefert beispielsweise gerade eben eine Luftfeuchtigkeit von 74 % und einer Außentemperatur von 12,0 °C. Wenn ich das in den Entwicklerwerkzeugen als Template testweise berechnen lasse, erhalte ich 2,9 g/m^3.

{{ ( 1000*e**(18.016-(4064.95/(float(states('sensor.netatmo_wohnbereich_aussenmodul_temperature'))+236.25)))*100/(461.66*(float(states('sensor.netatmo_wohnbereich_aussenmodul_temperature'))+273.15)) * float(states('sensor.netatmo_wohnbereich_aussenmodul_humidity'))/100 | float) | round (2) }}

Nehme ich die gleichen Werte auf Webseiten wie Wetterochs oder Luffeuchte-Rechner, dann kommt dort ein Wert von 7,9 g/m^3 heraus.

Übersehe ich etwas, oder ist die Formel eventuell doch falsch?