Veolia-idf SEDIF - suivi consommation eau potable

Comme d’hab, tu m’as montré le bon chemin, Mario. Si appDaemon fonctionnait bien, l’examen de son log m’a permis de voir que le fichier « config.json » n’existait plus! Il semblerait que la mise à jour de meterstoha ait « nettoyé » son répertoire! J’ai remis le fichier Config et tout est reparti!
Merci pour ta réactivité!

Effectivement, c’est qqchose à mentionner dans la documentation - AppDaemon nettoye les répertoires des applications lors de leur mise à jour.

Concernant https://192.168.1.28:8123/api/, plusieurs remaques:

  • Vous n’avez peut-être pas le SSL activé sur ce port;
  • Si le SSL est activé, le certificat ne vaut probablement pas pour l’adresse IP;
  • Cela dit, chromium se plaint de la version SSL;
  • L’option --insecure permet d’ignorer des erreurs de certificat. Je ne suis pas sûr que cela s’applique à une erreur de version, maison peu le tenter;
  • Si vous avez un certificat pour un nom de domaine, utilisez plutôt « https://NOMDEDOMAINE:8123/api/ » (le mieux étant aussi que votre DNS local fait pointer NOMDEDOMAINE directement sur 192.168.1.28, adresse à affecter statiquement (dans le serveur DHCP) à votre instance HA!

Un message a été scindé en un nouveau sujet : Script pour grdf (pas veolia)

Bonjour a tous

Je voudrais récupérer les informations de ma consommation d’eau en utilisant le site sedif Veolia ile de France

Je voulais savoir si la procédure est toujours là même et surtout si c’est fonctionnel.

J’utilise HAOS sur un nuc hp i5.
J’ai un compte sur Veolia/sedif idf

J’ai lu tous le post, mais je dois avouer que je m’y perd.

Pouvez vous m’indiquer ce que je dois installer ou quelle procédure je dois faire pour pouvoir faire mon suivi de consommation.

Merci a tous pour votre aide

Oui ça fonctionne avec le SEDIF/VEDIF.

Oui cela fonctionne - je comprends aussi que c’est un peu complexe.

J’ai commencé à développer cela comme add-on, mais il y a encore du travail.
Pour le moment j’ai « juste » un add-on qui installe les paquets et dans lequel j’ai un début de création du fichier de configuration json à partir de la configuration de l’add-on.
Ensuite il reset à comprendre comment l’addon pourra réagir sur un trigger, comment communiquer avec HA en évitant de spécifier l’url et le token… .

Enfin, en attendant, le plus simple c’est de passer par appdaemon ou en lancant « docker compose … ».

C’est malheureusement trop complexe pour mon niveau débutant :unamused:.
Je vais attendre soit un tuto qui soit plus détaillé et surtout plus adapté a mon niveau, soit un add-on ( un peu comme le add-on linky)

EDITE:
Le add-on est désormais installable en ajoutant https://github.com/mdeweerd/MetersToHA.git comme dépôt.

Il faut un peu de patience après ajout car la construction du add-on se fait actuellement localement.
J’ai testé la récupération de données Veolia.

Il y a encore des choses à finaliser, dont notament la documentation, la publication en bonne et du forme, la trace d’exécution de meters_to_ha.pl, etc.

La configuration réussi ressemble à ceci en yaml (on peut l’éditer en mode « graphique »):

veolia_login: mon@email.com
veolia_contract: 45646
veolia_password: mot de passe
veolia_event: call_veolia
logs_folder: /config
keep_output: true
local_config: false
skip_download: false
insecure: true
download_folder: /config
DISPLAY: ":0"
debug: false
trace: false
screenshot: true
log_level: info
timeout: "30"
type: ha

Dans home-assistant il faut ensuite déclencher l’événement défini (ici: call_veolia).

Après la synchro, On peut à priori visualiser qqs de ces fichiers sous « /config » :

chromedriver.log
check_profile.png
m2h_exec.log
historique_jours_litres.csv

Je continuerai la mise au point, toutefios un peu d’aide (doc, etc) est toujours bienvenu. Le plus dur est fait.

Le Add-on est désormais utilisable.

Avec la bonne configuration il télécharge les données de Veolia (et/ou GRDF), et ce sur événement généré depuis Home Assistant.
Les traces sont envoyés dans le répertoire de votre choix.

Pour déclencher un événement c’est comme pour tout événement et donc comme pour Appdaemon.
Voir l’exemple dans la documentation .

Ce qui manque c’est l’évolution de la documentation/La documentation spécifique de l’Add-on. Les paramètres de configuration sont toutes décrites en français dans la configuration du Add-on.
Le script de base meters_to_ha.pl n’a pas changé et la plupart des paramètres sont celles du fichier de configuration json et les paramères du script.
Sinon, l’installation peut prendre un peu de temps - la génération des images publiques pour le Add-on n’est pas encore fait, donc l’Add-on est créé en local.

En tous cas l’Add-on évitera la complexité de la configuration d’Appdaemon, et la création du fichier json au bon format.

1 « J'aime »

Merci pour ton travail :slight_smile:

je vais m’empresser de tester tout ca. Pour les datas en temps réel du gaz j’ai utilisé un bouton RF433, connecté à la prise TIC du gazera, qui a chaque tic simule l’action du bouton.
chaque action = 10litre de gaz.
Pour l’eau je n’ai pas trouvé de solution sur le compteur.

Bonjour a tous, de mon coté j’ai une erreur :
Error: failed to import python required module : No module named ‹ colorama ›, alors que celui ci est bien satifait, dans la file de discution une personne a rencontrée le meme problème et la résolut mais ne donne pas la solution :frowning: si quelqu’ un sais je suis preneur :slight_smile: merci

  • Quel était la méthode d’installation?
  • Est-ce bien la même installation python qui est appellé (c.a.d., l’installation qui a colorama installée).
  • Il faut savoir que le « conteneur ssh » s’apparente en pratique à une installation d’OS différente que le conteneur qui exécute Home Assistant en soi, ou encore le conteneur AppDaemon, etc. Donc si colorama est installé dans le « conteneur ssh » cela n’implique pas que c’est installé dans le conteneur « Appdaemon ».
    « Un conteneur » est en quelque sorte une machine « à part » sur votre machine et s’apparente à une machine virtuelle. Chaque conteneur a ainsi ses programmes dont les versions et configurations des programmes peuvent être différentes de cells des autres conteneurs, et en tous cas « isolés ».
    C’est vrai aussi pour l’installation en mode ‹ add-on › (module complémentaire) qui s’exécute aussi dans son conteneur. Mais dans ce cas, l’installation de colorama est forcé par le add-on et ne nécessite pas de configuration de l’utilisateur.
  • A condition de pouvoir exécuter l’installation python visé:
    • Il est possible de forcer l’utilisation d’une installation python ou une autre en appelant ‹ meters_to_ha.py › directement par l’installation python en question. Exemple: /chemin/vers/python3 ./apps/meters_to_ha/meters_to_ha.py -c ./config.json --run --veolia.
    • Il est possible de vérifier si colorma est installé avec
      /chemin/vers/python3 -m colorama, ce qui donne en cas d’installation :
      /chemin/vers/python3: No module named colorama.__main__; 'colorama' is a package and cannot be directly executed, au lieu de:
      /chemin/vers/python3: No module named colorama dans le cas contraire (l’erreur ci-dessus confirme la présence de colorama comme un module, mais l’absence de la fonction __main__ ce qui est attendu).

Merci pour ton explication LeTop, j’ai résolut cette partie, en effet c’est dans la conf de Appdeamon qu’il manquait les libs. j’ai maintenant un autre pb, voir ci dessous

je c’est une installation via les modules dans HA, quand je lance le call_véolia j’ai cette erreur

Ma conf apps

veolia_idf:
  module: meters_to_ha_appdaemon
  class: MetersToHA
  # optionnel - Par défaut "call_meters_to_ha".
  #     Permet de définir plusieurs lancements distincts, par exemple
  #     pour consulter Veolia à une certaine heure, et GRDF à une autre heure.
  event_name: call_veolia
  # optionnel - Par exemple --grdf     pour ne faire que la requête auprès de GRDF
  #                         --veolia   pour ne faire la requête qu'auprès de Veolia
  #                         --insecure pour accepter les certificats SSL non vérifiés
  #                                    (par exemple autosigné).
  extra_opts: [--veolia]
  # optionnel
  log_folder: /config
  # optionnel (Par défaut: "config.json" dans le répertoire de `meters_to_ha.py`)
  config_file: /config/meters_to_ha.json
  #config_file: /config/appdaemon/apps/veolia-idf/config.json
  #config_file: /config/veolia-idf/config.json
  # optionnel (Par défaut: "<REALMODULESCRIPTPATH>/meters_to_ha.py")
  #script: /config/appdaemon/apps/veolia-idf/veolia-idf-domoticz.py
  #script: /config/meters_to_ha/meters_to_ha.py
  #script: /config/meters_to_ha/meters_to_ha.py
  script: /config/appdaemon/apps/MetersToHA/meters_to_ha.py
  # optionnel (Par défaut: false) - add --keep-output option
  # conserver les csv
  keep_csv: true
  keep_output: false
  # optionnel (Par défaut: false) - add --debug option - nécessite DISPLAY & serveur X!!
  debug: True
  # optionnel (Par défaut: None) - Set DISPLAY for GUI interface (when debug is true)
  #DISPLAY: 192.1.0.52:0
  #DISPLAY: 192.168.0.25:0
  # optionnel (Par défaut: None) - Fichier pour la sortie STDOUT du script
  outfile: /config/appdaemon/apps/meters_to_ha_script.log
  # optionnel (Par défaut: None) - Fichier pour la sortie STDERR du script
  errfile: /config/appdaemon/apps/meters_to_ha_err.log

Très étrange car cela ne devrait pas arriver - le code en protège. Je me demande s’il n’y a pas qqchse de supprimé/commenté. Sinon, il y a peut-être une évolution de python, mais je penses que mon Appdaemon est à jour.

Il y a une ligne qui comporte « Found chromium binary » - c’est suivi par " with undetected driver" ?

J’ai apporté ces évolutions:

  • Affichage de la version python utilisée:
    J’ai: « /usr/bin/python3 Version 3.11.5 » (dans appdaemon)
  • Un contrôle supplémentaire par rapport à « undetected_chromedriver ».

Il convient donc de mettre à jour MetersToHa pour Appdaemon (via HACS).
C’est la bonne version s’il y a ce code à partir de la ligne 168:

    try:
        # Double check and logging because 'not defined' uc
        # was observed despite this protected import.
        import undetected_chromedriver as uc

        LOGGER.debug("Undetected ChromeDriver import ok")
        _uc_options_test = uc.ChromeOptions()
        LOGGER.debug("Undetected ChromeDriver Options ok")

        hasUndetectedDriver = True
    except ImportError:
        pass

c’est bon apparement, mais comment voir la version de mon python appdaemon ?

j’ai vu ca mais pas ça non ?

What’s changed
⬆️ Dependency updates

    ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v14.1.0 @renovate (#270)
    ⬆️ Update Python to v3.11.5-r0 @renovate (#273)


hasUndetectedDriver = False

try:
    # Only add packages that are not built-in here
    import requests
    import urllib3
    from colorama import Fore, Style
    from pyvirtualdisplay import Display, xauth

    try:
        # Double check and logging because 'not defined' uc
        # was observed despite this protected import.
        import undetected_chromedriver as uc

        LOGGER.debug("Undetected ChromeDriver import ok")
        _uc_options_test = uc.ChromeOptions()
        LOGGER.debug("Undetected ChromeDriver Options ok")

        hasUndetectedDriver = True
    except ImportError:
        pass

Finalement c’est bon , j’ai fait retélécharger dans HACS et redémarré appdaemon et ça marche :slight_smile: trop cool merci merci Le TOP DES TOPS

Super que cela fonctionne désormais!

Concernant la version de python, je l’ai ajouté à la trace d’exécution: « 2023-09-19 21:27:38,575 : OK : Using /usr/bin/python3 Version 3.11.5 » .

Hello,

Vous savez s’il est possible de faire un rattrapage des datas en cas de perte de donnée? surtout qu’elles sont disponible dans le fichier csv.
De façon plus large comment faire une injection des datas récupérées depuis le site vers homeassistant

Merci :slight_smile:

Il y a un projet qui pourrait être utile pour intégrer des données historiques: GitHub - ldotlopez/ha-historical-sensor: Historical sensors for Home Assistant .

Merci pour ton retour
L’as-tu essayé?histoire d’avoir un retour d’experience?