dvd-dev / hilo

Home Assistant Hilo Integration via HACS
MIT License
132 stars 27 forks source link

Error sensor energy_total_low #281

Closed samuel9554 closed 11 months ago

samuel9554 commented 1 year ago

Bonjour, Merci à tout le monde pour leur integration Hilo!!!

J'ai cette erreur qui persiste dans mes logs. Est-ce qu'il y a une raison? Comment régler le problème?

This error originated from a custom integration.

Logger: custom_components.hilo
Source: custom_components/hilo/__init__.py:443
Integration: Hilo (documentation, issues)
First occurred: 3:41:03 PM (229 occurrences)
Last logged: 5:06:58 PM

check_tarif: Unable to find state for sensor.hilo_energy_total_low
ic-dev21 commented 1 year ago

Il semble y avoir un bug chez Hilo actuellement selon les groupes Facebook. C’est possiblement de leur côté le problème

ic-dev21 commented 1 year ago

Bonjour, Merci à tout le monde pour leur integration Hilo!!!

J'ai cette erreur qui persiste dans mes logs. Est-ce qu'il y a une raison? Comment régler le problème?

This error originated from a custom integration.

Logger: custom_components.hilo
Source: custom_components/hilo/__init__.py:443
Integration: Hilo (documentation, issues)
First occurred: 3:41:03 PM (229 occurrences)
Last logged: 5:06:58 PM

check_tarif: Unable to find state for sensor.hilo_energy_total_low

Devrait être de retour, peux-tu confirmer?

samuel9554 commented 1 year ago

@ic-dev21 Même problème aujourd'hui. En fait depuis que j'ai installé Hilo dans le HASC que j'ai ce log d'erreur. Je m'en suis jamais soucier. Hier mes switch Jasco ne fonctionnait plus et j'ai vu ce message d'erreur.

This error originated from a custom integration.

Logger: custom_components.hilo
Source: custom_components/hilo/__init__.py:443
Integration: Hilo (documentation, issues)
First occurred: 8:30:00 AM (321 occurrences)
Last logged: 11:02:44 AM

check_tarif: Unable to find state for sensor.hilo_energy_total_low
ic-dev21 commented 1 year ago

@ic-dev21 Même problème aujourd'hui. En fait depuis que j'ai installé Hilo dans le HASC que j'ai ce log d'erreur. Je m'en suis jamais soucier. Hier mes switch Jasco ne fonctionnait plus et j'ai vu ce message d'erreur.

This error originated from a custom integration.

Logger: custom_components.hilo
Source: custom_components/hilo/__init__.py:443
Integration: Hilo (documentation, issues)
First occurred: 8:30:00 AM (321 occurrences)
Last logged: 11:02:44 AM

check_tarif: Unable to find state for sensor.hilo_energy_total_low

As-tu redémarré HA depuis ce matin? Hilo était planté de leur bord depuis hier ça a été arrangé ce midi.

Il y a aussi eu des changements dans les message fournis par Hilo récemment qui créent certains problèmes. J’ai actuellement ouvert un pull request dans python-hilo pour ce cas particulier là qui peut te causer du trouble.

Si tu es à l’aise dans le CLI je peux te donner la commande suivante pour que tu puisses installer mon fork:

pip install -e git+https://github.com/ic-dev21/python-hilo.git#egg=python-hilo

Ensuite tu redémarres HA.

ic-dev21 commented 1 year ago

@samuel9554 peux-tu mettre le custom_component à jour de ton côté et nous donner des nouvelles please?

samuel9554 commented 1 year ago

@samuel9554 peux-tu mettre le custom_component à jour de ton côté et nous donner des nouvelles please?

Désolé mais je ne suis pas sur de comprendre. J'ai installé avec HASC. Je roule HA sur un docker. J'ai access au docker en SSH. Tu veux que j'essai d'installer ton fork? Je ne suis pas sur de savoir comment faire dans HA.

ic-dev21 commented 1 year ago

@samuel9554 peux-tu mettre le custom_component à jour de ton côté et nous donner des nouvelles please?

Désolé mais je ne suis pas sur de comprendre. J'ai installé avec HASC. Je roule HA sur un docker. J'ai access au docker en SSH. Tu veux que j'essai d'installer ton fork? Je ne suis pas sur de savoir comment faire dans HA.

David vient de pousser un nouveau release, redownload via HACS et reboot et l’affaire devrait être ketchup.

samuel9554 commented 1 year ago

@samuel9554 peux-tu mettre le custom_component à jour de ton côté et nous donner des nouvelles please?

Désolé mais je ne suis pas sur de comprendre. J'ai installé avec HASC. Je roule HA sur un docker. J'ai access au docker en SSH. Tu veux que j'essai d'installer ton fork? Je ne suis pas sur de savoir comment faire dans HA.

David vient de pousser un nouveau release, redownload via HACS et reboot et l’affaire devrait être ketchup.

Merci pour le update. Malheureusement le warning est toujours présent pour moi. Mais honnetement ça me cause pas de problème. On peut prendre pour acquis que c'est un cas isolé pour ma configuration je pense.

This error originated from a custom integration.

Logger: custom_components.hilo
Source: custom_components/hilo/__init__.py:443
Integration: Hilo (documentation, issues)
First occurred: September 13, 2023 at 9:16:48 PM (1629 occurrences)
Last logged: 8:39:23 AM

check_tarif: Unable to find state for sensor.hilo_energy_total_low
ic-dev21 commented 1 year ago

@samuel9554 possiblement! Tu es configuré comment? Quelles options dans le config flow? Est-ce que ton energy dashboard est configuré comme #160?

Si jamais j'ai un peu de temps je peux essayer de reproduire de mon côté.

samuel9554 commented 1 year ago

Je suis configuré comme ceci. image image image

As-tu de besoin de plus d'information?

samuel9554 commented 1 year ago

Je pense avoir trouvé le bug. Dans mon cas les sensor.hilo_energy_total_low et sensor.hilo_energy_total_medium n'existe pas du tout. image

ic-dev21 commented 1 year ago

Je crois que ça serait normal comme tu n'as qu'un seul tarif (current). C'est donc normal que energy_total_low ne se popule pas.

Peux-tu essayer ceci? Les deux tarifs ont rapport avec la manière que HQ facture, les 40 premiers kWh ne sont pas aux même prix que les suivants.

Comme tu n'as pas les deux tarifs le calcul ne peut pas se faire. Possiblement à cause de la deuxième option que tu as cochée? @valleedelisle serait possiblement en mesure de préciser. image

image

image

ic-dev21 commented 1 year ago

@samuel9554 cibole je viens de catcher. Les sensors avec le graphique genre histogramme comme tu as de sélectionné ne fonctionneront pas car c'est un riemann sum (si je me souviens bien), recherche ceux qui ont un look compteur comme sur les images que je viens de poster.

image

samuel9554 commented 1 year ago

Moi ca ressemble à ceci. Dans ton commentaire précédent tu ma demandé d'essayer. Mais dans mon cas je n'ai même pas les Hilo_energy medium et low. Seulement le total.

image image

ic-dev21 commented 1 year ago

Ça va avec l'option que tu as cochée "generate only total meters for each devices"

De mon côté c'est décoché, je crois que la différence vient de là. La fonctionnalité est possiblement brisée depuis un moment? Je ne suis qu'un humble participant je ne connais pas le code par coeur mais ça aurait du sens.

w1zz4 commented 1 year ago

J’ai le même soucis ici, les compteurs daily_low et daily_medium sont MIA. La case de générer seulement les compteur tota n’est pas cochée.

IMG_5288

ça fait un bout c’est comme ça de mon côté et j’ai jamais pris le temps de fouiller plus que tenter de régénérer les compteurs, sans succès.

skimaniac commented 1 year ago

C'est pas plus?

sensor.hilo_energy_total_low_cost

w1zz4 commented 1 year ago

Peut importe leur nom ils sont pas là…

IMG_5289

ce sont les 2 seuls sauf ceux des devices

ic-dev21 commented 1 year ago

Peut importe leur nom ils sont pas là…

IMG_5289

ce sont les 2 seuls sauf ceux des devices

Pas d’erreur dans le log qui indiquerait pourquoi ils sont MIA? J’ai un vague souvenir d’avoir eu à redémarrer suivant le cochage de la case pour qu’ils se génèrent dans le temps. Est-ce que ça a été fait?

w1zz4 commented 1 year ago

J’ai décoché, redémarré, recoché, redémarré sans succès… comme je disais plus haut, par manque de temps j’ai pas vraiment fouillé plus et j’utilise le hydroqc pour avoir le coût…

w1zz4 commented 1 year ago

J'ai regardé les logs vite vite ce matin :

`Logger: homeassistant.components.sensor Source: components/utility_meter/init.py:141 Integration: Sensor (documentation, issues) First occurred: 8:59:49 AM (1 occurrences) Last logged: 8:59:49 AM

Error while setting up hilo platform for sensor Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 359, in _async_setup_platform await asyncio.shield(task) File "/config/custom_components/hilo/sensor.py", line 178, in async_setup_entry await utility_manager.update(async_add_entities) File "/config/custom_components/hilo/managers.py", line 71, in update await utility_setup(self.hass, config) File "/usr/src/homeassistant/homeassistant/components/utility_meter/init.py", line 141, in async_setup if not conf[CONF_TARIFFS]:


KeyError: 'tariffs'`

D'après moi ça explique le soucis... pouratnt je semble bien configuré : 
![image](https://github.com/dvd-dev/hilo/assets/3812081/c616b073-1624-489d-bfa1-df790f483269)
ic-dev21 commented 1 year ago

Okay, je lance ça de même, mais ton erreur cherche un CONF_TARIFFS

Ici, on a CONF_TARIFF (sans S): https://github.com/dvd-dev/hilo/blob/6f5f8e663a9e9fb71c1fa3d49295d57e325d8b3f/custom_components/hilo/const.py#L40-L58

Peux-tu faire un test de mettre un S dans ton fichier const.py, sauvergarder ça et faire une installation à neuf, pour rire?

w1zz4 commented 1 year ago

`Logger: homeassistant.setup Source: custom_components/hilo/init.py:47 Integration: hilo (documentation, issues) First occurred: 11:57:34 AM (1 occurrences) Last logged: 11:57:34 AM

Setup failed for custom integration hilo: Unable to import component: cannot import name 'CONF_TARIFF' from 'custom_components.hilo.const' (/config/custom_components/hilo/const.py) Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/setup.py", line 215, in _async_setup_component component = integration.get_component() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/loader.py", line 818, in get_component ComponentProtocol, importlib.import_module(self.pkg_path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1204, in _gcd_import File "", line 1176, in _find_and_load File "", line 1147, in _find_and_load_unlocked File "", line 690, in _load_unlocked File "", line 940, in exec_module File "", line 241, in _call_with_frames_removed File "/config/custom_components/hilo/init.py", line 47, in from .const import ( ImportError: cannot import name 'CONF_TARIFF' from 'custom_components.hilo.const' (/config/custom_components/hilo/const.py)`

w1zz4 commented 1 year ago

je comprend je devrais aussi modifier /usr/local/lib/python3.11/importlib/init.py mais c'est weird non que ça fonctionne pour vous et pas pour moi? J'ai la latest de Home Assistant (l'appliance KVM)

ic-dev21 commented 1 year ago

Ça valait la peine d'essayer. J'avoue ne pas comprendre non plus.

ic-dev21 commented 1 year ago

Je suis de retour chez nous alors j'ai un peu plus de flexibilité côté temps.

CONF_TARIFF est à quelques endroits dans le code.

const.py ligne 40 sensor.py lignes 39 et 131 init.py lignes 54 et 479

J'ai vérifié dans la librairie websocket (python-hilo) au cas où et ça n'y est pas.

Je serais curieux de voir l'effet de faire les 5 copies pour CONF_TARRIFS...

En même temps j'ai pas envie de briser mon installation qui vire tempête haha

ic-dev21 commented 1 year ago

@w1zz4

J'ai un NAS à la maison alors j'ai parti un autre HA en docker. Setupé Hilo dessus avec des modifs aux 3 fichiers mentionnés ci-haut.

Comme toi je n'avais pas de energy_total_low.

Je me suis gratté la tête 2 secondes et j'ai allumé.

J'ai fait ça ici:

https://github.com/dvd-dev/hilo#procédure

Première étape est de rajouter utility_meter: dans ton configuration.yaml

Un reboot de HA plus tard et: image image

w1zz4 commented 1 year ago

Le utility_meter est bien présent dans mon configuration.yaml...

image

ic-dev21 commented 1 year ago

Le utility_meter est bien présent dans mon configuration.yaml...

image

Bon. Shit. Moi qui pensais avoir eu un moment euréka haha. Je le ressaye sans le CONF_TARIFFS

ic-dev21 commented 1 year ago

Ça marche encore...

fabiendupas commented 1 year ago

J'ai eu le souci sur mon ancienne installation (Hyper-V) : #198 J'avais laissé tomber l'affaire jusqu'a aujourdhui. Nouvelle installation HAOS sur proxmox avec toutes les dernières versions. Le energy_total_low a bien été créé avec ajout du "utility_meter:" + cochage de la 1ere case.

J'ai tenté ensuite de cocher la deuxieme case, et là le probleme est de retour !! Peu importe que je recoche seulement la 1er case, reboot, supprime l'integration hilo / resinstall Hilo.... je reste avec le message d'erreur CONF_TARIFFS.

Je vais continuer de fouiller...

fabiendupas commented 1 year ago

Bon c'est de nouveau fonctionnel de mon bord. Je pense qu'il y a un souci avec la creation/update des utility_meter HILO si tous les utility_meter n'ont pas été clean de la configuration.

Voici les étapes que j'ai dû effectuer: 1 - Supprimer l'integration HILO 2 - Supprimer HILO dans HACS 3 - Supprimer le fichier hilo_state.yaml (\rm -rf config/hilo_state.yaml) 4 - Supprimer la ligne utility_meter dans le fichier de configuration.xml 5 - IMPORTANT : Supprimer tous les utility_meter deja défini dans les helpers (même ceux qui n'ont rien avoir avec HILO... c'est cette étape qui bloquait la regeneration des utility_meter) 6 - Restart le systeme 7 - Refaire la configuration HILO comme indiqué sur la page principale

Probleme contourné ;)

w1zz4 commented 1 year ago

Ouais... je vais perdre mon historique?? tser en ce moment ça fonctionne quand même bien avec le hydroqc :) Le seul problème est que le $$ sont une journée en retard avec cet intégration

ic-dev21 commented 1 year ago

@w1zz4 pas supposé, l'historique est gardé dans la database de HA que je sache.

ic-dev21 commented 1 year ago

J'ai eu le souci sur mon ancienne installation (Hyper-V) : #198 J'avais laissé tomber l'affaire jusqu'a aujourdhui. Nouvelle installation HAOS sur proxmox avec toutes les dernières versions. Le energy_total_low a bien été créé avec ajout du "utility_meter:" + cochage de la 1ere case.

J'ai tenté ensuite de cocher la deuxieme case, et là le probleme est de retour !! Peu importe que je recoche seulement la 1er case, reboot, supprime l'integration hilo / resinstall Hilo.... je reste avec le message d'erreur CONF_TARIFFS.

Je vais continuer de fouiller...

Si tu as le temps de refaire le test avec CONF_TARIFFS (avec S) dans les 3 fichiers mentionnés plus haut ça serait super gentil, c'est peut-être un petit détail qui fait roter le reste.

w1zz4 commented 1 year ago

Bon j'ai décoché "Generate Utility Meter", restart HA, modifié CONF_TARRIFS dans les 3 fichiers, restart HA, coché "Generate Utility Meter", restart HA. Pas de nouveau compteur, erreur toujjours présente dans les logs

`Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 359, in _async_setup_platform await asyncio.shield(task) File "/config/custom_components/hilo/sensor.py", line 178, in async_setup_entry await utility_manager.update(async_add_entities) File "/config/custom_components/hilo/managers.py", line 71, in update await utility_setup(self.hass, config) File "/usr/src/homeassistant/homeassistant/components/utility_meter/init.py", line 141, in async_setup if not conf[CONF_TARIFFS]:


KeyError: 'tariffs'`
fabiendupas commented 1 year ago

@ic-dev21 Effectivement j'ai renommé CONF_TARIFF en CONF_TARIFFS et ca ne change strictement rien. J'obtiens le meme message que @w1zz4 image

@w1zz4 Par contre, j'ai réussi à isoler le problème. Il suffit de créer un "helper" de type "utility_meter" qui écoute le sensor "sensor.hilo_energy_total_low" pour reproduire le problème. Aussitot que je supprime ce genre d'utility_meter, il suffit de redémarrer home_assistant pour que la creation des sensor fonctionne (en ayant cocher la case "Generate energy meters")

valleedelisle commented 1 year ago

Quand j'ai codé ça, jadis, y'avait pas vraiment d'intégration qui générait et maintenait des energy meters, c'était donc un gros rabbit hole dans lequel j'ai dû deepdive intensément. J'ai remarqué au fil du temps que les core-devs des HA ont passé beaucoup de temps et de code dans cette partie là et c'est fort possible qui aille plusieurs trucs à changer ou optimiser. Malheureusement, j'ai pas le temps ces temps-ci de deepdive, mais idéalement, il faudrait probablement refaire ça à neuf.

ic-dev21 commented 1 year ago

@ic-dev21 Effectivement j'ai renommé CONF_TARIFF en CONF_TARIFFS et ca ne change strictement rien. J'obtiens le meme message que @w1zz4 image

@w1zz4 Par contre, j'ai réussi à isoler le problème. Il suffit de créer un "helper" de type "utility_meter" qui écoute le sensor "sensor.hilo_energy_total_low" pour reproduire le problème. Aussitot que je supprime ce genre d'utility_meter, il suffit de redémarrer home_assistant pour que la creation des sensor fonctionne (en ayant cocher la case "Generate energy meters")

Merci de donner un coup de main comme ça c’est vraiment apprécié. J’ai toujours pas réussi à reproduire le bug chez moi étrangement…

fabiendupas commented 1 year ago

@ic-dev21 Effectivement j'ai renommé CONF_TARIFF en CONF_TARIFFS et ca ne change strictement rien. J'obtiens le meme message que @w1zz4 image @w1zz4 Par contre, j'ai réussi à isoler le problème. Il suffit de créer un "helper" de type "utility_meter" qui écoute le sensor "sensor.hilo_energy_total_low" pour reproduire le problème. Aussitot que je supprime ce genre d'utility_meter, il suffit de redémarrer home_assistant pour que la creation des sensor fonctionne (en ayant cocher la case "Generate energy meters")

Merci de donner un coup de main comme ça c’est vraiment apprécié. J’ai toujours pas réussi à reproduire le bug chez moi étrangement…

Pas mal sûr que ces étapes devraient reproduire le probleme : Prerequis : tu as bien que "Generate energy meters" de cocher, et tout est beau dans les logs Step 1 : Tu configure Hilo en cochant la deuxieme case "Generate only total meters for each devices" + reboot HA et/ou systeme Step 2 : Tu configures via le GUI un utility_meter qui utilise le sensor sensor.daily_energy_total + décocher la 2em case + reboot HA et/ou systeme

C'est ce que j'ai fait ce matin et ca reproduit le probleme...

image

ic-dev21 commented 1 year ago

@ic-dev21 Effectivement j'ai renommé CONF_TARIFF en CONF_TARIFFS et ca ne change strictement rien. J'obtiens le meme message que @w1zz4 image @w1zz4 Par contre, j'ai réussi à isoler le problème. Il suffit de créer un "helper" de type "utility_meter" qui écoute le sensor "sensor.hilo_energy_total_low" pour reproduire le problème. Aussitot que je supprime ce genre d'utility_meter, il suffit de redémarrer home_assistant pour que la creation des sensor fonctionne (en ayant cocher la case "Generate energy meters")

Merci de donner un coup de main comme ça c’est vraiment apprécié. J’ai toujours pas réussi à reproduire le bug chez moi étrangement…

Pas mal sûr que ces étapes devraient reproduire le probleme : Prerequis : tu as bien que "Generate energy meters" de cocher, et tout est beau dans les logs Step 1 : Tu configure Hilo en cochant la deuxieme case "Generate only total meters for each devices" + reboot HA et/ou systeme Step 2 : Tu configures via le GUI un utility_meter qui utilise le sensor sensor.daily_energy_total + décocher la 2em case + reboot HA et/ou systeme

C'est ce que j'ai fait ce matin et ca reproduit le probleme...

image

Super intéressant! Je vais essayer de fouiner dans le code de HA Core aussi voir comment ils marchent de leur côté.

w1zz4 commented 1 year ago

Bon c'est de nouveau fonctionnel de mon bord. Je pense qu'il y a un souci avec la creation/update des utility_meter HILO si tous les utility_meter n'ont pas été clean de la configuration.

Voici les étapes que j'ai dû effectuer: 1 - Supprimer l'integration HILO 2 - Supprimer HILO dans HACS 3 - Supprimer le fichier hilo_state.yaml (\rm -rf config/hilo_state.yaml) 4 - Supprimer la ligne utility_meter dans le fichier de configuration.xml 5 - IMPORTANT : Supprimer tous les utility_meter deja défini dans les helpers (même ceux qui n'ont rien avoir avec HILO... c'est cette étape qui bloquait la regeneration des utility_meter) 6 - Restart le systeme 7 - Refaire la configuration HILO comme indiqué sur la page principale

Probleme contourné ;)

Bon je me suis botté les fesses et je l'ai fait. Ça fait environ 30 minutes que c'est redémarré, les sensors ont été générés correctement mais toujours pas de data : image

Le meter fonctionne de son coté : image

Je vais laisser le tout aller jusqu'à demian voir.

ic-dev21 commented 1 year ago

@w1zz4 La consommation Hilo est plantée depuis 9h30 ce matin, confirmé par Hilo, je sais pas si ça peut avoir un liens?

w1zz4 commented 1 year ago

Toujours pas de data ce matin

image

Le utility_meter (Meter00) semble pas recevoir de data en live. ET je regarde mon app et ça semble brisé aussi. Je vais metre ça sur le dos de troubles chez Hilo pour le moment

ic-dev21 commented 1 year ago

@w1zz4 quand le power meter marche pas c’est normal. Toujours en travail chez Hilo aux dernières nouvelles que j’ai eues.

w1zz4 commented 1 year ago

Bon la consommation Hilo semble revenue. J'avais toujours de données dans total_low et medium. J'ai refait la désinstallation et ré installation voir, encore... demain on verra

w1zz4 commented 1 year ago

Encore kaput ce matin...

ic-dev21 commented 1 year ago

Encore kaput ce matin...

J'ai eu un autre rot hilo hier je crois. Est-ce revenu?

w1zz4 commented 1 year ago

En fait ça jamais fonctionné depuis que je tente point barre... j'ai comme perdu un peu le foi de régler le problème, la flemme comme on dit ah ah

ic-dev21 commented 1 year ago

On vient de recommencer à chauffer donc je viens de recommencer à regarder un peu la consommation.

De mon côté la consommation totale de la maison, c'est-à-dire la lecture du meter direction fonctionne avec les 2 tarifs sans problème.

Je remarque par contre que les device individuels ne populent rien. J'ai créer un sensor riemann sum à bras dans le GUI et ça fonctionne à merveille.

J'pas un king, mais il y a quelque chose de différent entre le sensor fait à la main et celui fait ici: https://github.com/dvd-dev/hilo/blob/33d42d08e5488db5cfdf8def4058cb550e817ae9/custom_components/hilo/sensor.py#L256-L267

Quelqu'un feel pour s'éssayer?