mardi 15 septembre 2015

Consommation d'eau avec Domoticz

Voici comment mettre en place la récupération de sa consommation d'eau si votre fournisseur est la Lyonnaise des Eaux.
Cet article est très fortement inspiré du site http://domotique.web2diz.net/ et de son excellent article http://domotique.web2diz.net/?p=320

Pré-requis:


Etape 1

  • Récupération de l'ID permettant de se connecter au portail. Pour cela, utiliser le navigateur Chrome, connectez-vous au portail https://www.lyonnaise-des-eaux.fr/mon-compte-en-ligne/je-me-connecte
  • Activer la console de débug en appuyant sur la touche de fonction F12 (ou CTRL+MAJ+J)
  • Allez dans l'onglet Network et activez le filtre XHR:
  • Repérez ensuite une chaîne de caractère de la forme: 
    • 1234567890123?_=1234567890123, la partie à gauche du ? est votre identifiant.
Nous avons maintenant les éléments pour récupérer les informations en provenance de la Lyonnaise des Eaux. Passons maintenant à la configuration de Domoticz.

Etape 2

  1. On commence par créer un nouveau matériel de type Dummy
  2. Ensuite on crée capteur virtuel de type compteur
  3. Maintenant il faut ouvrir la liste des dispositifs (Réglages => Dispositifs). On constate qu'un nouveau dispositif est apparut. Noter bien son Idx, il sera nécessaire pour le script. On renomme le dispositif.
  4. Enfin, par défaut le compteur est de type compteur électrique, nous allons donc le déclarer de type Water.
  5. Dernière action dans Domoticz, il faut modifier les réglages associés au type compteur eau. En particulier, mettre le diviseur à 1 pour être cohérent avec les données reçus de la Lyonnaise, vous pouvez aussi renseigner le tarif pour que Domiticz fasse une évaluation tarifaire.

Etape 3

Passons au script. Celui-ci est écrit en BASH. Il nécessite les paquets suivant:
  • sqlite3
  • ksh
Il construit un fichier .dat qui contient les données récupérées du portail. Ce fichier est de type csv avec les champs suivant:
  1. Date sous la forme YYYY-MM-DD
  2. Date sous la forme UNIX epoch time
  3. Valeur en m3 (ex. 0.101 => 101 litres)
  4. Valeur du compteur (ex. 457.875 en m3)
Le plus simple est de créer un répertoire EAU à la racine du répertoire de l'utilisateur pi, et de copier le script à cet emplacement. 
Dernière étape, lancer le script automatiquement en utilisant crontab.

Au final vous devriez avoir ce genre de résultat: