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 (121.99 KiB) 420 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("_", ".") }}
anstatt
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 (11.96 KiB) 382 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