Récupération des informations de consommation d'eau sur portail fournisseur

Bon pour l’instant, je vais mettre le sujet en pause.
Je pense que j’ai complétement grillé mon compte avec mes tests :rofl:
J’enchaine les captchas à l’infini, y compris pour demander le reset de mon mot de passe …
Truc pas fun, le site est tellement mal fichu que les capchas audio sont même pas en français ! Et sauf à comprendre l’indien, l’arable ou l’anglais au milieu d’un concert de parasites, je mets au défi un utilisateur lambda ou encore pire un handicapé d’y arriver… C’est une honte !

Désolé de cette situation, c’est le site Véolia qui buggue ? dis-moi si je peux aider.
Rien ne presse de toutes façons…

Bonjour @Pulpy-Luke,

Pas de nouvelles sur ce sujet ? Notamment sur le dépôt HACS.

Merci d’avance

Hello,

il faut que je me replonge dans le code, j’ai trouvé 2 ou 3 astuces mais il faut que je mette ça en place
Avant de faire un dépôt HACS on fera un beta ici

Top :+1:

Disponible pour aider si besoin.

1 « J'aime »

Également prêt à aider…

Bonjour @Pulpy-Luke
Prêt à aider pour les tests, je suis dans le sud-est et mon compteur d’eau est connecté via Véolia.
Merci

Salut.
Je me le note. Par contre niveau timing je n’aurai pas l’occasion passer un peu de temps à avancer/corriger avant 2 ou 3 semaines.

Si c’est avant le 25 mai, je pourrai aider aux tests… après, black out pendant 2 mois :wink:
Suis d’autant plus intéressé que je viens de programmer l’arrosage auto pour cet été dans HA…
Bon courage !

Bonjour,

Dispo pour test aussi si besoin, véolia est passé me mettre un compteur avec télé-relevé, n’hésite pas @Pulpy-Luke !

Ok. J’ai pas mal d’autres trucs sur le feu pour l’instant, donc ça n’avance pas beaucoup

1 « J'aime »

Je suis pas pressé, je consomme pas beaucoup d’eau en ce moment vu qu’il pleut tout le temps en bretagne :smiley:

Bonjour à tous,

Est-ce que quelqu’un aurait avancé sur ce type de projet?
J’ai déjà regardé le plugin là: GitHub - tetienne/veolia-custom-component: Home Assistant custom component to retrieve information from Veolia
mais rien de nouveau depuis 2 ans et comme dit plus haut, il existe plusieurs layout chez chaque veolia régionaux.
Pour ma part, à la souris, on peut soit avoir un CSV, Excel, ou direct sur le site avec un beau tableau html tout simple sans offuscation de code.
Autant je peux faire un pandas.read_html() sur ledit tableau et faire un peu ce que je veux même avec mechanize pour entrer mon login password (bon ça reste pas évident, mais ça va), mais je me vois pas faire une intégration HA. Je saurais même pas par ou commencer.

Avant de sortir le bazzoka et faire de l’assembleur, il n’y aurait pas une sorte de meta-intégration en hacs qui par exemple ferait ceci:

  1. demande url ou mettre le couple login password
  2. navigue jusqu’à une url donnée une fois authentification faite
  3. prend le premier tableau venu, ou le premier CSV à disposition et le transforme en données utilisables

la plupart du temps c’est des données genre IoT avec une liste timestamp, valeur.
Franchement rares sont les sites ou utiliser selenium est indispensable

Je suis sur que ca couvrirait déjà 50% des besoins pour n’importe quel noob qui serait seul à utiliser un truc super particulier d’un fournisseur encore plus particulier, c’est pas beaucoup, mais c’est tj mieux que rien du tout

Quand je vois des projets de fous qui font encore mieux que les appli des plus grands noms (Samsung Xiaomi, etc), je suis un peu pantois de voir que le plus simple comme lire un csv n’est pas accessible au néophyte

QQ’un aurait une piste de travail concrète et simple?

Salut,

Je n’ai pas du tout avancé sur le sujet. Pas le temps de me poser tranquillement pour y réfléchir et plein d’autres trucs à gérer au quotidien…

Malgré tout, je t’invite à faire quelques tests pour comprendre par toi même que c’est pas aussi simple que 3 clics que tu fais à la souris pour récupérer un fichier CSV… Entre les évolutions du site d’un jour à l’autre sans prévenir (modification des liens, du noms des champs, modèles régionaux avec différentes versions…), des mécanismes qui visent volontairement à empêcher l’automatisation (pas d’api, token, captcha …) et la présentation des données qui n’est pas simple (les timestamps tout ça, ça n’existe dans ce cas précis), il y a de quoi passer quelques soirées bien occupées ! Et je mets volontairement tous les autres aspects lié à l’intégration dans HA.
Quant à l’application Veolia, c’est pareil : teste là… Elle n’apporte rien

Je ne sais pas trop comment je dois prendre ce message :shushing_face: mais tu te doutes bien que si c’était concret et simple ça serait déjà disponible. Je peux déjà t’affirmer qu’un bout de code en assembleur ne sera pas la solution.

Je pense que tu as compris l’inverse de ce que je voulais dire.
Et forcément je ne demandais à personne de travailler, clairement pas.
Relis bien stp pour pas rester sur une mauvaise interprétation, limite tu me fais culpabiliser

Par contre: HA c’est rédhibitoire pour faire des choses simples, de plus en plus de gens bidouillent en python, à part, en dehors de HA, et justement, dans le cas qui nous intéresse, y’a certains sites véolia qui sont plus simples (donc pas le tien, qui apparemment demande des captcha)

D’ou la fameuse question: si y’avait un truc fait par HA de « générique », qui prémâche les trucs les plus simples, plein de petits codeurs du dimanche comme moi pourraient p’être proposer des choses pour justement ceux qui ne savent pas coder du tout. Là on/je dis véolia, mais y’a plein d’autres trucs qui pourraient être intégrés facilement au delà de la domotique.

Pour être très clair, voir un code git hub d’une intégration pour HA je sais lire et je crois comprendre, mais quand je vois que le cœur de la méthode fais 5 lignes et que tout l’enrobage HA fait 1Mo de code, suis désolé, mais ça me donne pas la motivation de m’y mettre sur plusieurs soirées pour faire un truc one-shot.

J’aurais p"erte pas du écrire ici, t’as du comprendre que je demandais des comptes, mais c’était une question générique . Bref encore désolé si t’aurais pu croire à un truc négatif de ma part, ct tout le contraire.

Pas de souci, je ne prends pas les choses pour moi :wink: On a tous une expérience/un passif différent donc il y a forcement des moments ou c’est pas évident de se comprendre

Malgré tout, je pense quand même que tu ne doutes pas réellement de ce qu’il y a derrière HA. Ou alors c’est une question d’habitude. Il y a assez peu de choses rédhibitoires dans HA à mon avis.
C’est justement parce tout est prémâché (et que ça fait plusieurs Go) , tu n’as besoin que de faire que 5 lignes yaml pour que ça fonctionne sans aucun autre code pour remonter une valeur ou créer un affichage. Derrière tout ça il y a une grosse réflexion sur l’organisation, sur les besoins génériques, l’uniformatisation et sur la maintenabilité. Donc comme tout est prévu, le dernier codeur/bidouilleur à la vie belle. Certes, ça demande par contre un peu de relecture et d’analyse quand on veut proposer un truc qui rentre dans ce framework. Mais c’est pour ça aussi que ça fonctionne avec les solutions pro de Google, de Legrand, Tuya aussi bien qu’avec des machins codés au fond d’un lit d’étudiant… bref des trucs très hétéroclites, hétérogènes mais qui marchent à la fin.
Et quand il y a une mise à jour, c’est suffisamment robuste et bien pensé pour tu n’ai pas besoin de refaire tout depuis le début.
Ce principe de framework est couteux en terme de stockage et de ressources cpu/mémoire mais offre beaucoup de souplesse pour le reste. Et comme actuellement les machines sont largement dimensionnées pour traiter des pages web de plusieurs 100aines de KO, ça ne pose généralement pas de souci.
A la différence de l’assembleur que tu sembles connaitre où il y a beaucoup de réflexion sur le taille des objets manipulé, la complexité des algos et la vitesse d’exécution.

Dans le cas de Véolia, il y a mon avis une vraie volonté de ne pas rendre les choses simples. Je ne sais pas trop pourquoi mais c’est absolument pas fait pour que les choses à la fois accessibles, ou facilement exploitables ailleurs que sur leur(s) site(s). Je mets de coté volontairement les demandes au service client sur une documentation qui reste mystérieusement sans réponse.
La difficulté n’est absolument pas d’intégrer la donnée dans HA mais de la capter chez Veolia.

Depuis peu il y a une application android (Veolia et moi) qui semble être en mesure d’unifier un peu les choses mais c’est pareil. Pas de documentation publique et il faudra passer un peu de temps à faire du reverse engineering pour voir s’il n’y a pas une api derrière. C’est une piste à etudier, mais je ne me suis pas lancé là-dedans.

Bonjour,
Je suis développeur python et j’utilise HA depuis 5 ans maintenant.
Ce plugin m’intéresse, @Pulpy-Luke peux tu mettre un git de ce que tu as déjà fait et je vois si je peux t’aider à faire avancer ce plugin ?

Merci d’avance

2 « J'aime »

Bonjour,

Les nouvelles ne sont pas bonnes concernant mes tests.
Merci @Pulpy-Luke de m’avoir fourni l’accès à tes sources.

Je vais tenter de résumer les différents problèmes rencontrés.

Tout d’abord, le module en cours de développement s’appuie sur appdaemon, selenium et chromium.
Je n’ai pas hass en mode OS mais uniquement en conteneur sur un raspberry et cela pose déjà 2 gros points de blocages :

  • Appdaemon en dehors de hass, c’est pas un cadeau à faire fonctionner
  • selenium et chrome à l’intérieur d’ appdaemon n’existe pas pour un Raspberry pi 3 (y compris dans la version hass, si j’ai bien compris)

J’ai donc monté une machine virtuelle Home assistant sur mon PC, j’ai pu via Hass os ajouter appdaemon et ajouter selenium et chromium.

Maintenant, place au programme. J’ai fais tourner le programme mais il y avait quelques erreurs (@Pulpy-Luke , si tu veux je peux te filer mes fichiers modifiés ) mais le vrai problème c’est Veolia !!!

En effet, je ne sais pas si c’était le cas mais à présent il y a un friendly captcha au moment de se loguer.
Apparemment ce captcha est plutôt basique puisqu’il suffit de cliquer et de patienter, pour que la vérification se valide, en réalité la techno est plutôt aboutie car, dès qu’on lance un navigateur piloté (par selenium) que ce soit Chrome ou Firefox, le captcha le détecte et se bloque.

Cette piste me mène donc à un mur.

J’ai vu par contre qu’il y avait une application sur le play store : Veolia & moi.

Je l’ai téléchargé et on trouve bien des éléments de consommation à l’intérieur. Je me suis dit qu’il était probable que cette appli échange ce genre d’infos via des api, j’ai essayé de sniffer les trames mais je n’ai pas la compétence pour comprendre ce qui est réellement échangé.

J’arrête donc faute de compétence.

Salut et merci pour ce retour.

Globalement ça corrobore le diagnostique que j’avais déjà, la captcha c’est le b***
J’avais mis en place 2 bidouilles :

  • le changement du user-agent randomisé
  • une tempo variable pour attendre

Malgré tout, c’est pas suffisant/confluant et j’ai pas poursuivi.
Je suis preneur des correctifs sur github (via PR ?) c’est toujours un étape.

Concernant l’appli ‹ Veolia & moi › j’ai cru voir sur jeedom que l’appli a été décompilé et le code/l’api inclue réutilisée pour en faire un plugin (payant), donc c’est possible à faire mais ça demande de savoir quand même

Merci !!!
Tu me relances dans la course :smile:
Je vais tenter de récupérer de l’info depuis jeedom :partying_face: :disguised_face: