Textvergleich bei state_attr klappt nicht

Bereich rings rum zum Thema Yaml und seine Tücken.


Antworten
Benutzeravatar
Friedi
Beiträge: 443
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 36 times
Been thanked: 21 times

Textvergleich bei state_attr klappt nicht

Beitrag von Friedi »

Ich habe hier ein seltsames Phänomen, das ich gerade nicht verstehe.

Wenn ich folgendes im Template-Editor eingebe, erhalte ich, wie erwartet, den Wert "Karfreitag":

Code: Alles auswählen

{{ state_attr('calendar.feiertage_arbeitsfrei', 'message') }}

Seltsamerweise liefert dieser Ausdruck aber das Ergebnis "false":

Code: Alles auswählen

{{ state_attr('calendar.feiertage_arbeitsfrei', 'message') == 'Karfreitag' }}

Während dieser Ausdruck wie erwartet "true" ergibt:

Code: Alles auswählen

{{ 'Karfreitag' in state_attr('calendar.feiertage_arbeitsfrei', 'message') }}

Hat irgendwer eine Erklärung, warum der == Vergleich nicht das erwartete Ergebnis liefert?

Benutzeravatar
Osorkon
Administrator
Beiträge: 1951
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 61 times
Been thanked: 530 times
Kontaktdaten:

Re: Textvergleich bei state_attr klappt nicht

Beitrag von Osorkon »

Kann ich nicht bestätigen?!

Kalender Details.jpg
Kalender Details.jpg (76.21 KiB) 99 mal betrachtet

Hier die Templates:

Kalender template.jpg
Kalender template.jpg (91.33 KiB) 99 mal betrachtet

Kann mir nur erklären, das bei Dir als message nicht ausschließlich "Karfreitag" drin steht. Du vergleichst ja ein Sting, ein Leerzeichen mehr oder weniger, macht da schon ein Unterschied.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 443
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 36 times
Been thanked: 21 times

Re: Textvergleich bei state_attr klappt nicht

Beitrag von Friedi »

Ich habe gerade mal bei den Zuständen nachgesehen. Tatsächlich steht da: message: "Karfreitag\_"
Das ist aber wohl nicht der String, der verglichen wird. Auch wenn ich das vergleiche bekomme ich ein false.

Antworten