Hello
J’ai depuis peu ces msg d érreurs a propos de template que je n’avais pas il y a 3 mois lors de la création me semble t’il…
J’ai créé des energy input pour faire different calcul.
Tout semble aller bien
Je suis en 2023 -6.-1 en VM sur freebox
Voici les messages d’erreur qui semblent tourner autour de ca: _attr_native_value
Logger: homeassistant.helpers.template_entity
Source: helpers/template_entity.py:345
First occurred: 12 juin 2023 à 17:51:12 (209 occurrences)
Last logged: 07:47:12
TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{{ (((states('sensor.energie_jour_hc')|float / (states('sensor.energie_jour_hc')|float + states('sensor.energie_jour_hp')|float)))*100)|float|round (2)}}' but no default was specified') while processing template 'Template<template=({{ (((states('sensor.energie_jour_hc')|float / (states('sensor.energie_jour_hc')|float + states('sensor.energie_jour_hp')|float)))*100)|float|round (2)}}) renders=11814>' for attribute '_attr_native_value' in entity 'sensor.pourcentage_jour_hc_hp'
TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{{ (states('sensor.energie_mois_hc')|float + states('sensor.energie_mois_hp')|float)}}' but no default was specified') while processing template 'Template<template=({{ (states('sensor.energie_mois_hc')|float + states('sensor.energie_mois_hp')|float)}}) renders=11798>' for attribute '_attr_native_value' in entity 'sensor.energie_mois_total'
TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{{ (states('sensor.energie_an_hc')|float + states('sensor.energie_an_hp')|float)}}' but no default was specified') while processing template 'Template<template=({{ (states('sensor.energie_an_hc')|float + states('sensor.energie_an_hp')|float)}}) renders=11798>' for attribute '_attr_native_value' in entity 'sensor.energie_an_total'
TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{{ (((states('sensor.energie_mois_hc')|float / (states('sensor.energie_mois_total')|float)))*100)|float|round (2)}}' but no default was specified') while processing template 'Template<template=({{ (((states('sensor.energie_mois_hc')|float / (states('sensor.energie_mois_total')|float)))*100)|float|round (2)}}) renders=15470>' for attribute '_attr_native_value' in entity 'sensor.pourcentage_mois_hc_hp'
TemplateError('ValueError: Template error: float got invalid input 'unavailable' when rendering template '{{ (((states('sensor.energie_an_hc')|float / (states('sensor.energie_an_total')|float)))*100)|float|round (2)}}' but no default was specified') while processing template 'Template<template=({{ (((states('sensor.energie_an_hc')|float / (states('sensor.energie_an_total')|float)))*100)|float|round (2)}}) renders=15470>' for attribute '_attr_native_value' in entity 'sensor.pourcentage_an_hc_hp'
Oui il faut corriger tous les templates qui n’utilisent pas une valeur par défaut.
La valeur en question est généralement 0 (sauf dans le cas des divisions)
donc si je met ca dans "modele j’ai plus de message d’erreur
- platform: template
sensors:
energie_jour_hc:
friendly_name: Total KWh Jour HC
value_template: "{{ (states('sensor.daily_hc_bleue')|float(0) + states('sensor.daily_hc_blanche')|float(0) + states('sensor.daily_hc_rouge')|float(0))}}"
unit_of_measurement: kWh
device_class: energy
Et si divison je met ‹ 1 › ?
Par contre y a un truc que j’ai du mal comprendre du coup. Je pensais que Float definissait le nombre de chifffre après la virgule dans un calcul. Du coup je comprends plus très bien l’histoire de la valeur par default
Non… D’ailleurs quand tu met float tout seul, tu as défini combien de chiffres ?
Float, ça dit : transforme la chaine de caractères (la valeur du state) en une valeur numérique à virgule. Et la valeur par défaut, c’est justement pour traiter le cas où ta valeur state ne contient pas de chiffres (par exemple unavailable), ça assure qu’il y a un chiffre à la sortie et ça ne casse pas trop le reste du calcul
Tant qu’il rencontre un problème autant passer sur le nouveau format. Il évitera d’y revenir lorsque ce ne sera plus supporté et qu’il aura oublié ce qu’il avait fait.
Non, c’est bon. C’est pour ca que je t’es mis unique_id: energie_jour_hc qui correspond a energie_jour_hc:( ancien format).
J’ai fait de même chez moi sur une dizaine de template et aucun soucis, sa le même nom et friendly name.
Alors j’ai un fichier template.yaml qui est vide avec includen dans le configuration.yaml
J’ai un fichier sensor.yaml ou j’ai (surement par erreur) mis tous mes templates et sensors crees
Lorsque je veux transferer un par un les template après les avoir modifies et que je verifie la configuration avant redemarrage j’ai un msg d’erreur m’envoyant vers la ligne include sensor. yaml
Je ne peux pas avoir les 2? Je dois tout transferer dans template.yaml et supprimer sensor.yaml?
Ta split ta configuration, et l’ancien format des templates est bien dans sensor.yaml.
Avec le nouveau format, c’est dans le fichier template.yaml que tu doit mettre les nouveaux templates.
Tu peu pas avoir un template ancien format dans sensor.yaml et le même template au nouveau format dans template.yaml. Vu qu’il ont les même unique_id et friendly_name, ca fonctionnera pas .
Faut convertir t’es template de sensor.yaml vers template.yaml et supprimer les templates dans sensor.yaml.
Comme tu as split ta config et as un fichier template.yaml, tu doit mettre comme ca ( pas besoin du template: en début de ligne):