mdeweerd / MetersToHA

Get Meter Data into Home Automation systems
GNU General Public License v3.0
26 stars 8 forks source link

Echec au moment de cliquer sur "Litres" (addon) #16

Closed alexh3o closed 9 months ago

alexh3o commented 9 months ago

Bonjour, Votre addon/app est très utile :) J'utilisais avec succès depuis au moins un mois la version appdaemon, les données ont cessé d'être récupérées le 10 décembre et je n'ai pas réussi à le refaire fonctionner malgré des réinstalls et je n'ai aps trop creusé parce que je voulais tenter la version addon, plus simple. Mais je n'ai pas réussi à la faire fonctionner non plus, cela échoue sur le moment ou le script doit cliquer sur "Litres" sur le site de Veolia. Est-ce que l'addon fonctionne toujours ? Je peux partager la config mais j'ai l'impression que ca ne vient pas de ça ?

Je suis sur

chromedriver log

[1702685820.605][INFO]: Waiting for pending navigations...
[1702685820.608][INFO]: Done waiting for pending navigations. Status: ok
[1702685820.639][INFO]: Waiting for pending navigations...
[1702685820.642][INFO]: Done waiting for pending navigations. Status: ok
[1702685820.642][INFO]: [b0374d5d130ffea094c0950e93423be5] RESPONSE FindElement ERROR no such element: Unable to locate element: {"method":"xpath","selector":"//span[contains(text(), 'Litres')]/parent::node()"}
  (Session info: headless chrome=119.0.6045.159)
[1702685821.145][INFO]: [b0374d5d130ffea094c0950e93423be5] COMMAND FindElement {
   "using": "xpath",
   "value": "//span[contains(text(), 'Litres')]/parent::node()"
}
[1702685821.145][INFO]: Waiting for pending navigations...
[1702685821.147][INFO]: Done waiting for pending navigations. Status: ok
[1702685821.164][INFO]: Waiting for pending navigations...
[1702685821.165][INFO]: Done waiting for pending navigations. Status: ok
[1702685821.166][INFO]: [b0374d5d130ffea094c0950e93423be5] RESPONSE FindElement ERROR no such element: Unable to locate element: {"method":"xpath","selector":"//span[contains(text(), 'Litres')]/parent::node()"}
  (Session info: headless chrome=119.0.6045.159)
[1702685821.673][INFO]: [b0374d5d130ffea094c0950e93423be5] COMMAND Quit {
}
[1702685821.734][INFO]: [b0374d5d130ffea094c0950e93423be5] RESPONSE Quit

m2h_exec_log

Sat Dec 16 01:12:00 CET 2023
python3  MetersToHA/apps/meters_to_ha/meters_to_ha.py  -l /config/setup/meterstoha --keep-output -c "/m2h_config.json" --veolia -r
Traceback (most recent call last):
  File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 3310, in doWork
    veolia_idf_file = crawler.get_veolia_idf_file()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 1565, in get_veolia_idf_file
    self.click_in_view(
  File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 1018, in click_in_view
    el = self.__wait.until(ep, message=timeout_message)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/selenium/webdriver/support/wait.py", line 105, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: Failed, page timeout (timeout=120)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 3328, in doWork
    veolia_idf_file = crawler.get_veolia_idf_file()
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 1565, in get_veolia_idf_file
    self.click_in_view(
  File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 1018, in click_in_view
    el = self.__wait.until(ep, message=timeout_message)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/selenium/webdriver/support/wait.py", line 105, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: Failed, page timeout (timeout=120)

Done Sat Dec 16 01:17:01 CET 2023

Service Log

2023-12-16 01:12:01,000 : OK : Using /usr/bin/python3 Version 3.11.6Loading configuration file : /m2h_config.json 
2023-12-16 01:12:01,002 : -- :  Start loading configuration
2023-12-16 01:12:01,002 : OK : "veolia" = "True" 
2023-12-16 01:12:01,003 : OK : "veolia_login" = "xxx@xxx.com" 
2023-12-16 01:12:01,003 : OK : "veolia_password" = "***************" 
2023-12-16 01:12:01,004 : OK : "veolia_contract" = "xxxxxxx" 
2023-12-16 01:12:01,004 : OK : "grdf" = "False" 
2023-12-16 01:12:01,004 : OK : "grdf_login" = "None" 
2023-12-16 01:12:01,004 : OK : "grdf_password" = "None" 
2023-12-16 01:12:01,005 : OK : "grdf_pce" = "None" 
2023-12-16 01:12:01,005 : OK : "screenshot" = "False" 
2023-12-16 01:12:01,005 : OK : "skip_download" = "False" 
2023-12-16 01:12:01,005 : OK : "keep_output" = "True" 
2023-12-16 01:12:01,005 : WW :  "geckodriver" not found in config file, using default value
2023-12-16 01:12:01,006 : OK : "geckodriver" = "/MetersToHA/apps/meters_to_ha/geckodriver" 
2023-12-16 01:12:01,006 : WW :  "firefox" not found in config file, using default value
2023-12-16 01:12:01,006 : OK : "firefox" = "/MetersToHA/apps/meters_to_ha/firefox" 
2023-12-16 01:12:01,006 : WW :  "chromium" not found in config file, using default value
2023-12-16 01:12:01,006 : OK : "chromium" = "/usr/bin/chromium" 
2023-12-16 01:12:01,007 : WW :  "chromedriver" not found in config file, using default value
2023-12-16 01:12:01,007 : OK : "chromedriver" = "/usr/bin/chromedriver" 
2023-12-16 01:12:01,007 : OK : "chrome_version" = "None" 
2023-12-16 01:12:01,007 : OK : "timeout" = "120" 
2023-12-16 01:12:01,008 : OK : "download_folder" = "/config/setup/meterstoha/" 
2023-12-16 01:12:01,008 : OK : "logs_folder" = "/config/setup/meterstoha/" 
2023-12-16 01:12:01,008 : OK : "2captcha_token" = "None" 
2023-12-16 01:12:01,008 : OK : "capmonster_token" = "None" 
2023-12-16 01:12:01,008 : OK : "captchaai_token" = "None" 
2023-12-16 01:12:01,008 : OK : "log_level" = "info" 
2023-12-16 01:12:01,009 : OK : End loading configuration 
2023-12-16 01:12:01,009 : -- :  Start Loading Home Assistant configuration
2023-12-16 01:12:01,009 : OK : "ha_server" = "http://supervisor/core" 
2023-12-16 01:12:01,010 : OK : "ha_token" = "****************************************************************************************************************" 
2023-12-16 01:12:01,010 : OK : "veolia_contract" = "xxxxx" 
2023-12-16 01:12:01,010 : OK : "timeout" = "120" 
2023-12-16 01:12:01,010 : OK : "insecure" = "False" 
2023-12-16 01:12:01,010 : OK : "state_file" = "/config/setup/meterstoha/meters2ha_state.json" 
2023-12-16 01:12:01,011 : OK : End loading Home Assistant configuration 
2023-12-16 01:12:01,013 : OK : Check download location integrity 
2023-12-16 01:12:01,013 : ~~ :  Check availability of "geckodriver"+"firefox" or "chromedriver"+"chromium"
2023-12-16 01:12:01,014 : OK :  Found chromium binary
2023-12-16 01:12:01,113 : OK : Check Home Assistant connectivity 
2023-12-16 01:12:01,113 : -- : Try starting Chromium. Add nix root user options.
2023-12-16 01:12:01,348 : OK : Start virtual display (Chromium). 
2023-12-16 01:12:01,348 : ~~ :  LOG LEVEL info:20:20 None
2023-12-16 01:12:03,455 : OK : Start the browser 
2023-12-16 01:12:03,456 : OK :  
2023-12-16 01:12:06,786 : OK : Connexion au site Veolia Eau Ile de France 
2023-12-16 01:12:07,151 : OK : Waiting for Password 
2023-12-16 01:12:07,245 : OK : Waiting for Email 
2023-12-16 01:12:07,702 : OK : Type Email 
2023-12-16 01:12:08,053 : OK : Type Password 
2023-12-16 01:12:08,089 : OK : Waiting for submit button 
2023-12-16 01:12:08,090 : ~~ : Wait before clicking (1.0s). 
2023-12-16 01:12:09,330 : OK : Click on submit button 
2023-12-16 01:12:09,927 : OK : Remove temporary download file. 
2023-12-16 01:12:15,927 : OK : Wait until lightning-spinner is gone 
2023-12-16 01:12:17,231 : OK : Wait for MENU contrats or historique 
2023-12-16 01:12:19,486 : OK : Click on menu : HISTORIQUE 
2023-12-16 01:12:21,756 : OK : Wait for historique menu 
2023-12-16 01:12:21,756 : ~~ : Wait before clicking (4.0s). 
2023-12-16 01:12:25,953 : OK : Click on historique menu 
2023-12-16 01:14:36,201 : WW : Wait for button Litres Traceback (most recent call last): -   File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 3310, in doWork -     veolia_idf_file = crawler.get_veolia_idf_file() -                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -   File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 1565, in get_veolia_idf_file -     self.click_in_view( -   File "//MetersToHA/apps/meters_to_ha/meters_to_ha.py", line 1018, in click_in_view -     el = self.__wait.until(ep, message=timeout_message) -          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -   File "/usr/lib/python3.11/site-packages/selenium/webdriver/support/wait.py", line 105, in until -     raise TimeoutException(message, screen, stacktrace) - selenium.common.exceptions.TimeoutException: Message: Failed, page timeout (timeout=120) -
2023-12-16 01:14:36,202 : WW :  Encountered error -> Retrying once
2023-12-16 01:14:38,175 : OK : Connexion au site Veolia Eau Ile de France 
2023-12-16 01:14:40,398 : OK : Wait until lightning-spinner is gone 
2023-12-16 01:14:42,608 : OK : Wait for MENU contrats or historique 
2023-12-16 01:14:44,866 : OK : Click on menu : HISTORIQUE 
2023-12-16 01:14:47,110 : OK : Wait for historique menu 
2023-12-16 01:14:47,110 : ~~ : Wait before clicking (4.0s). 
2023-12-16 01:14:51,279 : OK : Click on historique menu 
2023-12-16 01:17:01,666 : EE : Wait for button Litres Message: Failed, page timeout (timeout=120)
2023-12-16 01:17:01,776 : OK : Close Browser 
2023-12-16 01:17:01,783 : OK : Close Display 
2023-12-16 01:17:01,784 : EE :  Ended with error : // re-run the program with '--debug' option
mdeweerd commented 9 months ago

Merci pour le rapport précis. Une consolation: j'ai aussi un problème depuis 2 jours apparament (je ne regardes pas ma conso tous les jours... - par contre cela a l'air différent pour moi.).

Donc il y a eu un changement à identifier.

mdeweerd commented 9 months ago

Un bogue de veolia - quand on clique "Historique", dans le menu de gauche, on arrive dans le detail, mais l'historique ne s'affiche pas. Du coup il faut changer d'onglet (Consommation facturée ou Alertes) et revenir sur Historique. Ce n'est pas prévu actuellement le script - je regardes pour une méthode sure.

mdeweerd commented 9 months ago

En plus du bogue, ils ont aussi changé le nom du fichier de téléchargement.

Un redémarrage de du module complémentaire devrait être suffisant - un petit déclenchement d'événement pour vérifier la suite.

alexh3o commented 9 months ago

Ca refonctionne bien. Merci pour cette modification rapide !