Template et les device_class des variables

Bonjour,

En ce moment, j’ai du crée plusieurs templates sensors et l’un truc de pénible, c’est qu’on a systématiquement besoin de « recrée/respécifier » le format de la variable

un exemple, j’ai 2 variable :

  • l’une au format :
sensor.start_variable_batterie:
État : 2024-11-28T23:25:00+00:00
device_class: timestamp

  • l’autre au format :
sensor.dure_variable_batterie:
État : 9600
state_class: measurement
unit_of_measurement: s
device_class: duration

Or ce type d’opération échoue, car pour lui, c’est des « string »

{{ states('sensor.start_variable_batterie') +
    states('sensor.dure_variable_batterie') }}

On est obliger d’utiliser :

{{ states('sensor.start_variable_batterie') | as_datetime +
    states('sensor.dure_variable_batterie') | as_timedelta }}

Pourquoi les device_class sont pas utiliser pour reconnaître le type d’object, pourtant en précisant ce type de device_class, le format est très important et strict

Salut,
ça vient du fait que pour un sensor le champ state est une string quelle que soit la classe.
La device_class ne va pas changer ça, mais ajoute tout de même dans certains cas d’une vérification que la valeur retournée par le template est conforme à la classe.

Après oui c’est chiant, en plus c’est le truc que t’oublie tout le temps que tu essayes des templates dans les outils de dev, mais bon normalement on est pas amené à faire ce genre de choses trop souvent…