-
-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incapable d'ajouter les sensors Template #318
Comments
Précision: J'ai validé que je n'ai pas aucun Fix Issues sous Developer Tools > Statistics. |
@FrancoLoco corriges-moi si j'ai tord mais je crois que c'est simplement parce que ces valeurs n'ont jamais été populées dans le passé? @gravelfreeman est-ce ta première année avec Hilo? |
@ic-dev21 ah oui quand les tableaux sont vides ca faisait ca, j'avais ajusté mes templates localement pour gérer celà, mais j'avais oublié d'updater le wiki, c'est fait. @gravelfreeman tu peux prendre le nouveau code des templates que j'ai mis ca gère mieux les tableaux vides un peu partout comme ca: state_attr('sensor.defi_hilo', 'next_events') | length > 0 En bonus j'ai ajouté 2 autres petits templates que j'avais fait depuis:
... enjoy! |
Merci de m'aider! Tout est à 0 mais Hilo m'avait envoyé un courriel comme quoi il y aurait des pré-défis en Novembre pour me pratiquer mais toujours rien et on est le 21. Pas super facile de configurer ses automations sans données pour tester... Celui-ci est toujours indisponible J'ai aussi remarqué cette ligne de code dans le code, je crois qu'elle n'est pas sensé être là? Je l'ai retirée pour l'instant.
Je ne suis pas certain maintenant comment faire mes automations. J'ai vue dans le wiki la partie Pré-chauffer avant le prochain défi. qui semble plutôt simple à configurer. Cependant la partie Abaisser la consigne de chauffage après défi utilise du code json avec Node-Red. Je n'ai pas Node-Red et préfèrerais limiter l'overhead sur mon setup. Je ne suis pas certain de comprendre ce que Node-Red permet de faire de plus. J'ai lu sur le site ici que les défis sont toujours aux mêmes heures. Si c'est toujours aux mêmes heures quel est l'avantage exactement de scripter avec Node-Red? Je suis dans l'entre 2 à savoir si je me lance dans la configuration de tout ce la moi-même ou si je prend le code proposé dans le wiki. |
Quand il y a un défi c'est annoncé seulement la veille. C'est donc normal que tout soit à 0. Et tes limites maximales seront calculés seulement quelques heures avant la phase de réduction. Pour le Nb de défis complétés, ca deviendra dispo dès que tu auras complété au moins un défi, ca ne saurait tarder comme tu dis d'ici fin novembre.. Moi perso je n'utilise pas node red, je trouve aussi plus simple et moins d'overhead d'utiliser les automatisations natives HA, je me et je me suis fait mes propres automatisations selon mes besoins. |
Perso je n’irais pas inutilement avec Node-Red, les automatisations natives sont correcte pour les besoin. En arrivant chez moi je vais te donner quelques exemples de ce que je fais chez moi qui convient à mes besoins. Ça peut t’inspirer! |
Super merci, je ne les ai pas trouvées dans le github, mais je prendrais bien les tiennes :) |
Il y a un défi justement et je me suis rendu compte d’une petite faute dans le sensor de nb de défis je l’ai ajusté |
Merci pour la correction, je viens de voir le défi aussi, ça serait nice si j'ai les automations tantôt @ic-dev21 ma essayer ça! :) |
Bon, prépares-toi, ça va être un pan de mur de texte ;) Au début je voulais te mettre des screnshots mais je vais y aller en YAML commenté ça va être moins lourd. Donc:
Avec ça en tête, je fais quelques trucs. Défis AM, comme demain:
Pourquoi 1h05? Parce que la phase d'appréciation est 3h avant la préchauffe, qui elle est à 4h du matin. Pourquoi 1h05 et non 1h? Parce que des fois le sensor update pas exactement à l'heure pile.
Le reste tombe dans son horaire normal sans intervention de ma part. Pour les défis PM, c'est sensiblement pareille, sauf que j'agis différemment s'il y a quelqu'un dans la maison ou pas. S'il y a quelqu'un:
Même chose, mais s'il y a personne:
Réduction en PM, là c'est pas mal certain qu'il y a quelqu'un:
Et on remonte la pièce principale quand c'est fini
|
Merci énormément @ic-dev21 d'avoir prit le temps de me partager ton code, j'ai sauvé énormément de temps. Pour le PM j'ai réussi à sauver une automation en utilisant un if/then/else pour savoir si je suis là ou non. Cela set la température de mon bureau en conséquence vue que je travail de la maison. Super bonne idée d'utiliser du geofencing, merci! Sinon je partage 2 remarques. La première étant que si vous utilisez
La seconde étant que la période
On va peut-être y arriver à gang haha! |
Oui et non, si tes automatisations utilisent le sensor défi comme condition, tu peux te mettre un "NOT" devant pour pas que ça roule, je le fais à quelques endroits. Je ne t'ai pas tout donné comme ce n'est pas tout qui s'applique partout haha. |
Je comprend t'inquiète, j'apprécie déjà énormément toute l'aide que tu m'as donné ainsi que le temps que tu as prit pour partager tes automations! La seule chose que j'aimerais savoir c'est si tu as réussi à faire un template pour que lorsque |
Le calcul est toujours disponible aux même heures:
Pas besoin de surveiller quand ça devient disponible.. si tu veux ralentir un peu ton chauffage tu peux toujours le faire à ces heures là. |
Depuis le défi Hilo de hier j'ai enfin pu utiliser les sensors template. J'ai ces 3 erreurs dans mes logs: 2023-12-08 17:36:04.351 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({{state_attr('sensor.recompenses_hilo', 'history')[0]['events'] | length}}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 569, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2243, in _render_with_context
return template.render(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.11/site-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/local/lib/python3.11/site-packages/jinja2/sandbox.py", line 303, in getitem
return obj[argument]
~~~^^^^^^^^^^
jinja2.exceptions.UndefinedError: list object has no element 0
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 695, in async_render_to_info
render_info._result = self.async_render(
^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 571, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: UndefinedError: list object has no element 0 2023-12-08 17:36:04.359 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('UndefinedError: list object has no element 0') while processing template 'Template<template=({{state_attr('sensor.recompenses_hilo', 'history')[0]['events'] | length}}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.defi_hilo_nb_defi_completes' EDIT: correction des erreurs, les autres enlevés c'était ma faute |
Si tu essayes ton jinja dans dev tools il marche? |
Peut-on closer? |
Il y a toujours les 3 erreurs tel qu'indiqué dans mon post du 8 décembre. Veux-tu que je fasse un autre issue? |
Nonon j’avais juste perdu le fil haha. As-tu essayé de les faire dans le GUI tes templates? Ils peuvent être ajoutés dans les helpers dans 2024.X.X et +, peut-être que ça marcherait par là? |
@gravelfreeman j’ai pu reproduire mais je pense que c’est un bug HA. Tu dois avoir ça juste au reboot? HA scan tes templates avant que l’info se load via le websocket. Ça doit venir de là. |
Bon j'ai enfin eu le temps de retourner à HA et je suis sur toute les dernières MAJ incluant la latest stable de Hilo. J'ai donc procédé à la recréation de tout mes sensors Hilo templates dans Helpers et j'ai de nouvelles erreurs cette fois ci. Je crois que cette erreur provient du sensor 2024-02-07 20:14:39.962 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({{state_attr('sensor.recompenses_hilo', 'history')[0]['events'] | length}}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 572, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2332, in _render_with_context
return template.render(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/local/lib/python3.12/site-packages/jinja2/sandbox.py", line 303, in getitem
return obj[argument]
~~~^^^^^^^^^^
jinja2.exceptions.UndefinedError: list object has no element 0
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 698, in async_render_to_info
render_info._result = self.async_render(
^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 574, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: UndefinedError: list object has no element 0 Ensuite celle-ci pour 2024-02-07 20:14:39.969 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('UndefinedError: list object has no element 0') while processing template 'Template<template=({{state_attr('sensor.recompenses_hilo', 'history')[0]['events'] | length}}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.defi_hilo_nb_defi_completes' Celui-ci je ne sais pas trop c'est quel sensor exactement 2024-02-07 20:14:39.970 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({{ "%.2f"|format(1.15*(float(states.sensor.hilo_energy_total_low.state, 0) * float(states.sensor.hilo_rate_low.state, 0) + float(states.sensor.hilo_energy_total_medium.state, 0) * float(states.sensor.hilo_rate_medium.state, 0) + 0.435)) | round(2)}}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 572, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2332, in _render_with_context
return template.render(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/local/lib/python3.12/site-packages/jinja2/sandbox.py", line 393, in call
return __context.call(__obj, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1996, in forgiving_float
return float(value)
^^^^^^^^^^^^
jinja2.exceptions.UndefinedError: 'None' has no attribute 'state'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 698, in async_render_to_info
render_info._result = self.async_render(
^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 574, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: UndefinedError: 'None' has no attribute 'state' Celui-ci concerne 2024-02-07 20:14:39.973 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('UndefinedError: 'None' has no attribute 'state'') while processing template 'Template<template=({{ "%.2f"|format(1.15*(float(states.sensor.hilo_energy_total_low.state, 0) * float(states.sensor.hilo_rate_low.state, 0) + float(states.sensor.hilo_energy_total_medium.state, 0) * float(states.sensor.hilo_rate_medium.state, 0) + 0.435)) | round(2)}}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.electricity_cost_today' Voici un autre que je ne suis pas certain c'est quel sensor 2024-02-07 20:14:39.974 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template<template=({{ float(states.sensor.hilo_energy_total_low.state, 0) + float(states.sensor.hilo_energy_total_medium.state, 0) }}) renders=2>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 572, in async_render
render_result = _render_with_context(self.template, compiled, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2332, in _render_with_context
return template.render(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "<template>", line 1, in top-level template code
File "/usr/local/lib/python3.12/site-packages/jinja2/sandbox.py", line 393, in call
return __context.call(__obj, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1996, in forgiving_float
return float(value)
^^^^^^^^^^^^
jinja2.exceptions.UndefinedError: 'None' has no attribute 'state'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 698, in async_render_to_info
render_info._result = self.async_render(
^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 574, in async_render
raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: UndefinedError: 'None' has no attribute 'state' Un autre que je crois que je dois mettre un attribut de state? 2024-02-07 20:14:39.977 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('UndefinedError: 'None' has no attribute 'state'') while processing template 'Template<template=({{ float(states.sensor.hilo_energy_total_low.state, 0) + float(states.sensor.hilo_energy_total_medium.state, 0) }}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.electricity_kwh_today_consomme' Merci de m'aider et en espérant que les sensors fonctionnent sans erreurs désormais dans Helpers. |
c'est effectivement bizarre Tu pourrais peut-etre essayer de flusher complètement les sensors de ta config, rebooter, et ensuite les recréer |
C'est exactement ce que j'ai fait en supprimant les sensors de mon dossier /sensors/hilo.yaml et en rebootant. Enuite je les ai recréés dans Helpers directement. Je viens tout juste de faire cela. |
Faire un bête copier-coller dans configuration.yaml directement ne fonctionnerait pas? |
Bin dans configuration.yaml je déclare le dossier /sensors/* donc c'est comme ça avant que j'avais mes problèmes avec les templates. Donc de les remettres dans configuration.yaml c'est complètement inutile. J'ai suivi ton conseil de les supprimer et de les ajouter en tant que sensor template dans les Helpers. C'est fait maintenant et j'ai de nouvelles erreurs, soit les dernières que j'ai posté. |
J'ai réactivé chaque sensor un par un pour enfin identifier quel sensor donne quelle erreur et par la même occasion j'ai pu trouver une erreur dans un template jinja qui ajoutait pas mal de cochonerie dans les logs. Name: {{ "%.2f"|format(1.15*(float(states.sensor.hilo_energy_total_low.state, 0) * float(states.sensor.hilo_rate_low.state, 0) + float(states.sensor.hilo_energy_total_medium.state, 0) * float(states.sensor.hilo_rate_medium.state, 0) + 0.435)) | round(2)}} Erreur: 2024-03-04 18:35:56.465 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('UndefinedError: 'None' has no attribute 'state'') while processing template 'Template<template=({{ "%.2f"|format(1.15*(float(states.sensor.hilo_energy_total_low.state, 0) * float(states.sensor.hilo_rate_low.state, 0) + float(states.sensor.hilo_energy_total_medium.state, 0) * float(states.sensor.hilo_rate_medium.state, 0) + 0.435)) | round(2)}}) renders=4>' for attribute '_attr_native_value' in entity 'None' Name: {{ float(states.sensor.hilo_energy_total_low.state, 0) + float(states.sensor.hilo_energy_total_medium.state, 0) }} Erreur: 2024-03-04 18:58:01.049 ERROR (MainThread) [homeassistant.components.template.template_entity] TemplateError('UndefinedError: 'None' has no attribute 'state'') while processing template 'Template<template=({{ float(states.sensor.hilo_energy_total_low.state, 0) + float(states.sensor.hilo_energy_total_medium.state, 0) }}) renders=4>' for attribute '_attr_native_value' in entity 'None' Pour résumer ce sont ces 2 sensors Je les ai supprimés en attendant un fix. Plus d'erreurs dans les logs. Enfin! |
Version of the custom_component
J'utilise la dernière version de Hilo à partir de HACS.
Configuration
Rien n'affiche dans les logs par rapport à ce problème.
J'ai copié le code dans un fichier
defi_hilo.yaml
dans mon dossiersensors
qui est référencé dans mon fichierconfiguration.yaml
.Les sensors apparaissent mais j'ai l'impression qu'ils ne sont pas connectés à rien.
Describe the bug
J'ai ajouté les sensors comme indiqué à ce URL (Template).
Malheureusement tous les sensors disent être hors ligne.
Debug log
Erreur si je clique sur un sensor:
À l'aide les défis s'en viennent haha!
The text was updated successfully, but these errors were encountered: