ssenart / ha-custom_components

Some custom components for Home Assistant
MIT License
4 stars 1 forks source link

Platform error sensor.gazpar - No module named 'gazpar' #4

Closed pbranly closed 3 years ago

pbranly commented 3 years ago

hello je viens de cherger la derniere version du repertoire gazpar dans custom components le sensor est a jour j'ai l'erreur suivante quand je verifie la configuration Platform error sensor.gazpar - No module named 'gazpar'

pbranly commented 3 years ago

j'avais conservé la version precedente. je l'ai remise dans le repertoire "custom_components" et tout fonctionne. le probleme est donc lié a la version 0.2

ssenart commented 3 years ago

Salut, oui, désolé, je travaille actuellement dans master pour rajouter un script d'import de tout l'historique (daily/weekly/monthly) dans la base HA. Du coup, j'ai cassé le sensor (ça m'appendra de travailler dans la branche master!).

C'est maintenant réparé. La 0.2 te permet d'avoir les relevés hebdomadaires et mensuels tel que publiés par GrDF : voir la doc ici : https://github.com/ssenart/ha-custom_components/blob/master/README.md

Attention, les noms des entités HA ont changé, mais il y a moyen de retrouver les anciens grâce aux templates HA. Tout est expliqué dans le README.md.

Je vais aussi compléter l'outil d'import pour rajouter InfluxDB.

En tout cas, merci beaucoup pour tes retours !

pbranly commented 3 years ago

le sensor est accepté maintenant. 3 sensors sont créés mais restent à 0 log:

Failed to query PyGazpar library with exception : Traceback (most recent call last): File "/config/custom_components/gazpar/sensor.py", line 136, in update_gazpar_data client.update() File "/usr/local/lib/python3.8/site-packages/pygazpar/client.py", line 118, in update self.updateLiveMode() File "/usr/local/lib/python3.8/site-packages/pygazpar/client.py", line 221, in updateLiveMode daily_consumption_element = driver.find_element_by_xpath(xpathByFrequency[self.meterReadingFrequency], buttonDescriptionByFrequency[self.meterReadingFrequency]) File "/usr/local/lib/python3.8/site-packages/pygazpar/webdriverwrapper.py", line 112, in find_element_by_xpath element = self.__driver.find_element_by_xpath(xpath) File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 394, in find_element_by_xpath return self.find_element(by=By.XPATH, value=xpath) File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 976, in find_element return self.execute(Command.FIND_ELEMENT, { File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute self.error_handler.check_response(response) File "/usr/local/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: //table[@id='_eConsoconsoDetaille_WAReConsoportlet:idFormConsoDetaille:panelTypeGranularite1']/tbody/tr/td[3]/label

pbranly commented 3 years ago

pour influxdb, voir ce qu'a fait Jeoffrey https://github.com/Jeoffreybauvin/pygazpar_to_influxdb j'ai monté tes modifs 0.2 et il les a integrées hier soir ou mon fork: https://github.com/pbranly/pygazpar_to_influxdb je voulais aussi passer en influxdb 2.0 mais c'est trop compliqué si on veut rester en influxql en Flux c'est jouable mais il faut refaire tous les querry grafana

ssenart commented 3 years ago

Concernant l'erreur que tu as dans le post précédent, tu dois avoir un screenshot dans le dossier tmpdir que tu as spécifié. Il te montrera quel composant cache les boutons recherchés (Jour, Mois ou Semaine). Je l'ai aussi de façon intermittente.

Pour tester, il existe un nouveau paramètre 'test_mode' que tu peux mettre à True dans ta config gazpar :

- platform: gazpar
  username: !secret gazpar.username
  password: !secret gazpar.password
  webdriver: /config/drivers/geckodriver
  tmpdir: /config/tmp
  scan_interval: 01:00:00
  test_mode: True

Au lieu de récupérer les données Live de GrDF, il va chercher des données statiques dans un fichier.

Cela permet de valider ton installation.

Dis-moi si le problème persiste...

J'ai essayer de passer à InfluxDB 2 pour utiliser Flux qui a l'air plus puissant. Mais j'ai échoué dans la migration de la base.

Du coup, je suis toujours en 1.7.

Merci, je suis très intéressé par votre travail d'intégration des données dans InfluxDB.

pbranly commented 3 years ago

J'avais fait une réponse mais elle a disparu . Je retape !

J'ai modifié le sensor avec /config/tmp et créé un répertoire tmp. Ça a fonctionné. Modifie ta doc stp.

Concernant InfluxDB 2.0, j'ai réussi à faire la migration et les 2 influx (1.8 et 2.0) tournent en parallèle . Il faudrait passer sur un autre substrat pour en discuter et progresser ensemble

pbranly commented 3 years ago

j'ai reussi a migrer vers influxdb 2.0 et à modifier le docker pour y ecrire. c'est encore en test mais ca fonctionne