Veolia-idf SEDIF - suivi consommation eau potable

Ce serait bien d’étendre MetersToHA pour le mettre direment dans InfluxDB / Grafana.
Ajout de classe à l’instar de « HomeAssistantInjector » et l’utiliser comme « Injector » quand « server_type » vaut InfluxDB par exemple.

La mise au point est possible en téléchargéant une fois avec --keep-output, et puis lancer le script à peu près comme ceci (mon exemple sous Windows/cygwin avec les données GRDF):

/cygdrive/c/Python310/pythonw.exe \
  apps/meters_to_ha/meters_to_ha.py -c ./win*json --grdf -r --keep-output --debug --screenshot 
 --local-config \
 --skip-download

Bonjour à tous,

J’ai suivi l’installation avec AD puis HACS mais je n’ai aucun sensors de créé

*Sur AD, j’ai bien VeoliaIDF en state idle

*Sur * /config/appdaemon/apps/veolia-idf/error png,

*Sur apps.yaml

veolia_idf:
module: veolia_idf
class: VeoliaIDF
config_file: /config/veolia-idf /config.json

*Les LOGS :
2023-03-27 08:55:30,516 : WW : Check script version is up to date New version « Add domoticz new basic auth support »(v2.1) available. Check : Release Add domoticz new basic auth support · s0nik42/veolia-idf · GitHub

2023-03-27 08:55:30,537 : OK : Loading configuration file : /config/veolia-idf /config.json
2023-03-27 08:55:30,557 : – : Start loading veolia configuration
2023-03-27 08:55:30,558 : OK : « veolia_login » = « @"
2023-03-27 08:55:30,559 : OK : « veolia_password » = "
"
2023-03-27 08:55:30,560 : OK : « veolia_contract » = "
 »
2023-03-27 08:55:30,562 : WW : « geckodriver » = « /config/appdaemon/apps/veolia-idf/geckodriver » param is not found in config file, using default value
2023-03-27 08:55:30,563 : WW : « firefox » = « /config/appdaemon/apps/veolia-idf/firefox » param is not found in config file, using default value
2023-03-27 08:55:30,564 : OK : « chromium » = « /usr/bin/chromium-browser »
2023-03-27 08:55:30,565 : WW : « chromedriver » = « /usr/bin/chromedriver » param is not found in config file, using default value
2023-03-27 08:55:30,566 : OK : « timeout » = « 30 »
2023-03-27 08:55:30,567 : WW : « download_folder » = « /config/appdaemon/apps/veolia-idf/ » param is not found in config file, using default value
2023-03-27 08:55:30,568 : OK : « logs_folder » = « /config/appdaemon/apps/veolia-idf/ »
2023-03-27 08:55:30,570 : OK : End loading veolia configuration
2023-03-27 08:55:30,571 : – : Start Loading Home Assistant configuration
2023-03-27 08:55:30,574 : OK : « ha_server » = « https://.duckdns.org:8123"
2023-03-27 08:55:30,575 : OK : « ha_token » = "
***********************************************************************************************************************************************************************"
2023-03-27 08:55:30,576 : OK : « veolia_contract » = "
 »
2023-03-27 08:55:30,577 : OK : « timeout » = « 30 »
2023-03-27 08:55:30,578 : WW : « download_folder » = « /config/appdaemon/apps/veolia-idf/ » param is not found in config file, using default value
2023-03-27 08:55:30,578 : OK : End loading Home Assistant configuration
2023-03-27 08:55:30,580 : OK : Check download location integrity
2023-03-27 08:55:30,581 : OK : Remove temporary download file
2023-03-27 08:55:30,583 : OK : Check availability of « geckodriver »+« firefox » or « chromedriver »+« chromium »
2023-03-27 08:55:31,040 : OK : Check Home Assistant connectivity
2023-03-27 08:55:32,097 : OK : Start virtual display
2023-03-27 08:55:32,317 : ~~ : Setup Firefox profile
2023-03-27 08:55:32,626 : OK : Start virtual display (chromium)
2023-03-27 08:56:04,049 : OK : Start the browser
2023-03-27 08:56:14,511 : OK : Connexion au site Veolia Eau Ile de France
2023-03-27 08:56:22,920 : OK : Waiting for Password
2023-03-27 08:56:23,150 : OK : Waiting for Email
2023-03-27 08:56:25,672 : OK : Type Email
2023-03-27 08:56:26,412 : OK : Type Password
2023-03-27 08:56:26,660 : OK : Waiting for submit button
2023-03-27 08:56:26,661 : ~~ : Wait before clicking (1.0s)
2023-03-27 08:56:28,609 : OK : Click on submit button
2023-03-27 08:56:42,774 : OK : Wait for missing lightning-spinner
2023-03-27 08:57:15,710 : OK : Wait for MENU contrats or historique
2023-03-27 08:57:24,396 : OK : Click on menu : HISTORIQUE
2023-03-27 08:58:18,908 : OK : Wait for historique menu
2023-03-27 08:58:18,981 : ~~ : Wait before clicking (4.0s)
2023-03-27 08:58:29,086 : OK : Click on historique menu
2023-03-27 08:58:40,342 : OK : Wait for button Litres
2023-03-27 08:58:40,343 : ~~ : Wait before clicking (2.0s)
2023-03-27 08:58:48,174 : OK : Click on button Litres
2023-03-27 08:58:51,476 : OK : Wait for button Jours
2023-03-27 08:58:51,477 : ~~ : Wait before clicking (2.0s)
2023-03-27 08:58:56,292 : OK : Click on button Jours
2023-03-27 08:58:56,472 : OK : Wait for button Telechargement
2023-03-27 08:58:56,474 : ~~ : Wait before clicking (10.0s)
2023-03-27 08:59:10,040 : OK : Click on button Telechargement
2023-03-27 08:59:45,683 : WW : Wait for end of download to /config/appdaemon/apps/veolia-idf/historique_jours_litres.csvGet & Save ‹ /config/appdaemon/apps/veolia-idf/error.png › Encountered errorFile download timeout// → Retrying once
2023-03-27 09:00:00,788 : OK : Connexion au site Veolia Eau Ile de France
2023-03-27 09:00:31,058 : EE : Waiting for Password Message: failed, page timeout (timeout=30)
2023-03-27 09:00:31,832 : OK : Close Browser
2023-03-27 09:00:31,856 : OK : Close Display
2023-03-27 09:00:31,859 : OK :
2023-03-27 09:00:31,861 : EE : Ended with error : // re-run the program with ‹ –debug › option

J’ai du loupé quelque chose… pour avoir mes sensors

C’est le même problème que @hautfr que j’ai pu reproduire après une mise à jour de mon installation AppDaemon. L’origine du problème se trouve à priori dans l’évolution de Chrome .

J’ai implémenté le « contournement » dans MetersToHa - c’est une version évolué de VeoliaIDF ou j’ai ajouté la lecture de valeurs de GRDF, tout en améliorant le code et en évitant des fonctions « dépréciés ».

Voir ci-dessus pour qqs instructions: Veolia-idf SEDIF - suivi consommation eau potable - #94 par le_top . Le configuration peut quasiment être ré-utilisé (Installation AppDaemon, fichier de configuration json).

Bonjour,
A moi de vous appeler à l’aide. HaOS est installé sur un ordinateur dédié.
Depuis hier, je tente d’installer MeterstoHA.
Voici ce que j’ai comme erreur dans mes logs:

2023-03-28 02:23:01,389 : OK : Check Home Assistant connectivity
2023-03-28 02:23:01,389 : EE : No browser could be started with selenium
2023-03-28 02:23:01,389 : OK : Close Browser
2023-03-28 02:23:01,389 : EE : Close Display Ended with error : // re-run the program with ‹ –debug › option

Je vois que j’ai un probleme avec selenium, mais je ne trouve pas.

Merci pour vos éclairages

Je suppose que vous passez aussi par le module complémentaire (AddOn) « AppDaemon ».

L’erreur suggère que Selenium n’a pas trouvé de navigateur/pilote valide. Ou bien vous avez activé --debug sans avoir défini un « DISPLAY » valide/accessible.

Il est important que la configuration d’AppDaemon comprend tous les paquets et modules comme indiqué ici%3A-,init_commands,-%3A%20%5B%5D%0Apython_packages).

En principe il y a d’autres étapes du processus avant l’affichage de cet erreur qui vérifient que le navigateur et son pilote sont bien présents. Donc normalement c’est ok, mais par sécurité on vérifie quand même.

Quelques extraits de ma trace:

# Cette liste permet de vérifier les chemins configurés pour chromium/firefox

 WW :  "geckodriver" not found in config file, using default value
 OK : "geckodriver" = "/config/appdaemon/apps/MetersToHA/geckodriver"
 WW :  "firefox" not found in config file, using default value
 OK : "firefox" = "/config/appdaemon/apps/MetersToHA/firefox"
 WW :  "chromium" not found in config file, using default value
 OK : "chromium" = "/usr/bin/chromium-browser"
 WW :  "chromedriver" not found in config file, using default value
 OK : "chromedriver" = "/usr/bin/chromedriver"

# Plus loin, dans la trace
# Il faut que "OK" soit indiqué ici est qu'il n'y ait pas d'erreur qui suit.
 OK : Check availability of "geckodriver"+"firefox" or "chromedriver"+"chromium"

S’il y a ‹ no valid pair of executables found › il est clair que chromium n’est pas installée.

Merci pour la réponse rapide, c’est « le top » :smiley:
Je vous confirme que je passe par AppDeamon. Je n’ai pas activé « Debug » (enfin, je ne pense pas).
La configuration comprend bien tous les paquets tels que vous les avez indiqué lors de la création.
Je vous mets l’ensemble de mes logs:

2023-03-28 02:23:01,371 : WW : « geckodriver » not found in config file, using default value
2023-03-28 02:23:01,371 : OK : « geckodriver » = « /config/appdaemon/apps/MetersToHA/geckodriver »
2023-03-28 02:23:01,371 : WW : « firefox » not found in config file, using default value
2023-03-28 02:23:01,371 : OK : « firefox » = « /config/appdaemon/apps/MetersToHA/firefox »
2023-03-28 02:23:01,371 : WW : « chromium » not found in config file, using default value
2023-03-28 02:23:01,371 : OK : « chromium » = « /usr/bin/chromium-browser »
2023-03-28 02:23:01,372 : WW : « chromedriver » not found in config file, using default value
2023-03-28 02:23:01,372 : OK : « chromedriver » = « /usr/bin/chromedriver »
2023-03-28 02:23:01,372 : OK : « chrome_version » = « None »
2023-03-28 02:23:01,372 : OK : « timeout » = « 30 »
2023-03-28 02:23:01,372 : OK : « download_folder » = « /config/appdaemon/apps/MetersToHA/ »
2023-03-28 02:23:01,372 : OK : « logs_folder » = « /config/appdaemon/apps/MetersToHA/ »
2023-03-28 02:23:01,372 : OK : « 2captcha_token » = « None »
2023-03-28 02:23:01,372 : OK : « capmonster_token » = « None »
2023-03-28 02:23:01,372 : OK : End loading configuration
2023-03-28 02:23:01,373 : – : Start Loading Home Assistant configuration
2023-03-28 02:23:01,373 : OK : « ha_server » = « http://192.168.1.28:8123 »
2023-03-28 02:23:01,373 : OK : « ha_token » = « *******************************************************************************************************************************************************************************"
2023-03-28 02:23:01,373 : OK : « veolia_contract » = "
 »
2023-03-28 02:23:01,373 : OK : « timeout » = « 30 »
2023-03-28 02:23:01,373 : OK : « insecure » = « False »
2023-03-28 02:23:01,373 : OK : « state_file » = « /config/appdaemon/apps/MetersToHA/meters2ha_state.json »
2023-03-28 02:23:01,373 : OK : End loading Home Assistant configuration
2023-03-28 02:23:01,389 : OK : Check Home Assistant connectivity
2023-03-28 02:23:01,389 : EE : No browser could be started with selenium
2023-03-28 02:23:01,389 : OK : Close Browser
2023-03-28 02:23:01,389 : EE : Close Display Ended with error : // re-run the program with ‹ –debug › option

C’est un peu ce que je craignais: pas d’indice assez précise.

Sans trop d’espoir, mais on ne sait jamais: voici ma config yaml pour AppDaemon - les deux lignes à la fin permettent d’obtenir d’éventuels autres messages d’erreur. Le chemin peut être différent.
Si cela ne donne rien, je vais évoluer le code pour en savoir un peu plus.

veolia:
  module: meters_to_ha_appdaemon
  class: MetersToHA
  event_name: call_veolia
  extra_opts: [--screenshot,--veolia]
  log_folder: /config
  config_file: /config/veolia-idf/config.json
  keep_output: true
  outfile: /config/appdaemon/apps/testv2.log
  errfile: /config/appdaemon/apps/testv2err.log

J’ai rajouté le fichier mais le probleme reste le même:

2023-03-28 15:58:47,591 : -- :  Start loading configuration
2023-03-28 15:58:47,591 : OK : "veolia" = "False" 
2023-03-28 15:58:47,592 : OK : "veolia_login" = "****" 
2023-03-28 15:58:47,592 : OK : "veolia_password" = "*********" 
2023-03-28 15:58:47,592 : OK : "veolia_contract" = "*****" 
2023-03-28 15:58:47,592 : OK : "grdf" = "False" 
2023-03-28 15:58:47,592 : OK : "grdf_login" = "None" 
2023-03-28 15:58:47,592 : OK : "grdf_password" = "None" 
2023-03-28 15:58:47,592 : OK : "grdf_pce" = "None" 
2023-03-28 15:58:47,592 : OK : "screenshot" = "False" 
2023-03-28 15:58:47,592 : OK : "skip_download" = "False" 
2023-03-28 15:58:47,593 : OK : "keep_output" = "False" 
2023-03-28 15:58:47,593 : WW :  "geckodriver" not found in config file, using default value
2023-03-28 15:58:47,593 : OK : "geckodriver" = "/config/appdaemon/apps/MetersToHA/geckodriver" 
2023-03-28 15:58:47,593 : WW :  "firefox" not found in config file, using default value
2023-03-28 15:58:47,593 : OK : "firefox" = "/config/appdaemon/apps/MetersToHA/firefox" 
2023-03-28 15:58:47,593 : WW :  "chromium" not found in config file, using default value
2023-03-28 15:58:47,593 : OK : "chromium" = "/usr/bin/chromium-browser" 
2023-03-28 15:58:47,593 : WW :  "chromedriver" not found in config file, using default value
2023-03-28 15:58:47,593 : OK : "chromedriver" = "/usr/bin/chromedriver" 
2023-03-28 15:58:47,594 : OK : "chrome_version" = "None" 
2023-03-28 15:58:47,594 : OK : "timeout" = "30" 
2023-03-28 15:58:47,594 : OK : "download_folder" = "/config/appdaemon/apps/MetersToHA/" 
2023-03-28 15:58:47,594 : OK : "logs_folder" = "/config/appdaemon/apps/MetersToHA/" 
2023-03-28 15:58:47,594 : OK : "2captcha_token" = "None" 
2023-03-28 15:58:47,594 : OK : "capmonster_token" = "None" 
2023-03-28 15:58:47,594 : OK : End loading configuration 
2023-03-28 15:58:47,594 : -- :  Start Loading Home Assistant configuration
2023-03-28 15:58:47,594 : OK : "ha_server" = "http://192.168.1.28:8123" 
2023-03-28 15:58:47,594 : OK : "ha_token" = "***************************************************************************************************************************************************************************************" 
2023-03-28 15:58:47,595 : OK : "veolia_contract" = "******" 
2023-03-28 15:58:47,595 : OK : "timeout" = "30" 
2023-03-28 15:58:47,595 : OK : "insecure" = "False" 
2023-03-28 15:58:47,595 : OK : "state_file" = "/config/appdaemon/apps/MetersToHA/meters2ha_state.json" 
2023-03-28 15:58:47,595 : OK : End loading Home Assistant configuration 
2023-03-28 15:58:47,609 : OK : Check Home Assistant connectivity 
2023-03-28 15:58:47,610 : EE :  No browser could be started with selenium
2023-03-28 15:58:47,610 : OK : Close Browser 
2023-03-28 15:58:47,610 : EE : Close Display Ended with error : // re-run the program with '--debug' option

Et voici le message dans appdaemon:

INFO meters_to_ha: Execute ['python3', '/config/appdaemon/apps/MetersToHA/meters_to_ha.py', '-r', '-c', '/config/appdaemon/apps/MetersToHA/config.json']
Traceback (most recent call last):
  File "/config/appdaemon/apps/MetersToHA/meters_to_ha.py", line 3028, in doWork
    crawler.init()
  File "/config/appdaemon/apps/MetersToHA/meters_to_ha.py", line 494, in init
    raise Exception("No browser could be started with selenium")
Exception: No browser could be started with selenium
2023-03-28 15:58:47.662690 INFO meters_to_ha: Done MetersToHA

Je pense que j’ai ciblé le problème, mais comment le résoudre?

Je suis tombé sur le problème un peu par hazard. Cela apparaissait quand il y avait déjà un fichier téléchargé - rien à voir avec selenium en soi. Le bogue faisait que la présence des executables n’était pas vérifié et du coup considéré absent.

C’est corrigé dans la dernière version.

Donc, que faut il que je fasse en fait? Que je réinstalle meterstoha?

Simplement mettre à jour avec HACS.
Si HACS n’a pas encore détecté la MAJ, on peut demander à acutaliser les informations par le menu en haut à droite sur la page de l’intégration/application et ensuite le mettre à jour.

image

Mise à jour. Le script ne se lance pas Et j’ai 2 messages d’erreurs différents (suivants que je mets le lien vers mon serveur HA en http ou https):

2023-03-29 12:40:18,774 : OK : "state_file" = "/config/appdaemon/apps/MetersToHA/meters2ha_state.json" 
2023-03-29 12:40:18,774 : OK : End loading Home Assistant configuration 
2023-03-29 12:40:18,849 : EE : Check Home Assistant connectivity url=https://192.168.1.28:8123/api/ : HTTPSConnectionPool(host='192.168.1.28', port=8123): Max retries exceeded with url: /api/ (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:997)')))
2023-03-29 12:40:18,849 : OK : Close Browser 
2023-03-29 12:40:18,849 : EE : Close Display Ended with error : // re-run the program with '--debug' option


2023-03-29 12:41:14,401 : -- :  Start Loading Home Assistant configuration
2023-03-29 12:41:14,401 : OK : "ha_server" = "http://192.168.1.28:8123" 
2023-03-29 12:41:14,401 : OK : "ha_token" = "***************************************************************************************************************************************************************************************" 
2023-03-29 12:41:14,401 : OK : "veolia_contract" = "******" 
2023-03-29 12:41:14,401 : OK : "timeout" = "30" 
2023-03-29 12:41:14,401 : OK : "insecure" = "False" 
2023-03-29 12:41:14,401 : OK : "state_file" = "/config/appdaemon/apps/MetersToHA/meters2ha_state.json" 
2023-03-29 12:41:14,402 : OK : End loading Home Assistant configuration 
2023-03-29 12:41:14,423 : OK : Check Home Assistant connectivity 
2023-03-29 12:41:14,423 : EE :  No browser could be started with selenium False-False
2023-03-29 12:41:14,423 : OK : Close Browser 
2023-03-29 12:41:14,423 : EE : Close Display Ended with error : // re-run the program with '--debug' option

Très étrange, j’ai apporté une évolution pour avoir une indication pourquoi le navigateur n’est pas vérifié.

Il faut l’un de ces deux débuts de messages dans la trace avec cette évolution:

  • Check availability of « geckodriver »+« firefox » … , ou
  • Skip browser check, not needed … (suivi de la raison).

Dans le même temps je pense avoir compris ton cas - l’option --veolia ou --grdf n’est pas explicitement défini (et cela ne doit pas être nécessaire), sauf que l’activation interne ne propagait pas dans la configuration interne.

Donc je pense que maintenant cela marchera - sinon, il y aura plus d’infos.

Ya pas à dire, le Top!! Tu es vraiment au top!! :smiley:

Un grand merci pour ta patience et pour ta disponibilité. Les 2 capteurs ont apparus et, en plus, ils ne sont pas à zéro! Il semblerait donc que mon probleme soit résolu (j’attends quand même cette nuit)

En tout cas, un tres tres grand merci pour ton aide :slight_smile:

1 « J'aime »

Je suis de retour!

La mise à jour s’est parfaitement bien passée cette nuit et c’est génial.

Par contre, à chaque fois que je relance ma session de HA (et ca arrive souvent), il perd les capteurs créés, me faisant une belle erreur! (Si je fais un « call_meters_to_HA », je recréé les capteurs).

Y a t-il la possibilité que les capteurs ne disparaissent pas?

Merci pour les réponses

(@le_top !! Help me! )

Il y a une question de hier dans ce sens dans les questions sur github:

Au fond ce n’est pas problématique si on ajoute la consommation d’eau à son panneau « Energie » qui garde l’historique et qui garde assez bien l’historique.

Je pense qu’il y a un moyen de maintenir l’entité en le définissant à travers un template/sensor:

- platform: template
  sensors:
    <mettre le bon nom>:
      friendly_name: "xxx"
      unit_of_measurement: xxx
      device_class: xxxx
      value_template: 

Il faudra mettre des valeurs qui conviennent - je n’ai pas trop le temps d’expérimenter.

MetersToHA viendrait alors écraser les valeurs, et Home Assistant est content puisqu’il dispose d’une vraie entité.

L’utilisation de MQTT serait aussi une solution, mais je n’ai pas encore pu prendre le temps de creuser suffisamment ce sujet.

Je vais creuser là dessus, Mario, merci

Salut à tous,

Depuis 2 jours, MeterstoHA a été mis à jour et il semblerait que l’intégration ne fonctionne plus (en tout cas, chez moi, les « sensors » ont disparu). suis-je le seul?

Merci pour vos réponses

J’utilise personnellement, à jour avec github, et j’ai des remontés quotidiennement.
Je propose de vérifier les traces - et éventuellement mettre à jour AppDaemon.