Timestamp formatieren

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


Antworten
rasch60
Beiträge: 10
Registriert: Do 5. Mai 2022, 09:34
1
Has thanked: 4 times

Timestamp formatieren

Beitrag von rasch60 »

Hallo,

wie formatiere ich im YAML Code einen Timestamp so, dass das Datum in dt. Schreibweise formatiert wird?
Ich bekomme es einfach nicht hin

  • platform: "mqtt"
    name: "wasseruhr_last_updated"
    state_topic: "watermeter/main/timestamp"
    value_template: "{{ value }}"
    icon: "mdi:clock-outline"

Schon mal besten Dank für Eure Hilfe

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: Timestamp formatieren

Beitrag von Osorkon »

Welchen Format hat den Dein Zeitstempel?
Und in welches Format möchtest Du den diesen umwandeln?

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
rasch60
Beiträge: 10
Registriert: Do 5. Mai 2022, 09:34
1
Has thanked: 4 times

Re: Timestamp formatieren

Beitrag von rasch60 »

Hallo Osorkon,

aktuell ist das int. Format vorhanden: "timestamp = 2022-11-03T11:43:10"
wird so per mqtt vom AI Wasserzähler übermittelt

ich hätte gern eine dt. Formatierung wie z.B. HH:MM DD.MM.YYYY

Gruss
Ralf

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: Timestamp formatieren

Beitrag von Osorkon »

Versuche es mal damit.

Code: Alles auswählen

{{ as_timestamp(states('sensor.wasseruhr_last_updated')) | timestamp_custom("%H:%M %d.%m.%Y") }}

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
rasch60
Beiträge: 10
Registriert: Do 5. Mai 2022, 09:34
1
Has thanked: 4 times

Re: Timestamp formatieren

Beitrag von rasch60 »

Hallo,

der gesamte Eintrag in der config.yaml sieht wie u.a. aus :

  • platform: "mqtt"
    name: "wasseruhr_last_updated"
    state_topic: "watermeter/main/timestamp"
    value_template: "{{ as_timestamp(states('sensor.wassermeter_last_updated')) | timestamp_custom("%H:%M %d.%m.%Y") }}"
    icon: "mdi:clock-outline"

hier bekomme ich allerdings eine Fehlermeldung

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: Timestamp formatieren

Beitrag von Osorkon »

Der Gedanke war ja auch nicht den MQTT Sensor zu manipulieren, das funktioniert so nicht.

Sonder auf Basis des MQTT SENSORS, entweder das Template in Deinem Dashboard zu verwenden. (z.B. Mushroom Template Karte) oder einen Template Sensor erstellen.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
rasch60
Beiträge: 10
Registriert: Do 5. Mai 2022, 09:34
1
Has thanked: 4 times

Re: Timestamp formatieren

Beitrag von rasch60 »

Hallo Osorkon,

ich habs jetzt noch mal mit einem Template Sensoren versucht, bekomme aber trotzdem Fehlermeldungen:

Code: Alles auswählen

 - platform: template
   sensors:
     watermeter_zeit:
      friendly_name: 'watermeter_zeit'
      unit_of_measurement: 
      value_template: "{{ as_timestamp(states('sensor.watermeter_last_updated')) | timestamp_custom("%H:%M %d.%m.%Y") }} 
 
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: Timestamp formatieren

Beitrag von Osorkon »

rasch60 hat geschrieben: Do 3. Nov 2022, 17:18

bekomme aber trotzdem Fehlermeldungen:

Hast ja auch noch den ein oder anderen Fehler. 😉
Z.B. fehlt der Wert für "unit_of_measurement:"
Wenn Du keinen Einheit verwenden willst, dann einfach "unit_of_measurement:" weg lassen.
Dann ist Dein Template nicht richtig formatiert.

So müsste es aussehen:

Code: Alles auswählen

- platform: template
  sensors:
    watermeter_zeit:
      friendly_name: 'watermeter_zeit'
      value_template: | 
        {{ as_timestamp(states('sensor.watermeter_last_updated')) | timestamp_custom("%H:%M %d.%m.%Y") }}

Allerdings würde ich nicht mehr die veraltete Platform Template verwenden, sonder die Aktuelle Integration Template.

Auszug aus der template.yaml

Code: Alles auswählen

- sensor:
  - name: "Watermeter Zeit"
    unique_id: watermeter_zeit
    state: | 
      {{ as_timestamp(states('sensor.watermeter_last_updated')) | timestamp_custom("%H:%M %d.%m.%Y") }}

Wenn Du jedoch den Zeitstempel nur im Dashboard visualisieren willst, brauchst Du ja nicht zwingend ein Template Sensor.
Das template kannst, wie bereits geschrieben auch als Template Karten anlegen.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
rasch60
Beiträge: 10
Registriert: Do 5. Mai 2022, 09:34
1
Has thanked: 4 times

Re: Timestamp formatieren

Beitrag von rasch60 »

Vielen Dank, so werde ich es versuchen

Antworten