Skip to content
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

Erreur pour Energy sensors: Entity id already exists #204

Open
nickctn opened this issue Jan 31, 2023 · 10 comments
Open

Erreur pour Energy sensors: Entity id already exists #204

nickctn opened this issue Jan 31, 2023 · 10 comments
Labels
energy_meter Probleme d'energy meters

Comments

@nickctn
Copy link

nickctn commented Jan 31, 2023

Version of the custom_component

v2023.1.1

Describe the bug

Ça fait 2 mois au moins que je n'arrive plus à faire fonctionner mon energy dashboard avec les données de Hilo. J'ai essayé de reinstaller l'intégration plusieurs fois mais rien ne fonctionne.

J'arrive à rajouter tous les sensors "hilo_energy_XXXX_daily total" dans mon energy dashboard mais les données n'arrivent jamais.

Aussi est-ce que c'est normal que mon PowerSensor entity soit nommé "Meter01 Power"? Je vois plus souvent mention de "Meter00 Power" ici.

En regardant mes log je vois les erreurs suivantes.

Debug log


2023-01-31 17:12:05.110 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_total_medium
2023-01-31 17:12:05.113 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_total_low
2023-01-31 17:12:05.114 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_sous_sol_jaune_total
2023-01-31 17:12:05.115 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_sous_sol_sal_de_bain_total
2023-01-31 17:12:05.116 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_salle_familiale_total
2023-01-31 17:12:05.116 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_entree_total
2023-01-31 17:12:05.117 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_salon_total
2023-01-31 17:12:05.118 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_cuisine_total
2023-01-31 17:12:05.119 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_salle_de_lavage_total
2023-01-31 17:12:05.119 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_bureau_total
2023-01-31 17:12:05.119 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_salle_de_bain_total
2023-01-31 17:12:05.120 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_chambre_des_maitres_total
2023-01-31 17:12:05.121 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_chambre_jonathan_total
2023-01-31 17:12:05.121 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_chambre_alicia_total
2023-01-31 17:12:05.122 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_sous_sol_mauve_total
2023-01-31 17:12:05.123 ERROR (MainThread) [homeassistant.components.sensor] Entity id already exists - ignoring: sensor.hilo_energy_sous_sol_orange_total

home-assistant_2023-01-31T22-15-48.057Z.log

@valleedelisle valleedelisle added the energy_meter Probleme d'energy meters label Feb 13, 2023
@ic-dev21
Copy link
Collaborator

Je te suggère de repartir de 0 en prenant soins de faire un restart de HA après avoir désinstallé Hilo.

Fais le ménage dans tes entités être sûr qu’il n’y a pas d’orphelins Hilo.

Réinstalle après.

J’ai le même message d’erreur lors que je fais des tests de mon bord avec un simple delete de l’intégration et une réinstallation. L’erreur en soit ne me cause par contre pas problème.

@nickctn
Copy link
Author

nickctn commented Feb 23, 2023

J'avais déjà tout désinstaller à plusieurs reprises mais le probème revient toujours. Je vais réessayer une autre fois pour voir ce que ça donne après le dernier update.

@ic-dev21
Copy link
Collaborator

J'avais déjà tout désinstaller à plusieurs reprises mais le probème revient toujours. Je vais réessayer une autre fois pour voir ce que ça donne après le dernier update.

Es-tu setupé comme ça? #160

@nickctn
Copy link
Author

nickctn commented Feb 27, 2023

Es-tu setupé comme ça? #160

Ouais c'est comme ça mon setup. Avec la plus récente version j'ai toujours l'erreur du "Entity id already exists" par contre il semble que mon energy dashboard fonctionne proprement maintenant. J'ai encore les sensors non-valide qui s'y rajoute par contre...

J'ai dû aussi arrêter mon automatisation qui faisait un relaod de l'intégration quand le Meter01 devenait unavailable. Je voyais que les données rentrent, mais une fois que l'automatisation avait été actionnée, le dashboard arrêtait de se mettre à jour. Depuis que je l'ai arrêté, ça fait 72h de données qui sont populés dans mon dashboard sans problème. Ça fait longtemps que je n'ai pas vu ça.

@ic-dev21
Copy link
Collaborator

ic-dev21 commented Feb 27, 2023

J'ai fait un pull request à David pour les sensors qui se rajoutent, trouvé une solution de mon bord. Issue #205. Tu peux aller voir la pull request (#230) si tu veux plus de détails.

Tant mieux si ça s'est remis à marcher

@ic-dev21
Copy link
Collaborator

ic-dev21 commented Oct 11, 2023

Faudrait rajouter un check si les sensors existent déjà ici, dans la boucle for je pense?

https://github.com/dvd-dev/hilo/blob/33d42d08e5488db5cfdf8def4058cb550e817ae9/custom_components/hilo/sensor.py#L142-L57

@ic-dev21
Copy link
Collaborator

Lignes 142 à 157 de sensor.py.

Il faudrait interroger le registry dans ce coin là.

@ic-dev21
Copy link
Collaborator

Info supplémentaire, si je comment out:

utility_manager.add_meter(energy_entity, tariff_list, net_consumption)

L'erreur ne se produit pas. Pas un fix car j'pas mal sûr que ça empêcherait la création tout court.

@ic-dev21
Copy link
Collaborator

J'ai joué un peu avec ça. Le problème ne vient pas directement de sensor.py. On peut partiellement régler à partir de managers.py

    async def add_meter(self, entity, tariff_list, net_consumption=False):
        # Check if the entity ID already exists
        entity_id = f"{self.platform}_{slugify(entity.name)}"
        existing_entity_id = await async_get_entity_id(self.hass, sensor, hilo, entity_id)
        if existing_entity_id is not None:
            LOG.debug(f"Entity {entity_id} already exists, skipping...")
        return

        self.add_meter_entity(entity, tariff_list)
        self.add_meter_config(entity, tariff_list, net_consumption)

@ic-dev21 ic-dev21 mentioned this issue Feb 9, 2024
@ic-dev21
Copy link
Collaborator

Okay, info supplémentaire, j'ai eu un petit flash alors j'ai essayé quelque chose ce soir.

Le trouble vient définitevement de managers.py, spécifiquement la ligne 29 qui fait pas sa job.

J'ai ajouté le logging suivant (préfixe Hil0 pour pouvoir le trouver vite)

def add_meter(self, entity, tariff_list, net_consumption=False):
        LOG.debug("Hil0 calling add_meter")
        self.add_meter_entity(entity, tariff_list)
        self.add_meter_config(entity, tariff_list, net_consumption)

    def add_meter_entity(self, entity, tariff_list):
        LOG.debug("Hil0 in add_meter_entity")
        LOG.debug(f"Hil0 hass.data {self.hass.data.get("utility_meter_data", {})}")
        LOG.debug(f"Hil0 entity is {entity}")
        if entity in self.hass.data.get("utility_meter_data", {}):
            LOG.debug("Hil0 checking entity")
            LOG.debug(f"Entity {entity} is already in the utility meters")
            return

Qui donne le résulstat suivant:

`
2024-02-13 20:22:44.732 DEBUG (MainThread) [custom_components.hilo] Hil0 calling add_meter
2024-02-13 20:22:44.732 DEBUG (MainThread) [custom_components.hilo] Hil0 in add_meter_entity
2024-02-13 20:22:44.732 DEBUG (MainThread) [custom_components.hilo] Hil0 hass.data {}
2024-02-13 20:22:44.732 DEBUG (MainThread) [custom_components.hilo] Hil0 entity is hilo_energy_total
2024-02-13 20:22:44.734 DEBUG (MainThread) [custom_components.hilo] Hil0 calling add_meter
2024-02-13 20:22:44.734 DEBUG (MainThread) [custom_components.hilo] Hil0 in add_meter_entity
2024-02-13 20:22:44.734 DEBUG (MainThread) [custom_components.hilo] Hil0 hass.data {}
2024-02-13 20:22:44.734 DEBUG (MainThread) [custom_components.hilo] Hil0 entity is hilo_energy_thermostat_cuisine

Comme on peut voir hass.data ne retourne rien du tout. Ça doit possiblement être un call deprecated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
energy_meter Probleme d'energy meters
Projects
None yet
Development

No branches or pull requests

3 participants