Tausender-Trennzeichen

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


Antworten
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Tausender-Trennzeichen

Beitrag von Markus »

Kann mir bitte jemand auf die Sprünge helfen > wo liegt hier der Fehler, ich möchte eigentlich einen . anstatt , als Tausender-Trennzeichen erhalten?

Code: Alles auswählen

value_template: "{{ '{0:._0f}'.format(states.sensor.mqttvzwirkein.state | int).replace('_', '.') }}"
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Tausender-Trennzeichen

Beitrag von Osorkon »

Versuche es mal mit:

Code: Alles auswählen

{{ "{0:_.0f}".format(states('sensor.mqttvzwirkein') | int) | replace("_",".") }}

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Tausender-Trennzeichen

Beitrag von Markus »

Leider ein Error:

Error loading /config/configuration.yaml: while parsing a flow mapping
in "/config/sensor.yaml", line 351, column 26
expected ',' or '}', but got '<scalar>'
in "/config/sensor.yaml", line 351, column 38

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

Re: Tausender-Trennzeichen

Beitrag von Osorkon »

Ich würde hier doch kein Template posten, dass ich zuvor nicht persönlich getestet habe. 😉😀

1000_trennzeichen.jpg
1000_trennzeichen.jpg (121.99 KiB) 333 mal betrachtet

Einen Tippfehler kannst du ausschießen?

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Tausender-Trennzeichen

Beitrag von Markus »

ich dreh am Rad....

Code: Alles auswählen

- platform: template
    sensors:
      rounded_mqttvzwirkein:
        friendly_name: "MQTT VZ Wirkein"
        unit_of_measurement: "W"
        value_template: "{{ "{0:._0f}".format(states('sensor.mqttvzwirkein') | int) | replace("_", ".") }}"
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Tausender-Trennzeichen

Beitrag von Osorkon »

Da ich die alte Platform Template nicht mehr verwende und auch nicht empfehlen würde zu verwenden, hier mal ein Template Sensor der Integration Template.
Inhalt aus der template.yaml

Code: Alles auswählen

- sensor:
  - name: MQTT VZ Wirkein
    state: |
      {{ ("{0:_.0f}".format(states('sensor.mqttvzwirkein') | int) | replace("_",".") )| string  }} W
    unique_id: rounded_mqttvzwirkein

Auch musst du den Sensor Wert als String konvertieren und die Einheit "W" als Sensor Einheit am ende mitgeben.
Ansonsten wird der Sensor als Zahl interpretiert und der "." wieder zu einem ","

Dein Template hat auch einen Fehler, scheint so als ob Du diesen nicht zuvor im Template Editor getestet hast.

Dein Template lautet:

Code: Alles auswählen

{{ "{0:._0f}".format(states('sensor.mqttvzwirkein') | int) | replace("_", ".") }}

Richtig wäre:

Code: Alles auswählen

{{ "{0:_.0f}".format(states('sensor.mqttvzwirkein') | int) | replace("_", ".") }}

Code: Alles auswählen

"{0:_.0f}"

anstatt

Code: Alles auswählen

"{0:._0f}"

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Tausender-Trennzeichen

Beitrag von Markus »

Hab ein interessantes Phänomen:

a) im Template-Editor wird der Wert korrekt mit Tausender-Trennzeichen als Punkt ausgegeben zB. 1.014

Code: Alles auswählen

value_template: "{{ '{0:_.0f}'.format(states('sensor.mqttvzwirkbezug') | int) | replace('_', '.') }}"}"

b) In der Ansichtskarte Gauge erfolgt die Darstellung aber wieder mit Komma

gauge.jpg
gauge.jpg (11.96 KiB) 295 mal betrachtet

Warum ist das so? Hätte im Gauge auch gerne den Punkt als Trennzeichen.

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

Re: Tausender-Trennzeichen

Beitrag von Osorkon »

Wenn Du sowohl den Punkt als auch das Komma weg lassen tust, also 1014.
Wird der Wert in der Gauge Ansichtskarte mit einem 1000er Trennzeichen, also einem Punkt dargestellt.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Antworten