RSS

Relevé de consommation d’eau (partie 2)

22 Oct

Suite et fin de l’article sur le relevé de la consommation d’eau (Partie 1)

Nous avons vu précédemment l’installation physique du compteur d’eau et maintenant nous allons voir la partie logicielle. Le compteur 1-Wire DS2423 n’est pas compatible d’origine avec le logiciel Domogik mais avec l’aide de l’équipe de Domogik : on peut faire de grandes choses. Ça n’a pas été simple mais plutôt enrichissant :

  • Je suis maintenant un peu plus familier avec le protocole XPL
  • Je suis retourné à la programmation en python que j’avais délaissé il y 10 ans (le temps passe !)

La difficulté a été de contourner le problème de Domogik avec le fait d’avoir plus de 12 paramètres (interval, enable, impulsion…) au niveau de la configuration du plugin 1-wire: ce serait une histoire de taille maximum du message Xpl (voir détails dans les commentaires):  ce problème est réglé dans la prochaine version en 0.2.0 ! De mon coté, j’ai juste supprimé la compatibilité du plugin avec la fonction thermomètre du ds2438 et j’utilise l’intervalle de mesure du DS18B20 pour prendre les valeurs du compteur DS2423. Cette explication n’est peut-être pas claire maintenant, mais vous comprendrez plus loin dans l’article (du moins, j’espère !)

1. Installation du plugin 1-wire modifié

Téléchargez l’archive (Tar) sur votre serveur Domogik: ici et vérifiez que vous avez aussi l’archive ou le répertoire des fichiers d’installation de Domogik 0.1.0 (sinon à télécharger ici)

Décompressez le fichier « domogik_onewireplugin-mod.tar »  avec la commande « tar xvf domogik_onewireplugin-mod.tar » (et décompressez aussi domogik-0.1.0.tgz si besoin).

Entrez dans le repertoire « domogik_onewireplugin-mod » (avec « cd domogik_onewireplugin-mod ») et lancez la commande : « ./install_OWplugmod <path_des_fichiers_d_install_domogik> » (exemple: « ./install_OWplugmod /home/user/domogik-0.1.0 » ). Si tout se passe bien, vous ne devriez pas avoir de message d’erreur.

Relancez l’installation de Domogik: dans le répertoire d’installation de Domogik, lancez « sudo ./install », vous pouvez garder le fichier « domogik.cfg » et bien sûr vos données dans la Database.

2. Configuration du plugin 1-wire modifié

La configuration du plugin 1-wire est effectuée en passant par l’interface Web (UI):

A. Activation du DS2423

Dans le menu Administration > Plugins > onewire, il suffit de cocher « Enable DS2423 » et de définir la valeur de l’impulsion (chez moi 1 impulsion = 0,25 L).

B. Stop du Plugin : pour vérifier le numéro de série dans Administration > Plugins > onewire, cliquez sur « Stop plugin » et utilisons le « onewire helper ».

Allez dans Administration > Tools > Helpers, tapez « onewire ds2423 u » et si tout se passe bien vous devrez voir ID du compteur ainsi que sa valeur. N’oubliez pas de réactiver le plugin 1-wire: dans le menu Administration > Plugins > onewire et cliquez sur « Start plugin ».

C. Création du « Device »

Dans Administration > Organization > Devices, cliquez sur le + (plus vert), entrez le « Name », l’ « Address », choisissez le « Feature » ici : « 1-Wire.Counter » et l' »Usage » ici « Water ». Validez « Yes ».

D. Création du Widget

Dans Administration > Organization > Widget, sélectionnez la piece de votre choix (je l’ai placé sur la maison), puis dans la fenêtre qui s’ouvre cliquez sur la « Device » dans la liste (sous « Water »), dans les colonnes juste à droite : choisissez « Counter » puis « Basic widget » (« Mini widget » n’a pas beaucoup d’intérêt) et glissez-déposez le « widget » à l’emplacement souhaité.

E. Graphique


Après quelques minutes (de récupération de données) vous devriez voir le graphique se dessiner. Et après un jour vous aurez une bonne idée de votre consommation d’eau.

3. Conclusion et modification à prévoir

Jusque là, je suis très content de ma solution, à ce jour je n’ai rencontré qu’un seul bug (ce plugin fonctionne depuis 1 mois maintenant) mais je n’ai pas trouvé la cause de ce dernier : probablement un bug du bus 1-wire. (un pique de consommation de plus de 65536 L en 1 minute :-o ).

Coté amélioration, je voudrais ajouter 2 widgets:  la « consommation globale de la dernière Heure » et « des dernières 24h »: si je trouve le moyen de le faire…

Je ne vous souhaite pas d’avoir de problème mais je suis disponible par ce blog au cas ou…

Update du 25/11/2011: Mise à jour du Plugin: workaround du Bug de pique de consommation

Update du 29/03/2014: Suite à réinstallation de mon serveur Domogik 0.1.0. et la librairie Python Onewire ayant le évolué : le plugin plantait: pour cause changement du nom de la variable « counters_A » en « counter_A » pour le DS2423.

 
5 Commentaires

Publié par le 22 octobre 2011 dans Hardware, Software

 

5 réponses à “Relevé de consommation d’eau (partie 2)

  1. Fritz

    23 octobre 2011 at 13:02

    « La difficulté a été de contourner le problème de Domogik avec le fait d’avoir plus de 12 paramètres (interval, enable, impulsion…) au niveau de la configuration du plugin 1-wire: ce serait une histoire de taille maximum du message Xpl: ce problème est réglé dans la prochaine version en 0.2.0 ! »

    En fait il s’agit bien d’une limitation du protocole xPL où le message est limité à 1500 octets. L’équipe xPL a proposé une solution à ce problème en ajoutant une fragmentation des messages : un message trop grand va être inclus dans plusieurs messages fragment.basic. L’implémentation de fragment.basic (et associés) n’est en effet pas faite en 0.1.0 mais est déjà incluse dans la version suivante ;)

    Il faudrait voir pour inclure ton ajout (mais sans le bidouillage qui ne sera plus nécessaire) nativement dans le plugin onewire.

    Bien joué en tout cas!

     
  2. madomotique

    23 octobre 2011 at 17:17

    Merci Fritz, pour la clarification !

     
  3. cyberdam

    7 mai 2013 at 12:30

    Bonjour

    J’ai le meme compteur d’eau et le GP1, le plugin fonctionne-til sur la version 0.2 de domogik ?

    Merci

     
  4. madomotique

    14 mai 2013 at 21:21

    Bonjour,
    Desolé, je n’ai pas encore fait la modification du plugin 1wire de la version 0.2 de domogik. J’ai prévu de migrer bientôt mais je dois apporter la compatibilité du DS2423 (Compteur d’impulsion) avant !
    Je ferais une Update quand ce sera fait !

     
  5. cyberdam

    21 mai 2013 at 17:12

    Bonjour

    ok, sur le GP1, est-il possible de récupérer l’historique des impulsions quand ce dernier n’a pas été connecté en 1Wire pendant 1an ?

    Merci

     

Commentaires...

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s