Veolia-idf SEDIF - suivi consommation eau potable

bonjour @le_top ,

voici ce que j’ai dans le log d’appdaemon avec les options que tu m’as dit d’ajouter

et voici le log veolia il me dit « chrome not reachable » :

Citation
2022-12-22 08:27:07,013 : OK : « timeout » = « 30 »
2022-12-22 08:27:07,014 : WW : « download_folder » = « /config/appdaemon/apps/veolia-idf/ » param is not found in config file, using default value
2022-12-22 08:27:07,015 : OK : End loading Home Assistant configuration
2022-12-22 08:27:07,021 : OK : Check download location integrity
2022-12-22 08:27:07,022 : OK : Remove temporary download file
2022-12-22 08:27:07,023 : OK : Check availability of « geckodriver »+« firefox » or « chromedriver »+« chromium »
2022-12-22 08:27:07,816 : OK : Check Home Assistant connectivity
2022-12-22 08:27:08,789 : OK : Start virtual display
2022-12-22 08:27:09,052 : ~~ : Setup Firefox profile
2022-12-22 08:27:09,363 : OK : Start virtual display (chromium)
2022-12-22 08:28:19,839 : EE : Start the browser Message: chrome not reachable
2022-12-22 08:28:19,914 : OK : Close Browser
2022-12-22 08:28:19,953 : OK : Close Display
2022-12-22 08:28:19,954 : OK :
2022-12-22 08:28:19,956 : EE : Ended with error : // re-run the program with ‹ –debug › option

Merci

Ok, le --headless permettrait éventuellement de voir plus clair dans la cause du problème, mais visiblement rien n’apparaît dans la trace et cela empêche l’exécution normale (ce qui était en soi attendu, mais j’espérais un peu plus d’informations).

L’option --disable-dev-shm-usage (attention, j’ai fait une erreur de copie - c’est …usage et pas …using) ne devrait pas empêcher l’exécution.

Il reste une dernière approche - me laisser accéder à ton HA pour faire qqs essais en direct.

@le_top ,
J ai changé using par usage dans le script mais cela n a rien changé.
J ai créé un utilisateur admin pour toi. Il me reste juste à te donner les infos pour que tu puisses prendre la main :raised_hand:

Suite à l’accès à distance, je constate que le problème actuel est dans le DNS.

nslookup "user.duckdns.org" ne donnait pas de résultat.

nslookup "user.duckdns.org" 192.168.1.1 donne un résultat.
nslookup "user.duckdns.org" 8.8.8.8 donne un résultat.
nslookup, puis server comme command a donné « 127.0.0.11 » (de mémoire) - après j’ai voulu consulter les Modules complémentaires et je n’ai pu consulter et ensuite je n’ai plus pu accéder au Terminal (au bout j’obtiens Unable to load the panel source: /api/hassio/app/entrypoint.js).

Il y a donc (actuellement) un problème au niveau du DNS qui tourne sur 127.0.0.11 que je n’ai pu vérifier.

Avant cela j’ai enlevé --headless du script et laissé la partie concernant le shm, et j’ai modifié un peu la config pour laisser un peu plus de traces.

(Peut-être qu’il suffit de redémarrer, mais je ne veux pas perturber plus que cela).

Petite question lors de la mise en place du ssl et au lancement du chalenge, je me suis aperçu que je n’ avais pas rediriger le port 80 et visiblement il le demande mais je ne sais pas a quoi cela sert … J ai essayer de refaire le challenge http via let s encrypt mais ça ne marche plus… :disappointed_relieved:

Let’s encrypt contacte le service via HTTP pour valider que le process qui demande est bien accessible par le domaine.

Sinon, j’avais configuré le DNSMASQ pour ajouter le host en IP local, mais j’ai l’impression que le raspberry a un peu de mal à tout gérer et (re)démarrer dnsmasq Et désormais c’est supprimé je vois.

Je pense qu’il faut exposer le port 80 comme port 80 et maintenir la redirection du port 8123 en même temps.

Bonjour @le_top
mon problème est que ce fichier Veolia.log n’est jamais créé :frowning:
voici le journal de l’Appdaemon :
2022-12-31 20:52:31.205377 INFO AppDaemon: Initializing app veolia_idf using class VeoliaIDF from module veolia_idf
2022-12-31 20:52:53.108992 INFO veolia_idf: Start VEOLIA-IDF
2022-12-31 20:52:53.112667 INFO veolia_idf: Execute [‹ python3 ›, ‹ /config/veolia-idf/veolia-idf-domoticz.py ›, ‹ -r ›, ‹ -c ›, ‹ /config/veolia-idf/config.json ›, ‹ -l ›, ‹ /config ›, ‹ –keep_csv ›, ‹ –debug ›]

Par défaut le fichier veolia.log se trouve dans /config/appdaemon/apps/veolia-idf .
L’option ‹ log_folder › dans la configuration donné à AppDaemon permet de le placer ailleurs, dans mon cas je le place sous /config - voici ma config:

veolia_idf:
  module: veolia_idf
  class: VeoliaIDF
  # 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

Merci pour ton retour
j’ai finalement trouver mon problème et si ca peut servir à d’autres : j’étais en mode debug…
c’est en relisant la doc que je me suis rendu compte de mon erreur!
Bonne année et surtout une très bonne santé à toi et tes proches.

Hello,

Désolé de t’embêter. Maintenant que le script fonctionne et qu’il me récupère bien le csv je n’ai qu’une valeur pour la veille qui remonte dans le sensor [sensor.veolia_NUMCONTRAT_period_total] :frowning: ai-je raté quelque chose? car j’ai vu dans ton graphique tu avais d’autres jours issus aussi du fichier csv.
Merci de ton aide

Malheureusement HA ne permets pas d’ajouter une historique de valeurs, seulement une valeur courante.
Donc demain il y a aura 2 jours, puis 3 et ainsi de suite.

Parfois la dernière valeur n’est qu’une estimation - dans ce cas elle n’est pas prise en compte (sinon cela mène à des consommations négatives ce qui est embêtant pour un compteur qui n’est sensé qu’augmenter).

Il y a même un Feature request avec seulement 180 votes actuellement.

OK merci pour ton retour
Du coup il est peut être possible de les intégrer manuellement ou meme ca c’est impossible?

Il faut faire des requêtes SQL.
home-assistant-import est fait pour importer des données de Domotics qui peut être source d’inspiration, discussion sur le forum en anglais.

merci à toi t’es au top :wink:
j’essayerai de faire comme ca
bonne soirée

Bonjour,
J’aimerais beaucoup faire fonctionner ce systeme mais je ne m’en sort pas. Je suis sous HA en VM Synology. Ci-après le log en DEBUG. Toute aide serait bienvenue svp.
Merci bcp.

DEBUG MODE ACTIVATED [e[33mWWe[0m] only use ‹ –debug › for troubleshooting
Check script version is up to date [e[33mWWe[0m] New version "Home Assistant support + Docker "(v2.0) available. Check : Release Home Assistant support + Docker · s0nik42/veolia-idf · GitHub
Loading configuration file : /config/appdaemon/apps/veolia-idf/config.json [e[32mOKe[0m]
Start loading veolia configuration [–]
« veolia_login » = « xxxxxxxx@gmail.com » [e[32mOKe[0m]
« veolia_password » = "" [e[32mOKe[0m]
« veolia_contract » = « xxxx » [e[32mOKe[0m]
« geckodriver » = « /config/geckodriver » [e[33mWWe[0m] param is not found in config file, using default value
« firefox » = « /config/firefox » [e[33mWWe[0m] param is not found in config file, using default value
« chromium » = « /usr/bin/chromium-browser » [e[33mWWe[0m] param is not found in config file, using default value
« chromedriver » = « /usr/bin/chromedriver » [e[33mWWe[0m] param is not found in config file, using default value
« timeout » = « 30 » [e[32mOKe[0m]
« download_folder » = « /config/ » [e[33mWWe[0m] param is not found in config file, using default value
« logs_folder » = « /config/ » [e[32mOKe[0m]
End loading veolia configuration [e[32mOKe[0m]
Start Loading Home Assistant configuration [–]
« ha_server » = « https://xxxxxxx.duckdns.org:8123 » [e[32mOKe[0m]
« ha_token » = "
***************************************************************************************************************************************************************************"[e[32mOKe[0m]
« veolia_contract » = « xxxxxxx » [e[32mOKe[0m]
« timeout » = « 30 » [e[32mOKe[0m]
« download_folder » = « /config/ » [e[33mWWe[0m] param is not found in config file, using default value
End loading Home Assistant configuration [e[32mOKe[0m]
Check download location integrity [e[32mOKe[0m]
Remove temporary download file [e[32mOKe[0m]
Check availability of « geckodriver »+« firefox » or « chromedriver »+« chromium » [e[32mOKe[0m]
[
–e[0m] Check Home Assistant connectivity [e[31mEEe[0m] url=https://xxxxxxxx.duckdns.org:8123/api/ : HTTPSConnectionPool(host=‹ xxxxxx.duckdns.org ›, port=8123): Max retries exceeded with url: /api/ (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f61a98f20b0>, ‹ Connection to xxxxxx.duckdns.org timed out. (connect timeout=None) ›))

Close Browser [e[32mOKe[0m]
Close Display [e[32mOKe[0m]
Ended with error [e[31mEEe[0m]

La connections vers https://xxxxxxxx.duckdns.org:8123/api/ depuis l’environnement ou le script est exécuté ne marche pas.

Je ne connais pas la configuration « réseau » de vos instances.

  • Est-ce que la résolution de nom fonctionne (vérification de l’IP serrière le domaine dans l’environnement).
  • Depuis l’environnement, faut-il connecter en https ou en http?
  • Est-ce le bon port?

Parfois (voir souvent) l’URL d’accès externe n’est pas le même que l’URL d’accès « interne ».

Merci le_top. Mon instance interne est https://homeassistant.local:8123 et celà fonctionne bien.
la connexion à home assistant via https://xxxxxxxx.duckdns.org fonctionne aussi très bien (sans mettre le ‹ :8123 ›) de la maison ou de l’extérieur.
Pour le port, je ne suis pas expert je dois avouer…

@hautfr Super, c’est à peu près ce que je supposais.

Je propose souvent d’imaginer le port comme une porte d’accès à une habitation à une adresse qui est l’adresse postale.
Un immeuble d’appartements a beaucoup de ports, mais une seule adresse postale qui est un peu l’IP dans notre affaire.
Le DNS c’est un peu comme le carnet d’adresses dans lequel on cherche le nom de quelqu’un pour trouver son adresse.

La difficulté ici c’est que home-assistant.local est résolu à l’adresse interne, et la requête tape directement l’instance Home Assistant.
Et xxxxxxxx.duckdns.org est résolu à l’adresse publique, soit celle de la box, qui elle « traduit » le port publique en adresse et port interne (le « NATting »).

D’accord Le_top, une fois qu’on a dit çà, comment résoudre mon problème svp? dois je faire une « redirection de port » sur ma livebox? ou autre? merci bcp