I.V
31. Dezember 2025 um 08:36
1
Hallo Zusammen,
ich stehe mal wieder auf dem Schlauch und verstehe die Syntax nicht so wirklich.
Ich habe in allen Räumen Sensoren für die Temperatursteuerung. Diese beinhalten in den Attributen auch die Luftfeuchtigkeit. Da ich nicht immer mit den Attributen arbeiten wollte, oder am Anfang auch nicht konnte, habe ich mir noch extra Sensoren erstellt, die mir die Luftfeuchtigkeit anzeigen.
Diese Sensoren haben die Geräteklasse “humidity”.
Zu meiner Frage, ich möchte über yaml ermitteln, in wieviel Räumen die Luftfeuchtigkeit z.B. über 60% ist
Kann mir da jemand helfen und mir erklären wie das funktioniert?
Vielen Dank im Voraus.
Viele Grüße
Ingo
maxe
31. Dezember 2025 um 08:53
2
Sowas lässt sich relativ leicht mit auto-entities anzeigen.
1 „Gefällt mir“
Mit auto-entities ist eine gute Wahl im Dashboard. Könnte dann so irgendwie aussehen:
type: custom:auto-entities
card:
type: entities
title: Luftfeuchtigkeit über 60
filter:
include:
- domain: sensor
attributes:
device_class: humidity
state: "> 60"
sort:
method: state
numeric: true
Andere Möglichkeit wäre über ein Template-Sensor:
template:
- sensor:
- name: "Luftfeuchtigkeit über 60"
unit_of_measurement: "Räume"
state: >
{{
states.sensor
| selectattr('attributes.device_class', 'eq', 'humidity')
| selectattr('state', 'is_number')
| selectattr('state', 'float', '>', 60)
| list
| count
}}
1 „Gefällt mir“
I.V
31. Dezember 2025 um 11:01
4
Hey, danke für die schnelle Antwort.
Das mit den Template Sensor habe ich auch schon versucht (ich hatte das so ähnlich im Netz gefunden). Wenn ich das im Template Editor teste bekomme ich folgenden Fehler: TypeError: test_float() takes 1 positional argument but 3 were given.
Weißt du evtl. woran das liegt?
Dann hat er sicherlich Probleme mit dem float.
Ich habe es etwas umgeschrieben und auch getestet so funktioniert es. Prüft ob der state eine Nummer, wandelt es in float und macht dann den Test ob > 60.
{{
states.sensor
| selectattr('attributes.device_class', 'eq', 'humidity')
| selectattr('state', 'is_number')
| map(attribute='state')
| map('float')
| select('>', 60)
| list
| count
}}
I.V
31. Dezember 2025 um 11:22
6
Wenn ich den Code so ändere, das er eine Liste ausgibt und den Filter > 60 raus nehme
{{states.sensor
| selectattr(‚attributes.device_class‘, ‚eq‘, ‚humidity‘)
| selectattr(‚attributes.friendly_name‘, ‚search‘, ‚Luftfeuchtigkeit‘)
| selectattr(‚state‘, ‚is_number‘)
| list
}}
Bekomme ich folgendes aufgelistet (das ist nur ein Ausschnitt):
[<template TemplateState(<state sensor.luftfeuchtigkeit_humidity=99.9; state_class=measurement, unit_of_measurement=%, device_class=humidity, icon=mdi:water-percent, friendly_name=Luftfeuchtigkeit Außen @ 2025-12-31T11:01:53.027394+01:00>)>, <template TemplateState(<state sensor.bad_schlafzimmer_kl_luftfeuchtigkeit=53; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Bad Schlafzimmer KL Luftfeuchtigkeit @ 2025-12-31T12:20:59.599291+01:00>)>, <template TemplateState(<state sensor.bad_eg_luftfeuchtigkeit=40; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Bad EG Luftfeuchtigkeit @ 2025-12-31T12:00:05.458002+01:00>)>, <template TemplateState(<state sensor.bad_kl_luftfeuchtigkeit=51; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Bad KL Luftfeuchtigkeit @ 2025-12-31T10:48:35.038694+01:00>)>, <template TemplateState(<state sensor.bad_og_luftfeuchtigkeit=56; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Bad OG Luftfeuchtigkeit @ 2025-12-31T12:18:54.483499+01:00>)>, <template TemplateState(<state sensor.buro_luftfeuchtigkeit=50; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Büro Luftfeuchtigkeit @ 2025-12-31T12:19:15.307025+01:00>)>, <template TemplateState(<state sensor.dachboden_luftfeuchtigkeit=71; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Dachboden Luftfeuchtigkeit @ 2025-12-31T10:48:35.043989+01:00>)>, <template TemplateState(<state sensor.esszimmer_luftfeuchtigkeit=44; state_class=measurement, unit_of_measurement=%, device_class=humidity, friendly_name=Esszimmer Luftfeuchtigkeit @ 2025-12-31T11:30:40.830252+01:00>)>