Affichage des articles dont le libellé est Google Apps. Afficher tous les articles
Affichage des articles dont le libellé est Google Apps. Afficher tous les articles

mardi 13 novembre 2012

Suivre sa consommation électrique avec Michamps-4B

  Je cherchais un moyen de stocker ma consommation électrique dans le "cloud", afin de suivre son évolution et d'avoir des statistiques. J'ai découvert, suite à un article de maison et domotique , le site Michamps-4B. C'est le seul site à ma connaissance qui permet de faire cela gratuitement et permet d'afficher des graphiques de suivi de consommation, mois par mois.
A la différence d'autres utilisateurs de domotique, je n'utilise pas de box , et j'utilise seulement des services en ligne et des solutions économiques. Pour envoyer mes données au site Michamps-4B , j'utilise le service de script de Google.
Comme on l'a vu dans un article précédent, je peux récupérer l'index de mon compteur via teleinfo grâce un Tydom 350 de Delta Dore (TotalHC et TotalHP).

Il suffit de rajouter la ligne suivante dans le script de Google :
 UrlFetchApp.fetch ("http://www.michamps4b.be/importdata.php?LOGIN=XXXXXX&PWD=YYYYYYY&from=XXXXX&typebox=tydom&CEN="+TotalHC+"&CEJ="+TotalHP);

Avec un déclencheur en fonction du temps (par exemple toutes les 3 heures), ce script va s’exécuter automatiquement et envoyer vos index au site MICHAMPS-4B

Vous obtiendrez ensuite ce genre de graphique :


Le site MICHAMPS-4B est très complet et permet d'autres statistiques (eau, photovoltaique..) et donne  également de nombreux conseils pour optimiser sa consommation.

lundi 14 mai 2012

Scripts Google APPS

Pour faire tourner vos scripts, vous pouvez utiliser votre propre serveur, mais vous pouvez aussi utiliser des serveurs extérieurs, comme les services de Google qui vous permettent d''exécuter vos scripts à intervalles réguliers.

Objectif : Récupérer toutes les 5 minutes l'index du compteur électrique lu sur le TDYOM 350, et le renvoyer à  ThingSpeak pour enregistrer les données.

  • Il faut déjà ouvrir une Feuille de calcul avec Google Documents (maintenant dans Google Drive)
  • Ensuite dans >Outils >Gestionnaire de Script , vous faites New..Vous pouvez maintenant écrire une fonction de ce type :
function EnvoiThingSpeak() {

   var rep = UrlFetchApp.fetch("http://api.thingspeak.com/apps/thinghttp/send_request?api_key=05...5F9");
  
  var TotalHP = rep.getContentText();
   
  UrlFetchApp.fetch("http://api.thingspeak.com/update?key=P5...LS&field1="+TotalHP);
   
}

Explication du code :
rep est la variable que l'on obtient avec ThingHTTP (il faut mettre api_key= correspondant à cette requête) lorsqu'on interroge le TYDOM 350 (voir un post précédent).
TotalHP est mis en forme texte.
La dernière ligne permet de renvoyer la valeur TotalHP sur le channel de ThingSpeak correspondant, que l'on a créé auparavant (il faut mettre key= valeur du channel sur lequel on veut envoyer la valeur).

Avec ces 3 lignes, on arrive donc à lire notre index électrique sur le TYDOM et à le renvoyer à ThingSpeak.
  • Il faut maintenant exécuter ce script régulièrement.
Pour cela, sur votre fonction, il faut aller sur >Ressources >Déclencheurs du script actuel, et choisir l'option Time-Driven , en mettant "toutes les 5 minutes" par exemple.
  • Après avoir accordé les autorisations à ce script, vous pouvez le lancer, et toutes les 5 minutes, ThingSpeak sera mis à jour.
En retournant sur le channel correspondant sur ThingSpeak, vous pouvez admirer le résultat, et voir le graphique correspondant :
Evolution de l'index du compteur électrique en fonction du temps.

Avec le Tydom 350, couplé à un Tywatt, on peut créer plusieurs channels (ou champs), pour voir l'évolution de la consommation en heures pleines ou creuses, la consommation du chauffage, du chauffe eau.

En développant ces scripts, on pourrait tracer la valeur par jour par exemple.

Il y a surement de nombreuses applications à ce système, qui permet de se passer d'un PC qui tourne 24/24, et qui simplifie les scripts pour ceux qui , comme moi, ne sont pas les champions de la programmation.