Sensor statt "0 W" als "AUS" anzeigen lassen

Hallo zusammen, ich habe mal wieder ein Problem.
Folgende Situation: Ich bekomme die Daten von meinem WMZ per MQTT, ein Datensatz möchte ich weiterleiten an die Ulanzi Uhr ( tc001 Awtrix). Soweit funktionert auch alles, aber ich möchte bei der Ulanzi nicht das da “0 W” stehen, sondern einfach nur “AUS”.
Hier mal eine Konfiguration, aber dieser zeigt nur “AUS” an, obwohl ein Verbrauch anseteht.
Was mache ich falsch?
Hinweis: der WMZ gibt per MQTT als Ergebnis 0,0 W aus wenn er keine Leistung verbraucht

 service: mqtt.publish
data:
  qos: 0
  retain: false
  topic: awtrix_6cc650/custom/WMZ
  payload: >-
    { "text": "{% if states('sensor.wmz_aktuell_power') == '0,0 W' %} {{ states.sensor.wmz_aktuell_power.state | round(0) }} W {%
	else %} AUS {% endif %},
	"icon": "19651",  "textCase": "2",  "color": "FFFFFF"}

Besten Dank
Tobias

Der Sensor liefert doch eine Zahl, oder nicht?

Dann muss es
== 0

lauten.

Gruß
Osorkon

Du fragst ab ob der Sensor 0,0 W als Zustand hat und sagst dann, dass er {{ states.sensor.wmz_aktuell_power.state | round(0) }} anzeigen soll. Wenn er nicht 0,0 W hat, soll er AUS anzeigen. Ist das nicht falschrum?

Ja genau, er soll nur was anzeigen wenn Leistung abgerufen wird, wenn nicht (0,0) dann soll da AUS stehen. Wie krige ich das hin?

Wie schon geschrieben.
== 0

und nicht
== '0,0 W'

Kannst auch IIF verwenden anstatt if/else

{{ iif(states('sensor.wmz_aktuell_powerr') == 0, "AUS", states('sensor.wmz_aktuell_power')| int(0)) }}

Gruß
Osorkon

Hallo Osorkon

Habe ich probiert, aber es kommt dieses raus:

Gruß
Tobias

Dann liefert der Sensor keine Zahl sondern ein String.
Versuch es mit:

{{ iif(states('sensor.wmz_aktuell_powerr') | int(0) == 0, "AUS", states('sensor.wmz_aktuell_power')| int(0)) }}

Gruß
Osorkon

Ja super, das war es. :slight_smile:
Vielen Dank für den Tip, wieder was gelernt.