Skip to content

L'historique de votre consommation Veolia Ile de France dans Home Assistant

License

Notifications You must be signed in to change notification settings

mdeweerd/veolia-idf

 
 

Repository files navigation

⚠️
⚠️ Utilisez MetersToHA
⚠️
⚠️ Chromium a connu des évolutions qui on nécessité
⚠️ des évolutions qui n'ont pas été reproduits ici.
⚠️ MetersToHA est un fork de ce dépôt mais a été refactorisé
⚠️ et étendue.
⚠️

Veolia-IDF pour Home Assistant

Ce script automatise le transfert de l'information de consommation d'eau vers des systèmes domotiques tels que Home Assistant et Domoticz.

Ceci est la documentation spécifique pour Home Assistant avec AppDaemon et HACS.

Informations générales

Le dépôt mdeweerd/veolia-idf réorganise sOnik42/veolia-idf comme une application AppDaemon sous Home Assistant.

Pour faciliter l'installation avec HACS, les scripts sont placés dans le répertoire apps/veolia_idf auquel est ajouter veolia_idf.py qui assure l'intégration sous AppDaemon.

Ce script fonctionne exclusivement avec le site https://www.vedif.eau.veolia.fr valable pour Veolia en IDF. Vous pouvez trouver votre portail en fonction de la ville en visitant https://www.eau.veolia.fr/ 1 > CONNECTEZ-VOUS . .

Le fichier de configuration (config.json)

Dans tous les cas il faut un fichier de configuration. Pour Home Assistant, le point de départ peut être config.json.exemple.home-assistant que vous renommez en config.json (ou autre).

Exemple:

{
  "veolia_login": "MONLOGIN",
  "veolia_password": "MONPASSE",
  "veolia_contract": "MONCONTRAT",
  "ha_server": "https://MONINSTANCEHA",
  "ha_token": "MONTOKEN",
  "type": "ha",
  "timeout": "30"
}

La valeur pour "ha_token" peut être obtenu dans son profil Home Assistant. Cette fonctionnalité est disponible tout en bas de la page en question ou il faut cliquer "Créer un jeton":

Installation AppDaemon

  1. Ajouter le AddON/Module complémentaire « Home Assistant Community Add-on: AppDaemon » selon votre système, ou suivez ces instructions pour HAOS ou aller directement vers le lien (en remplaçant 'VOTREINSTANCE'): VOTREINSTANCE/hassio/addon/a0d7b954_appdaemon/info , puis « Install »
  2. Pour HAOS (et peut-être d’autres), configurer AppDaemon au moins avec ces paquets (configuration au format yaml pour HAOS):
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
  • Activer le Watchdog du AddOn, Démarrer le AddOn

Ajouter veolia-idf à l'AppDaemon avec HACS

Cette procédure suppose que HACS est déjà actif et configuré pour AppDaemon. Ainsi que AppDaemon soit activé.

  1. Ajouter GitHub - mdeweerd/veolia-idf: Charge l'historique de votre consommation Veolia Ile de France dans Domoticz 1 comme source de type AppDaemon:

Note : après l’ajout, le popup reste affiché. Le nouveau module est disponible à la fin de la liste:

  1. Ensuite « télécharger » ce dépôt avec HACS - chercher veolia_idf parmi les « AppDaemons » et cliquez Télécharger ou Download:

Les scripts sont ainsi disponibles pour AppDaemon.

Configuration

Reste encore la configuration de veolia_idf sous AppDaemon. Plus haut la création du fichier config.json a été expliquée. Vous devez le déposer sur votre instance Home Assistant, de préférence dans un sous-répertoire de .../config.

Dans l'exemple ci-dessous il est supposé que ce fichier config.json est disponible au chemin /config/veolia-idf/config.json.

Cette configuration indique aussi que la trace veolia.log sera déposé sous /config. Le fichier /config/veolia.log pourra aider à identifier des causes de dysfonctionnement.

Voici un exemple d'une configuration minimale à ajouter à /config/appdaemon/apps/apps.yaml:

veolia_idf:
  module: veolia_idf
  class: VeoliaIDF
  config_file: /config/config.json

L'exemple suivant montre l'ensemble des arguments disponibles, dont la précision du chemin vers le script veolia-idf-domoticz.py.

veolia_idf:
  module: veolia_idf
  class: VeoliaIDF
  # 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 - you should also set DISPLAY
  debug_veolia: true
  # optional (Default: None) - Set DISPLAY for GUI interface (when debug is true)
  DISPLAY: 192.1.0.52:0
  # optional (Default: None) - Set file for stdout of script call
  outfile: /config/appdaemon/apps/veolia_script.log
  # optional (Default: None) - Set file for stderr of script call
  errfile: /config/appdaemon/apps/veolia_script_err.log

L'option debug_veolia peut être intéressant lors de la mise en place en cas de diffucultés.

Débogue

Pour info, il y a une interface web spécifique à AppDaemon : http://votreinstance:5050 qui donne entre outre accès à qqs traces et l’historique des appels de scripts.

Sur la page [http://votreinstance:5050/aui/index.html#/logs\] on peut trouver par exemple des traces. Exemple avec une erreur:

2022-12-10 13:29:13.182428 ERROR veolia_idf: Done veolia
2022-12-10 13:29:13.157362 ERROR veolia_idf: NameError("name 'sys' is not defined")
2022-12-10 13:29:13.140371 ERROR veolia_idf: Start VEOLIA
2022-12-10 13:29:09.467062 INFO AppDaemon: Initializing app veolia_idf using class VeoliaIDF from module veolia_idf

Lancer l’appel à Veolia

L’appel est lancé en déclenchant l’événement call_veolia. Cela peut être fait dans une automatisation (ce qui permet de le lancer selon un planning par exemple), ou de façon interactive dans les outils de développement:

Une trace est systématiquement créé comme « veolia.log », soit à l’emplacement du script, soit dans le répertoire donné par log_folder: . Cela peut déjà aider à identifier les causes, ou tout simplement le bon déroulement du script.

Comme par exemple:

2022-06-01 18:31:55,541 : -- :  Parsing csv file
2022-06-01 18:31:55,813 : OK : update value for 2022-05-31
2022-06-01 18:31:56,014 : OK : Close Browser
2022-06-01 18:31:56,018 : OK : Close Display
2022-06-01 18:31:56,019 : -- : Remove downloaded file historique_jours_litres.csv Finished on success

Automatisation Home Assistant

Pour réaliser la tache de récupération une fois par jour, vous pouvez ajouter un automatisme à votre configuration Home Assistant comme ceci:

alias: Veolia
description: ''
trigger:
  - platform: time_pattern
    hours: '1'
    minutes: '7'
condition: []
action:
  - event: call_veolia
    event_data: {}
mode: single

Cela récupère la consommation à 1h07.

Il semblerait que les données restituées par Veolia sont des fois un peu "farfelus". La meilleure méthode connue pour éviter cela est de contournement c'est de réaliser l'appel à partir de 1h du matin seulement et avant minuit.

Mettez SVP une heure différente de 1h07 dans votre configuration afin de répartir les appels auprès de Veolia. Vous pouvez sûrement accepter de récupérer l'information un peu plus tard que cela vu qu'elle est de tout façon déjà décalé de qqs jours.

Voici un exemple d'une récupération pour une journée partielle:

Et voici un exemple de données "farfelus" (les 5400L de conso journalière sont inexactes).

About

L'historique de votre consommation Veolia Ile de France dans Home Assistant

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 95.8%
  • Batchfile 2.7%
  • Dockerfile 1.5%