# Veolia-idf SEDIF - suivi consommation eau potable

**URL:** <https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492>\
**Category:** Intégration\
**Tags:** sensor\
**Created:** [Mai 29, 2022, 11:13 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492 "2022-05-29T23:13:56Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Janvier 29, 2023, 1:52 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/82 "2023-01-29T13:52:51Z")

</div>

> [@hautfr](#):
>
> comment résoudre mon problème svp?

Je pensais que c’était résolu du coup.

Je commencerai par remplacer `https://xxxxxxxx.duckdns.org:8123/api/` par `https://home-assistant.local:8123` ou `https://xxxxxxxx.duckdns.org` dans la configuration comme valeur pour «&nbsp;ha\_server&nbsp;».

Je suis un peu étonné que `https://home-assistant.local:8123` fonctionne car le certificat SSL (pour le https) ne devrait pas être valide.  
Je suppose qu’une redirection de port est déjà en place qqpart car `https://xxxxxxxx.duckdns.org` sans specifier le port fonctionne (https c’est par défaut le port 443).

Sinon, on peut rediriger le port sur la box de 443 à l’ip interne + port 8123 si HA est configuré en https sur ce port et que le HTTPS est géré sur home-assistant.

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Janvier 30, 2023, 11:32 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/83 "2023-01-30T11:32:49Z")

</div>

Merci Le-top, cette étape semble fonctionner. J’ai juste enlevé le «&nbsp;:8123&nbsp;» de l’adresse duckdns dans «&nbsp;ha\_server&nbsp;» … mais je ne suis pas encore au bout de mes peines.  
J’ai maintenant un problème pour Display:

Xephyr program closed. command: [‹&nbsp;Xephyr&nbsp;›, ‹&nbsp;-br&nbsp;›, ‹&nbsp;-screen&nbsp;›, ‹&nbsp;1280x1024x24&nbsp;›, ‹&nbsp;-displayfd&nbsp;›, ‹&nbsp;6&nbsp;›, ‹&nbsp;-resizeable&nbsp;›] stderr: b’\nXephyr cannot open host display. Is DISPLAY set?\n’

Je précise que j’utilise en addon via AppDaemon en ayant suivi scrupuleusement les instructions. Je n’ai pas mis de «&nbsp;DISPLAY&nbsp;» dans apps.yaml:

veolia\_idf:  
module: veolia\_idf  
class: VeoliaIDF  
config\_file: /config/appdaemon/apps/veolia-idf/config.json  
debug\_veolia: true  
outfile: /config/veolia\_script.log  
errfile: /config/veolia\_script\_err.log  
script: /config/appdaemon/apps/veolia-idf/veolia-idf-domoticz.py

et dans mon config.json, j’ai bien mis:  
«&nbsp;chromium&nbsp;»: «&nbsp;/usr/bin/chromium-browser&nbsp;»,

Pour AppDaemon je charge bien tout:  
init\_commands: []  
python\_packages:

- selenium
- PyVirtualDisplay  
system\_packages:
- py-urllib3
- py3-colorama
- xvfb
- py3-pip
- xorg-server-xephyr
- chromium-chromedriver
- chromium
- py3-openssl
- py3-pysocks
- py3-wsproto
- py3-sniffio
- py3-async\_generator
- py3-sortedcontainers
- py3-attrs
- py3-outcome
- py3-trio

Une idée svp ? Merci beaucoup.

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Janvier 30, 2023, 4:14 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/84 "2023-01-30T16:14:27Z")

</div>

Il ne faut pas activer le débogue qui a besion d’un «&nbsp;DISPLAY&nbsp;» permettant de visualiser le navigateur. C.a.d. un Serveur X tel que [VcXsrv](https://sourceforge.net/projects/vcxsrv/files/vcxsrv/) ou installé de base dans une distribution \*nix avec interface graphique.  
DISPLAY doit alors être possitionné à qqchse comme :«&nbsp;192.168.0.25:0&nbsp;».

Sans l’option «&nbsp;debug&nbsp;», il y a un serveur X local (xorg-server-xephyr) sur un écran virtuel (xvfb) qui est utilisé. Et c’est le mode de fonctionnement souhaité.

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Janvier 30, 2023, 5:36 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/85 "2023-01-30T17:36:43Z")

</div>

Merci le\_top, gros progrès, j’ai maintenant récupéré des data avec 2 sensors: sensor.veolia\_xxxxxxx\_period\_total et sensor.veolia\_xxxxxxx\_total.

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Janvier 31, 2023, 12:17 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/86 "2023-01-31T12:17:58Z")

</div>

Pour ceux qui veulent ou ont besoin de lancer en mode débug, je viens de découvrir un serveur X pour PC très facile à mettre en oeuvre:

[Mobaxterm Portable](https://mobaxterm.mobatek.net/download-home-edition.html).

Je recommande car:

- «&nbsp;Sans installation&nbsp;»;
- Lance un Serveur X automatiquement;
- Un popop pour demander l’autorisation lorsque le process tente de se connecter;
- Il suffit alors de définir DISPLAY à `<IP_OU_NOM_RESEAU_PC>:0` après avoir lancé ce logiciel et accepté l’accès aux réseaux privés.

---

<div class="post-metadata">

**Author:** ![Skawsk](https://forum.hacf.fr/user_avatar/forum.hacf.fr/skawsk/32/10122_2.png) [@Skawsk](https://forum.hacf.fr/u/Skawsk)\
**Post date:** [Février 9, 2023, 12:16 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/87 "2023-02-09T00:16:34Z")

</div>

Bonjour je tente d’intégrer MetersToHA mais lors de mes tests ce n’est pas concluant :

historique\_gazpaz.json :

```auto
{"%NUM_COMPTEUR%":{"idPce":"%NUM_COMPTEUR%","releves":[],"frequence":null}}

```

service.log :

```auto
> 2023-02-09 01:06:09,299 : -- : Writing /config/appdaemon/apps/MetersToHA/historique_gazpar.json Parsing JSON file
2023-02-09 01:06:09,505 : EE : url=https://%URL%/api/states/sensor.gas_consumption_kwh - (code = 404)
content=b'{"message":"Entity not found."}')
2023-02-09 01:06:09,622 : OK : Close Browser 
2023-02-09 01:06:09,625 : OK : Close Display 
2023-02-09 01:06:09,625 : EE : Ended with error : // re-run the program with '--debug' option

```

testgrdf.log :

```plaintext
  File "/config/appdaemon/apps/MetersToHA/meters_to_ha.py", line 2587, in doWork
    injector.update_grdf_device(gazpar_file)
  File "/config/appdaemon/apps/MetersToHA/meters_to_ha.py", line 1973, in update_grdf_device
    response = self.open_url(HA_API_SENSOR_FORMAT % (sensor,))
  File "/config/appdaemon/apps/MetersToHA/meters_to_ha.py", line 1823, in open_url
    raise RuntimeError(
RuntimeError: url=https://%URL%/api/states/sensor.gas_consumption_kwh - (code = 404)
content=b'{"message":"Entity not found."}')

```

Une piste pour m’aiguiller ?

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Février 9, 2023, 1:45 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/88 "2023-02-09T01:45:28Z")

</div>

> [@Skawsk](#):
>
> `Entity not found.`

Le cas ou c’est une nouvelle mise en place n’était pas bien traité - je pense que c’est ok désormais (code modifié).

(Je suppose aussi que l’extrait «&nbsp;historique\_gazpar.json&nbsp;» n’est que partielle et que la liste des «&nbsp;releves&nbsp;» n’est pas vide.)

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Mars 3, 2023, 9:51 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/89 "2023-03-03T09:51:35Z")

</div>

Bonjour, petit problème depuis quelques jours de «&nbsp;file download timeout&nbsp;»

2023-03-03 10:36:09,420 : OK : Wait for button Telechargement  
2023-03-03 10:36:09,462 : ~~ : Wait before clicking (10.0s)  
2023-03-03 10:36:36,405 : OK : Click on button Telechargement  
2023-03-03 10:37:07,750 : EE : Wait for end of download to /config/appdaemon/apps/veolia-idf/historique\_jours\_litres.csv  
Get & Save ‹&nbsp;/config/appdaemon/apps/veolia-idf/error.png&nbsp;› **File download timeout**  
2023-03-03 10:37:07,946 : OK : Close Browser  
2023-03-03 10:37:07,950 : OK : Close Display  
2023-03-03 10:37:07,951 : OK :  
2023-03-03 10:37:07,951 : EE : Ended with error : // re-run the program with ‹&nbsp;–debug&nbsp;›

Une petite idée de comment résoudre celà svp?  
Merci bcp

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Mars 3, 2023, 10:54 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/90 "2023-03-03T10:54:50Z")

</div>

Je viens de vérifier si puor moi cela fonctionne: oui, c’est ok.

En principe (selon la trace) il y a une image sous ‹&nbsp;/config/appdaemon/apps/veolia-idf/error.png&nbsp;› qui peut éventuellement donner une idée.  
L’est le contenu du navigateur après l’expiration du clic sur le bouton téléchargement.

Après — pour aller plus loin — cela se corse un peu. Il faut avoir un serveur X accessible depuis la machine ou l’on exécute veolia-idf. [J’en touche un peu plus dans le projet dérivé «&nbsp;MetersToHA&nbsp;»](https://github.com/mdeweerd/MetersToHA#:~:text=L%27option%20debug%20peut%20%C3%AAtre%20int%C3%A9ressant) .

A priori il y a eu 30 secondes d’attente entre le clic sur téléchargement est l’expiration ce qui devrait quand même être suffisant.

Regardons déjà error.png.

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Mars 11, 2023, 9:29 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/91 "2023-03-11T09:29:27Z")

</div>

Bonjour le\_top,  
le fichier error.png ne donne rien, c’est juste une copie d’ecran du website veolia qui donne mes données, rien lié à l’erreur.  
Je me suis en DEBUG avec un DISPLAY, et tout fonctionne bien, les données sont bien récupérées ainsi que le fichier .csv.  
mais dès que je ne suis plus en DEBUG j’ai cette erreur de timeout.  
Après quelques recherches sur l’erreur il semble que celà vienne de «&nbsp;webdriver&nbsp;».  
par exemple:

> <https://stackoverflow.com/questions/40514022/chrome-webdriver-produces-timeout-in-selenium>

Je ne suis pas développeur donc çà ne me parle pas beaucoup, mais je voulais reporter ce problème.  
Si vous avez une idée pour le résoudre, idées bienvenues.  
Merci.

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Mars 11, 2023, 9:06 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/92 "2023-03-11T21:06:17Z")

</div>

Le fait que cela fonctionne en mode débogue, c’est déjà «&nbsp;un début&nbsp;».

`error.png` - Même si cela n’affiche pas d’erreur, étant une capture de l’écran au moment du "timeout’ cela donne quand même un indice. D’acprès ce que je comprend de la description, c’est une page graphique ou l’on voit le bouton «&nbsp;Télécharger la période&nbsp;», et non une image ou l’on voit le contenu d’un CSV.

Ce n’est pas en soi un problème de ChromeDriver qui entraine un timeout. Je me demande s’il n’y pas un problème d’écriture du fichier csv. Le script conclus à un timeout s’il ne voit pas l’apparition du fichier à l’endroit attendu qui peut être défini dans la config et qui devrait donc s’écrire à l’endroit «&nbsp;/config/appdaemon/apps/veolia-idf/historique\_jours\_litres.csv&nbsp;» . Je suppose que ce fichier ne se trouve pas à cet endroit (sinon, le script a un problème pour «&nbsp;le voir&nbsp;»).

S’il y a un fichier «&nbsp;chromedriver.log&nbsp;» (dans mon cas «&nbsp;/config/chromedriver&nbsp;»), on y trouve une trace de la recherche du bouton Télécharger la période (avec «&nbsp;charger la p&nbsp;» pour éviter les accents):

```auto
[1678495581.991][INFO]: [dea49767b4d98367e93f43619d223fc6] COMMAND FindElement {
   "using": "xpath",
   "value": "//button[contains(text(),\"charger la p\")]"
}

```

Suivi d’une réponse:

```auto
[1678495582.065][INFO]: [dea49767b4d98367e93f43619d223fc6] RESPONSE FindElement {
   "element-6066-11e4-a52e-4f735466cecf": "d9f452ae-e0a4-40db-b03c-bf9063a16f56"
}

```

Ou l’identifiant sert plus tard dans une demande de clic (sur ce bouton pour télécharger, qui mène dans mon cas rapidement à la fin du script (divers ok):

```auto
[1678495592.232][INFO]: [dea49767b4d98367e93f43619d223fc6] COMMAND ClickElement {
   "id": "d9f452ae-e0a4-40db-b03c-bf9063a16f56"
}
[1678495592.232][INFO]: [dea49767b4d98367e93f43619d223fc6] COMMAND ClickElement {
   "id": "d9f452ae-e0a4-40db-b03c-bf9063a16f56"
}
[1678495592.232][INFO]: Waiting for pending navigations...
[1678495592.234][INFO]: Done waiting for pending navigations. Status: ok
[1678495592.504][INFO]: Waiting for pending navigations...
[1678495592.530][INFO]: Done waiting for pending navigations. Status: ok
[1678495592.530][INFO]: [dea49767b4d98367e93f43619d223fc6] RESPONSE ClickElement
[1678495592.702][INFO]: [dea49767b4d98367e93f43619d223fc6] COMMAND Quit {
}
[1678495592.805][INFO]: [dea49767b4d98367e93f43619d223fc6] RESPONSE Quit

```

Il y a peut-être une indication de problème d’écriture.

Personnellement j’ai défini ` "download_folder": "/config/csv",`, avec un répertoire /config/csv qui existe.

Et voici ma configuration dans ‹&nbsp;apps.yaml&nbsp;› ou `keep_csv: true` permet de garder le fichier csv après exécution du script:

```yaml
veolia_idf:
  module: veolia_idf
  class: VeoliaIDF
  log_folder: /config
  config_file: /config/veolia-idf/config.json
  keep_csv: true
  outfile: /config/appdaemon/apps/test.log
  errfile: /config/appdaemon/apps/testerr.log

```

Il est possible de définir et augmenter la valeur «&nbsp;timeout&nbsp;» dans le fichier de configuration «&nbsp;…json&nbsp;», je suggère aussi de définer le download\_folder à un autre endroit pour vérifier si ce n’est donc pas un pb d’écriture:

```auto
   [...]
    "download_folder": "/config",
    "type": "ha",
    "timeout": "90"
}

```

J’ai testé de mon côté sans mettre le download\_folder, et le script fini bien en laissant le fichier sous /config/appdaemon/apps/veolia\_idf/historique\_jours\_litres.csv .

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Mars 13, 2023, 8:06 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/93 "2023-03-13T08:06:03Z")

</div>

merci le\_top.  
Ton commentaire sur le error.png est exact, je ne vois pas le contenu du .csv.  
J’ai paramétré comme toi le répertoire download du csv, en «&nbsp;/config/csv&nbsp;» qui existe de même que le keep\_csv: true et le reste également. J’ai augmenté à 90 la valeur du timeout.  
Résultat: en mode DEBUG, tout fonctionne, le fichier csv avec les données est bien présent au bon endroit, mais en mode normal, même erreur.  
A noter que j’ai ceci dans le veolia\_script\_err.log, mais ce n’est qu’un warning:

/config/appdaemon/apps/veolia-idf/veolia-idf-domoticz.py:302: DeprecationWarning: firefox\_profile has been deprecated, please use an Options object  
fp = webdriver.FirefoxProfile()

/config/appdaemon/apps/veolia-idf/veolia-idf-domoticz.py:303: DeprecationWarning: Setting a profile has been deprecated. Please use the set\_preference and install\_addons methods  
opts.profile = fp

/config/appdaemon/apps/veolia-idf/veolia-idf-domoticz.py:329: DeprecationWarning: service\_log\_path has been deprecated, please pass in a Service object  
self.\_\_browser = webdriver.Firefox(  
/config/appdaemon/apps/veolia-idf/veolia-idf-domoticz.py:410: DeprecationWarning: executable\_path has been deprecated, please pass in a Service object  
self.\_\_browser = webdriver.Chrome(

Je sèche… je peux t’envoyer le log complet si nécessaire mais rien d’anormal a priori.  
A noter que je suis sous Synology en VMM avec les dernières versions de tout.

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Mars 13, 2023, 11:27 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/94 "2023-03-13T11:27:47Z")

</div>

Je ne vois pas ce qui entraine la différence en mode débug.

Les warnings concernant les options sont effectivement pas critiques.

Toutefois, en évoluant veolia-idf vers [MetersToHA](https://github.com/mdeweerd/MetersToHA), j’ai modifié la façon de passer les paramètres. MetersToHA c’est à la base veolia-idf pour y ajouter GRDF.  
Je viens de voir que c’est là que j’ai ajouté la trace «&nbsp;chromedriver.log&nbsp;» - la configuration n’est pas présente dans veolia-idf.

Je propose de faire un essai avec MetersToHA.

Le fichier de configuration json peut être maintenu.

Voici ma configuration dans ‹&nbsp;apps.yaml&nbsp;› pour veolia-idf et MetersToHA (pour veolia):

```yaml
veolia_idf:
  module: veolia_idf
  class: VeoliaIDF
  # event_name: call_veolia
  # log: veolia
  # optional
  log_folder: /config
  # optional (Default: "config.json" in directory of `veolia-idf-domoticz.py`)
  config_file: /config/veolia-idf/config.json
  # optional (Default: "<REALMODULESCRIPTPATH>/veolia-idf-domoticz.py")
  # script: /config/veolia-idf/veolia-idf-domoticz.py
  # optional (Default: false) - add --keep_csv option
  keep_csv: true
  # optional (Default: false) - add --debug option
  # debug_veolia: true
  # DISPLAY: "192.168.1.1:0"
  # optional (Default: None) - Set file for stdout of script call
  outfile: /config/appdaemon/apps/test.log
  # optional (Default: None) - Set file for stderr of script call
  errfile: /config/appdaemon/apps/testerr.log

veolia:
  module: meters_to_ha_appdaemon
  class: MetersToHA
  event_name: call_veolia2
  extra_opts: [--screenshot,--veolia]
  # log: veolia
  # optional
  log_folder: /config
  # optional (Default: "config.json" in directory of `veolia-idf-domoticz.py`)
  config_file: /config/veolia-idf/config.json
  # optional (Default: "<REALMODULESCRIPTPATH>/veolia-idf-domoticz.py")
  # script: /config/veolia-idf/veolia-idf-domoticz.py
  # optional (Default: false) - add --keep_output option
  keep_output: true
  # optional (Default: false) - add --debug option
  #debug: true
  #DISPLAY: "10.33.2.69:0"
  # optional (Default: None) - Set file for stdout of script call
  outfile: /config/appdaemon/apps/testv2.log
  # optional (Default: None) - Set extra options for script call
  errfile: /config/appdaemon/apps/testv2err.log

```

J’attire l’attention sur ces deux lignes:

```yaml
  event_name: call_veolia2
  extra_opts: [--screenshot,--veolia]

```

La première c’est pour déclencher MetersToHA sur l’événement call\_veolia2 . Comme j’ai les deux configs en place, il faut éviter de lancer les 2 en même temps.

Puis «&nbsp;extra\_opts&nbsp;» comporte «&nbsp;–veolia&nbsp;» que seul les données veolia sont obtenus et non grdf. En principe l’absence de configuration GRDF fans le fichier JSON est suffisant - mais j’ai les deux configs, et je récupére GRDF et Veolia à des heures différentes.

Je ne peux pas garantir que cela fonctionnera mieux, mais au moins le passage des options est amélioré, et le fichier «&nbsp;chromedriver.log&nbsp;» devrait aussi faire son apparence.

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Mars 17, 2023, 8:47 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/95 "2023-03-17T08:47:03Z")

</div>

Bonjour le\_top,  
J’ai basculé en MetersToHA, mais exactement la même erreur. Aucun problème en mode DEBUG çà fonctionne mais en mode normal même erreur, avec ceci:  
Traceback (most recent call last):  
File «&nbsp;/config/appdaemon/apps/MetersToHA/meters\_to\_ha.py&nbsp;», line 2935, in doWork  
crawler.init()  
File «&nbsp;/config/appdaemon/apps/MetersToHA/meters\_to\_ha.py&nbsp;», line 489, in init  
raise Exception(«&nbsp;No browser could be started with selenium&nbsp;»)  
Exception: No browser could be started with selenium

ceci étant dans mon service.log j’ai ceci:  
2023-03-17 09:36:46,998 : WW : «&nbsp;geckodriver&nbsp;» not found in config file, using default value  
2023-03-17 09:36:46,998 : OK : «&nbsp;geckodriver&nbsp;» = «&nbsp;/config/appdaemon/apps/MetersToHA/geckodriver&nbsp;»  
2023-03-17 09:36:46,998 : WW : «&nbsp;firefox&nbsp;» not found in config file, using default value  
2023-03-17 09:36:46,998 : OK : «&nbsp;firefox&nbsp;» = «&nbsp;/config/appdaemon/apps/MetersToHA/firefox&nbsp;»  
2023-03-17 09:36:46,998 : WW : «&nbsp;chromium&nbsp;» not found in config file, using default value  
2023-03-17 09:36:46,998 : OK : «&nbsp;chromium&nbsp;» = «&nbsp;/usr/bin/chromium-browser&nbsp;»  
2023-03-17 09:36:46,998 : WW : «&nbsp;chromedriver&nbsp;» not found in config file, using default value  
2023-03-17 09:36:46,998 : OK : «&nbsp;chromedriver&nbsp;» = «&nbsp;/usr/bin/chromedriver&nbsp;»  
2023-03-17 09:36:46,998 : OK : «&nbsp;chrome\_version&nbsp;» = «&nbsp;None&nbsp;»

Sachant que j’utilise un PC qui se connecte à mon NAS Synology où homeassistant est installé en VM. Peut être faut il indiquer quelque part où le fichier firefox.exe sur mon PC se trouve?

Merci bcp!

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Mars 17, 2023, 9:11 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/96 "2023-03-17T09:11:53Z")

</div>

En rajoutant le chemin de firefox.exe, çà se connecte au site Veolia, mais le problème persiste pour le timeout:

Traceback (most recent call last):  
File «&nbsp;/config/appdaemon/apps/MetersToHA/meters\_to\_ha.py&nbsp;», line 2968, in doWork  
veolia\_idf\_file = crawler.get\_veolia\_idf\_file()  
File «&nbsp;/config/appdaemon/apps/MetersToHA/meters\_to\_ha.py&nbsp;», line 1367, in get\_veolia\_idf\_file  
raise RuntimeError(«&nbsp;File download timeout&nbsp;»)  
RuntimeError: File download timeout

During handling of the above exception, another exception occurred:

Traceback (most recent call last):  
File «&nbsp;/config/appdaemon/apps/MetersToHA/meters\_to\_ha.py&nbsp;», line 2979, in doWork  
veolia\_idf\_file = crawler.get\_veolia\_idf\_file()  
File «&nbsp;/config/appdaemon/apps/MetersToHA/meters\_to\_ha.py&nbsp;», line 1215, in get\_veolia\_idf\_file  
el\_password = self.\_\_wait.until(  
File «&nbsp;/usr/lib/python3.10/site-packages/selenium/webdriver/support/wait.py&nbsp;», line 95, in until  
raise TimeoutException(message, screen, stacktrace)  
selenium.common.exceptions.TimeoutException: Message: failed, page timeout (timeout=60)

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Mars 17, 2023, 10:48 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/97 "2023-03-17T10:48:58Z")

</div>

Sauf erreur, ta configuration est:

Synology NAS \< VM avec HAOS \< AddOn AppDaemon (donc docker) avec tous les packets tel qu’indiqué dans la documentation \< Configuration AppDaemon \< Lancement par déclenchement d’événement .

En mode débogue, le processus va tenter d’ouvrir l’interface graphique du navigateur sur serveur X «&nbsp;externe&nbsp;» et non sur un serveur X avec écran virtuel «&nbsp;interne&nbsp;» (c.a.d. au sein du conteneur de AppDaemon). Le navigateur tourne toujours dans la VM HAOS, mais le PC (avec un serveur X actif) sert d’affichage. Puis, il y a un peu plus d’information de débogue.

Aucun navigateur du PC n’intervient dans ce processus là dans cette configuration.

Sous AppDaemon c’est chromium qui est utilisé car en principe il y ni firefox ni geckodriver. Avec MetersToHA il devrait y avoir un fichier chromedriver.log qqpart - pas sûr qu’il va nous éclairer, mais c’est possible. Avec le chemin «&nbsp;firefox&nbsp;», le processus s’arrête au moment ou il attend le champs du mot de passe.

Il est vrai qua dans mon fichier config.json j’ai `"chromium": "/usr/bin/chromium-browser",`, Dans le principe cela ne devrait pas être nécessaire, mais suite à test cela semble tout de même le cas.  
Donc en attendant je suggère d’ajouter cette ligne et de mon côté je vais corriger la détection automatique du chemin pour chromium-browser.

Sinon, on est d’accord que le mode débogue qui fonctionne c’est toujours depuis AppDaemon, en ajoutant l’option --debug et en définissant le DISPLAY qui pointe vers l’IP du PC ou il y a un Serveur X qui tourne.

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Mars 17, 2023, 11:39 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/98 "2023-03-17T11:39:11Z")

</div>

merci le\_top. Ma configuration est bien celle indiquée.  
J’ai bien trouvé le fichier chromedriver.log. Très long, mais je remarque notamment:  
Au début:  
[1679051909.813][INFO]: Starting ChromeDriver 110.0.5481.177 (f34f7ab2d4ca4ad498ef42aeba4f4eb2c1392d63-refs/branch-heads/5481@{#1239}) on port 54655

[1679051909.814][INFO]: Please see [ChromeDriver - WebDriver for Chrome - Security Considerations](https://chromedriver.chromium.org/security-considerations) for suggestions on keeping ChromeDriver safe.

[1679051909.824][SEVERE]: bind() failed: Address not available (99)

[1679051909.824][INFO]: listen on IPv6 failed with error ERR\_ADDRESS\_INVALID

et après apparemment plusieurs tentatives de ce type:

[1679052092.754][INFO]: Waiting for pending navigations…  
[1679052092.754][INFO]: Done waiting for pending navigations. Status: ok  
[1679052092.759][INFO]: Waiting for pending navigations…  
[1679052092.760][INFO]: Done waiting for pending navigations. Status: ok  
[1679052092.760][INFO]: [383ff1044de5b58bf41c2373d07477e3] RESPONSE FindElements []  
[1679052093.262][INFO]: [383ff1044de5b58bf41c2373d07477e3] COMMAND FindElements {  
«&nbsp;using&nbsp;»: «&nbsp;css selector&nbsp;»,  
«&nbsp;value&nbsp;»: «&nbsp;input[type="password"]&nbsp;»

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Mars 17, 2023, 1:53 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/99 "2023-03-17T13:53:25Z")

</div>

Je partage ma trace par pastebin (login & mot de passe remplacé par x):

> **[pastebin - outil de debug collaboratif](http://pastebin.fr/123362)**
>
> pastebin - outil de debug collaboratif

Cela permets peut-être de trouver une différence importante.

Nos versions de chromedriver (et chromium) sont différentes (vous: 110.xxx, moi: 109.xxx)- ce qui peut être un élément impactant. Je peux essayer de mettre à jour de mon côté en reinitialisant AppDaemon. Vous pouvez aussi installer le paquet «&nbsp;undetected-chromedriver&nbsp;» (à ajouter aux paquets python à installer pour AppDaemon, dans sa config, dans la liste python\_packages). Cela a un effet dans MetersToHA.  
Cela peut entrainer la nécessiter d’ajouter l’option `--chrome-version` et son argument aux options de lancement dans la config apps.yaml (110 pour vous à priori - c’est la version principale de chromium):  
extra\_opts: [–screenshot,–veolia,–chrome-version,«&nbsp;110&nbsp;»] .  
(Je n’ai pas testé undetected-chromedriver sous AppDaemon, un des effets c’est que cela télécharge une version de chromdriver par lui-même sans utiliser celui installé).

L’erreur IPv6 je l’ai aussi car il n’y a pas de IPv6, mais il y a un port ouvert en IPV4.

Je vous suggère en priorité de comparer les traces chromedriver.log .

---

<div class="post-metadata">

**Author:** ![le\_top](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/l/34f0e0/32.png) [@le\_top](https://forum.hacf.fr/u/le_top)\
**Post date:** [Mars 17, 2023, 2:28 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/100 "2023-03-17T14:28:12Z")

</div>

J’ai pu reproduire le problème initial.

Le fichier est bien téléchargé, mais je pense qu’il n’est pas enregistré à cause de nouveaux contraintes de sécurité.

Du coup j’ai vu qu’il était disponible autrement et j’ai pu concevoir une solution.

Avant cela j’ai réglé plusieurs autres points sensibles au délais et j’ai ajouté qqs attentes supplémentaires, une détection si l’utilisateur est déjà identifié, … .

Du coup, il faut effective passer à MetersToHA car je ne l’ai pas porté à veolia-idf.  
([La partie du code qui règle le problème initial](https://github.com/mdeweerd/MetersToHA/blob/meters-to-ha/apps/meters_to_ha/meters_to_ha.py#L1424-L1453) est à recopier avec quelque modifs dans [le code veolia\_idf](https://github.com/mdeweerd/veolia-idf/blob/ha-app/apps/veolia_idf/veolia-idf-domoticz.py#L774-L776))

---

<div class="post-metadata">

**Author:** ![hautfr](https://forum.hacf.fr/user_avatar/forum.hacf.fr/hautfr/32/24974_2.png) [@hautfr](https://forum.hacf.fr/u/hautfr)\
**Post date:** [Mars 18, 2023, 1:18 UTC](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492/101 "2023-03-18T13:18:16Z")

</div>

Bravo le\_top, bonne nouvelle que tu aies pu reproduire le problème, maintenant tout fonctionne parfaitement!  
Je vais pouvoir maintenant tenter de mettre celà dans InfluxDB / Grafana.  
Merci encore pour la correction.

[Page précédente](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492.md?page=4)

[Page suivante](https://forum.hacf.fr/t/veolia-idf-sedif-suivi-consommation-eau-potable/11492.md?page=6)
