Home Assistant, Luftreiniger, Qualität nur als "Begriff"

Hallo liebe Community,

vielleicht könnt ihr einem HA-Neuling ja bei einer Automatisierung helfen, die leider nicht rund läuft.

Mein Luftreiniger (Integration über Tuya)-Prozesses klappt leider so nicht:

Zuerst schalte ich ihn jeden Tag um 11 Uhr ein, dann soll aber die Luftqualität geprüft werden, ob nicht schon wieder abgeschaltet werden kann.

Die Entität “sensor.luftreiniger_luftqualitat” (Attribut friendly_name: Luftreiniger Luftqualität) liefert aber nur einen Text, aktuell “great”, also keinen numerischen Wert.

Meine “Regel” sieht so aus:

alias: Luftreiniger ausschalten bei Qualität "great"
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.luftreiniger_luftqualitat
    to: great
    attribute: "friendly_name: Luftreiniger Luftqualität"
condition:
  - condition: device
    device_id: 7b3b7cd9040939e9e93ce3e7ff92a408
    domain: fan
    entity_id: f5b25885fff8525f51264f738108a3e4
    type: is_on
action:
  - type: turn_off
    device_id: 7b3b7cd9040939e9e93ce3e7ff92a408
    entity_id: f5b25885fff8525f51264f738108a3e4
    domain: fan
mode: single

Aber der Luftreiniger schaltet sich einfach nicht ab. Was ist falsch?

Danke schon einmal für jeden Tipp!

Viele Grüße,
Dirk

das Attribut im Trigger wird vermutlich nicht stimmen. Lass das mal weg.

Hi Maxe,

danke für die schnelle Rückmeldung - ich hatte das auch schon ohne Attribut getestet, aber leider auch ohne Erfolg.

Viele Grüße,
Dirk

Dann schau doch noch mal genau unter den Developer Tools

was der Sensor für Zustände hat.

Schau mal unter Entwicklerwerkzeuge → Template was dir ausgegeben wird, wenn du das einfügst

{{ states('sensor.luftreiniger_luftqualitat') }}

Open your Home Assistant instance and show your template developer tools.

Hallo sirector,

dann kommt das hier heraus:

Dann lass das weg
attribute: "friendly_name: Luftreiniger Luftqualität"

Der Trigger löst dann aus, sobald sich der Status ändert, vorher nicht.

Hatte ich ja bereits geschrieben

Leider hat das auch nicht funktioniert, ABER ich habe jetzt die Ursache zumindest gefunden: der Wert ist bei Beginn schon ‘great’, d.h. eine Änderung tritt von ‘great’ zu ‘great’ nicht ein und damit auch kein Abschalten.

Ich habe einmal den Statuswert manuell in den Entwicklerwerkzeugen auf ‘poor’ gesetzt und dann ging der Luftreiniger direkt wieder aus (weil er direkt ‘great’ gemeldet bekam).

D.h. ich müsste zu Beginn der Automatisierung den Wert des Sensors auf ‘poor’ setzen. Oder besser an anderer Stelle?

Und kann ich das irgendwie direkt mit einem Befehl machen?

Genau das hatte ich geschrieben.

Warum musst du vor der Automation was ändern? Was genau soll die Automation denn machen? Ich dachte die soll genau das tun was sie tut.

Du könntest sonst noch als Trigger das Einschalten des Luftreinigers dazu nehmen und als Bedingung zusätzlich den Status great.

1 „Gefällt mir“

Verstehe ich jetzt auch nicht.
Anschalten um 11 Uhr und ausschalten wenn “great”. Dann funktioniert doch alles.

Beim einschalten um 11 Uhr noch die Bedingung setzen, dass der Sensor “poor” (oder NICHT great) sein muss.

Wenn um 11 schon great ist, soll sofort wieder aus gehen. Deshalb

Trigger:
Status great
Fan wird angeschaltet

Condition:
Status great
Fan läuft

1 „Gefällt mir“

Wenn um 11 great ist, braucht es mMn gar nicht angehen, deshalb die Bedingung in der Einschalt-Automatik.

1 „Gefällt mir“

Da gebe ich dir recht

Danke für eure Hilfe - ich habe jetzt eine Lösung gefunden, indem ich jede Nacht den Zustand auf “poor” setze. So ist er auf jeden Fall für den nächsten Start des Luftreinigers “initial”…

Erfreulich, wenn es funktioniert.

Aber wieso prüfst Du nicht, wie hier vorgeschlagen wurde, beim starten, ob der Wert bereits auf great steht und unterlässt in diesem Fall den Start?
Dann schaltet sich das Gerät nicht unnötig ein und unmittelbar danach wieder aus.

Wäre noch einmal sauberer als den Status zu manipulieren.

Wenn Du einmal Deine aktuelle Automatisierung als YAML (bitte in </>) postest, wird man Dir sicher auch gerne weiterhelfen, falls Du Probleme mit der Bedingung haben solltest.

Hallo Holger,

danke für die Anregung - tatsächlich hatte ich darüber nachgedacht, aber das Gerät muss ja erstmal eingeschaltet werden, um die Luftqualität zu prüfen.
D.h. es kann ja nicht automatisch von “great” ausgegangen werden, weil es der letzte Status war.
Möglicherweise hat sich die Luftqualität ja zwischendurch verändert.

Daher habe ich den anderen Ansatz gewählt: erst “reset (poor)”, dann prüfen und bei “great” wieder abschalten.

Viele Grüße,
Dirk

1 „Gefällt mir“

Perfekt, die Info hatte noch gefehlt. Dachte nämlich auch schon, warum angehen lassen? Aber wenn der Status erst dann geprüft werden kann, ist es so optimal.

1 „Gefällt mir“