Frontend replace von ausgebenen Sensorwerten

moinZen,

ich hab ne persönliche Karte gebastelt für die Familien App Ansicht…
So weit so gut.

im Abschnitt Wetter, hab ich nen Brett vorm Kopp.

Mein Sensor für Windrichtung gibt mir N / NO / O / usw usw aus.
Die hätte ich gern in KLARTEXT, daher hab ich das geschrieben:

<font color="#00FFFF">Der Wind bläst mit {{
(states('sensor.wind_speed_lehrte') | float*3.6) | round(0)
| replace(".", ",") }} km/h aus {{ states('sensor.wind_direction_lehrte') |
replace ("N", "Norden") | replace ("NO", "Nord Osten") |
replace ("O", "Osten") | replace ("SO", "Süd Osten") | 
replace ("S", "Süd") | replace("SW", "Süd Westen") | 
replace ("W", "Westen") |
replace ("NW", "Nord Westen") }}

Das Ergebniss ist aber das:
sw

Wo bin ich grad zu blöd?

Der Wind kommt also aus Süd Osten.
Du ersetzt aber das S (was auch in Süd vorkommt) durch Süd. Also wird Südüd angezeigt.
Das Gleiche beim Osten. O wird duch Osten ersetzt. Osten enthält ein O…
Hab grad auch keine Lösung, aber das Problem ist schonmal identifiziert :wink:

Kannst du nicht nach "S " suchen und ersetzen oder kommt ursprünglich nach dem S kein Leerzeichen?

Oder du versuchst es mit regex_replace.

Ja, genau das ist das Problem.
In meinem Kopf, wird aber das was in " steht gesucht und ersetzt.
also dachte ich “S” ist ein anderer Filter als “SO”

Versuch es mal so:

km/h aus
  {% if is_state('sensor.wind_direction_lehrte','N') %}
  Norden
  {% elif is_state('sensor.wind_direction_lehrte','NO') %}
  Nord Osten
  {% endif %}

Für die anderen Richtungen entsprechend erweitern.

1 „Gefällt mir“

Danke!

So scheint es besser zu funzen.

1 „Gefällt mir“