Veolia-idf SEDIF - suivi consommation eau potable

Bon avec toutes mes excuses pour vous avoir pris du temps.
C était bien le token qui déconnais… Mauvais copier/coller
Tt est ok maintenant.
Merci encore a tous les deux

Par contre maintenant j ai un message
Err name not resolved

Est ce normal?

Si je compte bien ce sont les moment ou le processus a tenté de se connecter au site espace-client.vedif.eau.veolia.fr et qu’il n’a pas su résoudre l’adresse.

Un ping depuis le shell de HA devrait donner qqchse comme ceci (si le nom est trouvé):

root@core-ssh.local.hass.io:~/config# ping espace-client.vedif.eau.veolia.fr
PING espace-client.vedif.eau.veolia.fr (85.222.142.10): 56 data bytes

bonsoir,

visiblement il y a encore un truc qui cloche.
voici mon log veolia lorsque je déclenche « call_veolia »:

2022-12-09 18:17:24,933 : WW : Check script version is up to date New version "Home Assistant support + Docker "(v2.0) available. Check : https://github.com/s0nik42/veolia-idf/releases/latest
2022-12-09 18:17:24,948 : OK : Loading configuration file : /config/config.json 
2022-12-09 18:17:24,965 : -- :  Start loading veolia configuration
2022-12-09 18:17:24,967 : OK : "veolia_login" = "xxxxxxxxxxxxxxxxx" 
2022-12-09 18:17:24,968 : OK : "veolia_password" = "********" 
2022-12-09 18:17:24,970 : OK : "veolia_contract" = "********" 
2022-12-09 18:17:24,972 : WW : "geckodriver" = "/config/appdaemon/apps/veolia-idf/geckodriver" param is not found in config file, using default value
2022-12-09 18:17:24,974 : WW : "firefox" = "/config/appdaemon/apps/veolia-idf/firefox" param is not found in config file, using default value
2022-12-09 18:17:24,975 : WW : "chromium" = "/usr/bin/chromium-browser" param is not found in config file, using default value
2022-12-09 18:17:24,976 : WW : "chromedriver" = "/usr/bin/chromedriver" param is not found in config file, using default value
2022-12-09 18:17:24,977 : OK : "timeout" = "30" 
2022-12-09 18:17:24,978 : WW : "download_folder" = "/config/appdaemon/apps/veolia-idf/" param is not found in config file, using default value
2022-12-09 18:17:24,979 : OK : "logs_folder" = "/config/appdaemon/apps/veolia-idf/" 
2022-12-09 18:17:24,979 : OK : End loading veolia configuration 
2022-12-09 18:17:24,981 : -- :  Start Loading Home Assistant configuration
2022-12-09 18:17:24,984 : OK : "ha_server" = "https://xxxxxxxxxxxxxxxxx.duckdns.org:8123" 
2022-12-09 18:17:24,985 : OK : "ha_token" = "***************************************************************************************************************************************************************************************" 
2022-12-09 18:17:24,986 : OK : "veolia_contract" = "*********" 
2022-12-09 18:17:24,987 : OK : "timeout" = "30" 
2022-12-09 18:17:24,988 : WW : "download_folder" = "/config/appdaemon/apps/veolia-idf/" param is not found in config file, using default value
2022-12-09 18:17:24,989 : OK : End loading Home Assistant configuration 
2022-12-09 18:17:24,990 : OK : Check download location integrity 
2022-12-09 18:17:24,992 : OK : Remove temporary download file 
2022-12-09 18:17:24,993 : OK : Check availability of "geckodriver"+"firefox" or "chromedriver"+"chromium" 
2022-12-09 18:17:25,316 : OK : Check Home Assistant connectivity 
2022-12-09 18:17:26,358 : OK : Start virtual display 
2022-12-09 18:17:26,583 : ~~ : Setup Firefox profile 
2022-12-09 18:17:26,920 : OK : Start virtual display (chromium) 
2022-12-09 18:19:33,947 : OK : Start the browser 
2022-12-09 18:20:12,000 : WW : Connexion au site Veolia Eau Ile de France Encountered errorMessage: unknown error: net::ERR_NAME_NOT_RESOLVED
  (Session info: headless chrome=102.0.5005.182)// -> Retrying once
2022-12-09 18:20:37,284 : EE : Connexion au site Veolia Eau Ile de France Message: unknown error: net::ERR_NAME_NOT_RESOLVED
  (Session info: headless chrome=102.0.5005.182)
2022-12-09 18:20:37,871 : OK : Close Browser 
2022-12-09 18:20:37,884 : OK : Close Display 
2022-12-09 18:20:37,885 : OK :  
2022-12-09 18:20:37,889 : EE :  Ended with error : // re-run the program with '--debug' option

merci

Penser à virer les infos perso des logs : mail et nom de domaine :wink:

merci beaucoup pour la modif :wink:
par contre ça solutionne pas mon pb :crazy_face:

Oui mais là, j’y peux rien :wink:
Le site Veolia IDF à l’air de fonctionner…

J’avais proposé de faire un ping plus haut:

Depuis un terminal il est possible de vérifier la configuration DNS, le redémarrer, définir les options, … .

ha dns -h
ha dns info
ha dns restart

Exemple pour l’info dans mon cas:

root@core-ssh.local.hass.io:~/config# ha dns info
fallback: true
host: 172.30.32.3
llmnr: true
locals:
- dns://10.33.2.254
mdns: true
servers:
- dns://10.33.2.254
- dns://80.80.80.80
- dns://80.80.81.81
update_available: false
version: 2022.04.1
version_latest: 2022.04.1

Ce qui me permets de confirmer qu’en priorité mon pare-feu fait office de DNS et ensuite d’autres DNS choisies.
(Note: graçe à une configuration de mon pare-feu capte tous les requêtes DNS, celui-ci capte tous les requêtes DNS peu importe l’IP).

Bonjour le_top,

j’ai fing un ping depuis le term voici ce que ca donne :

Capture d’écran du 2022-12-10 07-56-02

et voici ce que me donne ha dns info:

Capture d’écran du 2022-12-10 08-06-06

Apres j’avoue la je suis paumé! :sleepy:

@le_top on est obliger de faire cette étape?
car je n’ai pas la ligne « chromium » dans mon config.json
Merci

Non, pas du tout. D’une part, c’est en principe la même chose que sous AppDaemon, mais on lance le script en interactif.
D’autre part, quand chromium est dans un chemin attendu, il est détecté. L’option c’est pour les installations « atypiques ».

Si cela peut consoler, j’ai eu le même comportement lors de l’un de mes essais, mais au deuxième essai dans la même session c’est passé (deuxième ligne ci-dessus).

Il se passe donc qqchse avec la résolution du nom, ce qui est bien un problème lié au DNS.

Par rapport à l’exécution sous Terminal+SSH, on peut très bien donner les paquets dans la configuration du « AddOn ». Sinon, la mise à jour du AddOn fait perdre la présence des paquets.
Exemple de ma configuration (je n’y ai pas les paquets pour selenium, il faut ajoute la liste des paquets indiqué dans la doc. Par contre les modules python sont à installer à la main à chaque mise à jour de l’AddOn, à défaut d’utiliser ma technique.

J’ai profité de ce cas pour ajouter qqs options d’aide au débogue à veolia-idf, mais cela ne s’avère pas utile pour ce cas et principalement utile quand on développe.

Tu peux ajouter des packages additionnel dans la config de appdaemon, à chaque démarrage de l’addon, ils sont redéployés, y compris avec les mises à jours

Justement, sous AppDaemon on peut et c’est une des raisons pour lequels je suis sous AppDaemon.

Pour Terminal+SSH on ne peut pas donner des paquets PIP (c’est la limitation à laquelle je faisais référence), et pour PyScript on ne peut pas donner des Apk je crois.

Bonsoir @le_top,

bon je galère toujours…
voici ce que j’ai dans le log maintenant :

Citation2022-12-20 18:34:41,197 : Certificate did not match expected hostname: 192.168.1.91. Certificate: {‹ subject ›: (((‹ commonName ›, ‹ xxxxxxxxxxxxxxx.duckdns.org ),),), ‹ issuer ›: (((‹ countryName ›, ‹ US ›),), ((‹ organizationName ›, « Let’s Encrypt »),), ((‹ commonName ›, ‹ R3 ›),)), ‹ version ›: 3, ‹ serialNumber ›: ‹ 0337E50E2DCxxxxxxxxxxxxxxxx39E7 ›, ‹ notBefore ›: ‹ Nov 28 16:48:09 2022 GMT ›, ‹ notAfter ›: ‹ Feb 26 16:48:08 2023 GMT ›, ‹ subjectAltName ›: ((‹ DNS ›, .duckdns.org),), ‹ OCSP ›: (‹ http://r3.o.lencr.org ›,), ‹ caIssuers ›: (‹ http://r3.i.lencr.org/ ›,)}
2022-12-20 18:34:41,201 : EE : Check Home Assistant connectivity url=https://192.168.1.91:8123/api/ : HTTPSConnectionPool(host=‹ 192.168.1.91 ›, port=8123): Max retries exceeded with url: /api/ (Caused by SSLError(CertificateError(« hostname ‹ 192.168.1.91 › doesn’t match '
.duckdns.org › »)))

J’ai une erreur de SSL…

Merci a vous

Tout pareil dans ton dernier message

@Pulpy-Luke , il me semblait l avoir fait. :pray:

En partie oui mais il en restait :sweat_smile:

Le certificat SSL n’est pas valide quand l’URL est donnée pour une adresse IP.
« https://192.168.1.91:8123 » ne fonctionnera jamais avec le certificat SSL.
Donc il faut dans ce cas le domaine …duckdns.org .

Dans le cas présent, il n’y a pas de « http:// » disponible sur l’instance car le SSL est géré directement sur le port 8123 par l’intégration ‹ http › de home assistant. Sinon, il aurait été possible d’utiliser un url de type « http://192.168.1.91:PORT » .

Par défaut (le plus probable) est que le domaine …duckdns.org se résouds dans l’IP publique 62.XX.XX.13 . Ce qui implique normalement que pour accéder à « https://…duckdns.org » depuis l’instance Home Assistant, la requête va être présenté à la box qui va la renvoyer vers l’instance Home Assistant après application des ses règles NAT. Ce qui nécessite d’utiliser le port HTTPS public et non privé si le nat public renvoi le 443 public sur le 8123 interne.

On peut modifier la résolution de …duckdns.org en 192.168.1.91 en passant par un serveur DNS local - personnellement j’ai un parefeu OPNsense avec un serveur DNS.
Mais on peut aussi le faire en ajoutant l’AddOn Dnsmasq à Home Assistant OS (si c’est ce qu’on utilise).
Le plus simple serait de faire ce qui est décrit dans la doc à propos de l’ajout d’une entrée ‹ …duckdns.org › au hosts.

Je n’ai pas utilisé dnsmasq, et je ne sais pas si la configuration de Home Assistant est modifié automatiquement.

Sinon, il y a la commande « ha dns »:

Usage:
  ha dns [command]

Examples:

  ha dns logs
  ha dns info
  ha dns update

Pour info, voici mes résultats d’une vérification de la configuration dns et la résolution du nom « example.com » (à remplacer par …duckdns.org pour votre test):

root@core-ssh.local.hass.io:~/config# ha dns info
fallback: true
host: 172.30.32.3
llmnr: true
locals:
- dns://10.33.2.254
mdns: true
servers:
- dns://10.33.2.254
- dns://80.80.80.80
- dns://80.80.81.81
update_available: false
version: 2022.04.1
version_latest: 2022.04.1
root@core-ssh.local.hass.io:~/config# nslookup example.com
Server:         127.0.0.11
Address:        127.0.0.11#53

Non-authoritative answer:
Name:   example.com
Address: 93.184.216.34
Name:   example.com
Address: 2606:2800:220:1:248:1893:25c8:1946

Ce qui montre que le nslookup passe par 127.0.0.11 ce qui est une adresse locale à mon HAOS bien que les DNS configurés soient différents.
Et si la configuration dnsmasq est bonne, le nslookup ‹ …duckdns.org › devrait donnerl l’adresse 192.168… depuis home assistant.

Dernière chose: il faut que l’adresse interne attribué à home assistant soit fixe dans le serveur DHCP !

en modifiant l’ip par l’adresse dns je rencontre un nouveau message d’erreur dans le log:

Citation
EE : Start the browser Message: unknown error: DevToolsActivePort file doesn’t exist

je vais essayer d’installer dnsmask dans mon HA

J’ai trouvé deux références :

Ce qui veut dire que soit --disable-dev-shm-using aide ou la création d’un répertoire pour des crash aide ce que l’on pourrait voir avec --headless comme option.

Les options peuvent s’ajouter vers ces lignes:

https://github.com/mdeweerd/veolia-idf/blob/ha-app/apps/veolia_idf/veolia-idf-domoticz.py#L363-L371

Le script se trouve comme ceci:

root@core-ssh.local.hass.io:~/config/appdaemon/apps/veolia-idf# ls -lrt
total 60
-rw-r--r--    1 root     root          3131 Dec 14 20:56 veolia_idf.py
-rw-r--r--    1 root     root         52103 Dec 14 20:56 veolia-idf-domoticz.py