Seite 1 von 1

Tausender-Trennzeichen

Verfasst: Mo 3. Okt 2022, 17:56
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('_', '.') }}"

Re: Tausender-Trennzeichen

Verfasst: Mo 3. Okt 2022, 18:13
von Osorkon

Versuche es mal mit:

Code: Alles auswählen

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

Gruß
Osorkon


Re: Tausender-Trennzeichen

Verfasst: Mo 3. Okt 2022, 20:20
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


Re: Tausender-Trennzeichen

Verfasst: Mo 3. Okt 2022, 20:25
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) 412 mal betrachtet

Einen Tippfehler kannst du ausschießen?

Gruß
Osorkon


Re: Tausender-Trennzeichen

Verfasst: Mo 3. Okt 2022, 21:15
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("_", ".") }}"

Re: Tausender-Trennzeichen

Verfasst: Mo 3. Okt 2022, 22:56
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


Re: Tausender-Trennzeichen

Verfasst: Mi 7. Dez 2022, 11:26
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) 374 mal betrachtet

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


Re: Tausender-Trennzeichen

Verfasst: Do 8. Dez 2022, 23:29
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