Actualités | Audio/Vidéo | Evènements | DIY | Domotique | Informatique | Maison | Mobile | Sécurité

Suivre sa consommation d'eau avec l'eedomus (et son API)

Envoyer Imprimer PDF
Note des utilisateurs: / 15
MauvaisTrès bien 

Je vous propose un article pour suivre la consommation d'eau de votre maison. Il y a quelques mois, j'avais écrit un article pour présenter la pose d'un compteur et l'utilisation d'une IPX800v3 pour compter les litres d'eau consommés. Aujourd'hui, je profite de la nouvelle classe php de Mickael pour vous montrer comment suivre l'évolution de vos consommations à l'aide de votre box eedomus.

Rappel de l'installation

J'utilise un compteur que j'ai acheté chez planete-domotique.com. J'ai pris un module qui compte les litres (1 impulsion = 1 litre). J'ai installé le compteur à l'entrée de ma maison afin qu'il compte la totalité des litres consommés par la maison. Sur le haut du compteur, il y a un capteur vendu avec le compteur. Ce capteur possède deux fils et se connecte sur une module qui sait compter les impulsions. Dans mon cas, j'utilise temporairement une carte IPX800v3 pour lire la consommation.

 

Suivi de consommation avec l'eedomus

Pour commencer, il faut lire régulièrement le compteur à impulsions de l'IPX800v3. Sur l'eedomus, il faut créer un périphérique "capteur HTTP", et entrer l'url de la carte IPX. Dans mon cas, le compteur d'eau est branché sur l'entrée count0. Dans la configuration ci-dessous, je vais lire la conso toutes les 15 minutes.

Vous pouvez aussi choisir le push de la carte IPX800 pour envoyer la consommation dès qu'il y a un changement. Dans mon cas, j'ai choisi de laisser la box eedomus maitre de ces communications. Mais les deux techniques fonctionnent.

Pour suivre ma consommation, j'ai aussi créé 3 périphériques de type "Etat à valeurs décimales". J'ai la Conso Horaire, la Conso Journalière et la Conso Hebdomadaire. Pour chaque compteur de consommation, j'ai besoin de prendre le relevé de la consommation au moment du dernier calcul. J'ai donc 3 autres périphériques de type "Etat à valeurs décimales" : Total Conso Eau H-1 (pour le relevé d'il y a une heure), Total Conso J-1 (pour le relevé de la veille), Total Conso Eau W-1 (pour le relevé de la semaine dernière).

Voici ce que ça donne une fois que la création est terminée :

Le périphérique le plus important est l'actionneur HTTP qui va appeler un programme php à chaque fois qu'il faut mettre à jour le calcul. Il faut dire que les règles standard de l'eedomus ne permettent pas de réaliser un tel calcul. Il faut donc utiliser l'API de l'eedomus pour externaliser le calcul à l'extérieur de la box, vers un serveur qui sait exécuter du php.

Celà tombe bien, car ce week end, Mickael a proposé une classe php qui permet de simplifier l'utilisation de l'API. Regardons donc ici comment utiliser cette classe php.

Tout d'abord, il faut créer l'actionneur HTTP.

Dans les valeurs, il faut créer une valeur pour chaque type de calcul : Une valeur pour le calcul horaire, une pour le calcul journalier et une pour le calcul hebdomadaire. Sur chaque valeur, il faut donner une url et des paramètres.

Dans mon cas, j'ai créé 3 urls que vous pouvez même réutiliser depuis chez vous :

- http://www.touteladomotique.com/services/cpteur-eau-horaire.php?api_user=xxx&api_secret=xxx&dcH=xxx&total=xxx&cH=xxx

- http://www.touteladomotique.com/services/cpteur-eau-journalier.php?api_user=xxx&api_secret=xxx&dcJ=xxx&total=xxx&cJ=xxx

- http://www.touteladomotique.com/services/cpteur-eau-hebdo.php?api_user=xxx&api_secret=xxx&dcW=xxx&total=xxx&cW=xxx

Il faut changer toutes les valeurs en gras par vos paramètres personnels. Tous ces paramètres sont accessibles dans la page de configuration de l'eedomus.

J'ai mis les fichiers php sur le site TLD, vous pouvez donc les utiliser. Mais si vous préférez les installer localement à votre réseau, sur votre NAS ou sur un PC, vous devez créer un ou plusieurs fichiers avec le code ci-dessous.

<?php
// ------------------------------------------- Cpteur-Eau-Horaire.php
include ("eedomus.cls.php");

$eedomus = new eeDomus;

$eedomus->autoLoginInfo();

$DernierConsoHeure     = $eedomus->getPeriphValue($_GET['dcH']);
$ConsoHoraire         = $eedomus->getPeriphValue($_GET['cH']);
$TotalConso            = $eedomus->getPeriphValue($_GET['total']);

if (!is_numeric($DernierConsoHeure)) {
$DernierConsoHeure = 0;
$eedomus->setPeriphValue($_GET['cH'], $DernierConsoHeure);
} else {
$eedomus->setPeriphValue($_GET['cH'], $TotalConso-$DernierConsoHeure);
}
$eedomus->setPeriphValue($_GET['dcH'], $TotalConso);

?>

Dans le progamme ci-dessus, on lit les périphériques et on calcule la consommation en faisant une différence entre l'ancien index et le nouvel index provenant du compteur d'eau. C'est une opération simple ! Ensuite, le script fait un SetPeriphValue pour affecter la nouvelle valeur au périphérique dans l'eedomus.

Si vous créez ces fichiers php chez vous, il ne faut pas oublier d'installer la classe de Mickael juste à coté, dans le même répertoire que vos scripts php. La classe est disponible ici : http://www.planete-domotique.com/blog/2012/09/22/une-classe-php-pour-sinterfacer-avec-lapi-eedomus/

Ensuite, il faut créer une règle eedomus pour lancer chacun des 3 types de calcul.

Tout d'abord le calcul horaire, il suffit de le programmer toutes les heures et de passer le périphérique HTTP sur Calcul Horaire. Notez sur cette page de configuration, qu'on peut interdire le redéclenchement immédiat de la règle. Celà évitera les appels successifs en cas de mauvaise programmation.

De même pour le calcul journalier, on paramètre cette nouvelle règle selon les mêmes principes.

Idem pour le calcul hebomadaire.

Ce qui est sympa avec cette évolution, c'est que chaque périphérique qui compte la consommation peut s'afficher sous forme de courbes qui résument les consommation de la journée. Sur l'exemple ci-dessous, on voit la consommation d'aujourd'hui, heure par heure.

En cliquant sur la loupe en haut à droite, on accède à l'historique des valeurs de consommation.

Une petite vidéo reprend le paramétrage de chacun des points.

 

L'application Eedomus Mobile

On peut également suivre sa consommation sur son application mobile eedomus. Tout est standard, il n'y a rien à programmer ou à configurer. Lorsque vos périphériques sont créés sur l'eedomus, vous pouvez les consulter sur votre smartphone.

Les périphériques :

La représentation graphique des consommations horaires :

Et l'historique des consommations heure par heure :

 

En conclusion

Grâce à cette nouvelle classe, c'est très facile d'intégrer de nouvelles fonctions sur votre eedomus : Consommation d'eau, consommation électrique, ... Merci à Mickael d'avoir penser à nous. Le compteur d'eau est ma première mise en oeuvre, mais je vais continuer à migrer mes autres capteurs sur l'eedomus : RFXPOWER, Compteur de boite aux lettres, ...

Un bémol quand même, lorsque vous appelez cette classe php, vous passez vos paramètres personnels de box. Il faut donc préférer installer ces scripts php chez vous pour éviter qu'on vous pirate vos périphériques. Il est important de souligner ce point. Si vous mettez la classe de Mickael sur votre NAS ou votre PC, il n'y a aucun risque car vous serez sur du code php. En revanche, ce n'est pas le cas si vous ne pouvez pas contrôler le code php.

Le top serait qu'eedomus nous prépare un moyen d'appeler des urls avec des valeurs de périphériques en paramètres, un peu comme d'autres box le proposent. Celà inciterait de nouveaux services internet pour nos box de domotique. Ces services permettraient à Monsieur tout le monde d'ajouter des fonctions avancées à leur domotique.

Quel type d'utilisation envisager vous de faire avec cette nouvelle classe php ?

 

Cet article vous est proposé par Domotics: Domotics habite dans la région Toulousaine. Il est ingénieur en informatique et électronicien amateur. La domotique est pour lui une passion qu'il pratique depuis 1999. En 2003, il décide de partager ses expériences sur le magazine et le forum de touteladomotique.com

 

Mise à jour le Lundi, 01 Octobre 2012 18:53  

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Recherche

Les Flux RSS de TLD
Instagram

Produits Partenaires

GCE Electronics est partenaire de Touteladomotique.com RFXCOM.com est partenaire de Touteladomotique.com



Liens Utiles

Boutiques Partenaires

Liens Utiles

Un don pour TLD ?

Pourquoi faire un don ?

Publicité

Espaces publicitaires à louer
Contactez-nous

Connexion