Mise en place d’un bilan énergétique mensuel par mail grâce à votre eedomus5 minute(s) de lecture

La tendance est clairement à l’économie d’énergie, il est vrai qu’il est important de connaître sa consommation d’énergie mais il est surtout important de pouvoir la maîtriser.

Pour cela je vous propose de mettre en oeuvre un bilan énergétique mensuel qui tombera dans vos mails le 1er de chaque mois avec des chiffres concrets qui permettrons d’illustrer votre consommation mais surtout de tenir un suivi pour améliorer ces pratiques et sensibiliser la famille.

Ce bilan sera réalisé par des scripts développés en php qui permettront d’extraire les données de vos capteur eedomus et les stockés de donnée MySQL. D’autres scripts se chargerons de manipuler ces donnés et vous les envoyer dans un joli mail récapitulatif.

Petit aperçu du rendu final:
extrait_mail

Et en version sur mobile:
extrait_mail_mobile

Pour mettre en place ce script vous aurez besoin d’un serveur web pour héberger les scripts et la base de donnée. Plusieurs solutions s’offrent à vous:
– un serveur web
– un NAS Synology
– un raspberry
– un androphone

Vous possédez une de ces 4 options? Alors suivez le guide !

I- Commençons par déclarer les bases de donnée et les tables MySQL
1) création de la base comptage

Ouvrir phpmyadmin et créer un base de donnée comptage dans l’onglet databases ou via l’onglet SQL avec le code suivant:

CREATE DATABASE `comptage`
CHARACTER SET utf8
COLLATE utf8_general_ci;

Toujours sur cette base, se rendre dans l’onglet SQL et exécuter le code suivant pour créer la table tempo:

CREATE TABLE IF NOT EXISTS `tempo` (
  `id` int(2) NOT NULL,
  `etat` varchar(5) NOT NULL,
  `time` datetime NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2) Création de la base historique
Ouvrir phpmyadmin et créer un base de donnée historique dans l’onglet databases ou via l’onglet SQL avec le code suivant:

CREATE DATABASE `historique`
CHARACTER SET utf8
COLLATE utf8_general_ci;

Toujours sur cette base, se rendre dans l’onglet SQL et exécuter le code suivant pour créer les table chauffage, electricite, et temperature

Création de la table chauffage:

CREATE TABLE IF NOT EXISTS `chauffage` (
  `date` date NOT NULL,
  `duree` time NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Création de la table electricite:

CREATE TABLE IF NOT EXISTS `electricite` (
  `date` date NOT NULL,
  `conso` decimal(5,2) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Création de la table temperature:

CREATE TABLE IF NOT EXISTS `temperature` (
  `date` date NOT NULL,
  `heure` time NOT NULL,
  `temp` decimal(5,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Nos bases sont à présent opérationnelles ainsi que les tables qui les composent.

passons donc à la suite

II- Configuration du fichier parametres.php
Le fichier paramètre permet de déclarer les différentes variables de votre environnement.

Ouvrir le fichier parametres.php et modifier les paramètres par les vôtres

Codes api:

api

remplacer les XXXX et YYYYYYYYYYYY par vos codes api

IP eedomus:

ip

remplacer xxx.xxx.xxx.xxx par l’ip de votre eedomus

Serveur MySQL:

sqlserver

reste à localhost si vos scripts sont sur le même serveur que la base, ce qui est généralement le cas. Sinon changer par l’ip ou le nom de votre serveur.

Login MySQL:

sqllog

root par défaut mais si vous avez déclaré un autre utilisateur remplacer root par votre user.

Password MySQL:

sqlpass

Remplacez votrepass par votre mot de passe, “” si pas de password.

Numéro api de l’actionneur du chauffage:

chauffage

remplacer xxxxx par le code api de votre périphérique

Numéro api du périphérique Température extérieure

temperature

remplacer xxxxx par le code api de votre périphérique

Numéro api du périphérique conversion en euros

electricute

remplacer xxxxx par le code api de votre périphérique

III- création de l’actionneur HTTP

Nous allons mettre en place un actionneur HTTP qui permettra d’appeler les scripts php qui réaliseront l’enregistrement dans la base de donnée.

Dans l’interface de l’eedomus, créer un nouveau périphérique actionneur HTTP et le nommer MySQL Action.

actionneur

création des valeurs de l’actionneur HTTP

valeur 0

sql_temp_on

valeur 1

sql_temp_off

valeur 2

sql_temp_elec

valeur 3

sql_temp

Votre actionneur HTTP est à présent opérationnel, prochaine étape, la création des règles.

IV- Création des règles eedomus

Nous allons à présent mettre en place les règles qui permettrons d’alimenter la base de donnée.

1) Les règles chauffage

Afin de compter le temps d’utilisation du chauffage il faut mettre en place 2 règles.

règle 1

regle1

règle 2

regle2

2) La règle update température

regle3

La température sera relevé dans la base MySQL toute des 30 minutes.

3) La règle update électricité

regle4

La consommation électrique de la journée sera enregistrée en base tout les soirs à 23h59.

V- Configuration de l’envoi du mail “bilan énergie”

Voila, le système est en place il reste à configurer l’envoi du mail, pour cela votre serveur web doit être configurer pour l’envoi de mail. (la configuration diffère en fonction de votre solution d’hébergement).
Si ce point est ok, poursuivons.

1) création d’un actionneur HTTP
dans votre eedomus créer un nouvel actionneur HTTP que vous nommez par exemple “PushMailEnergy” et affectez lui la valeur suivante:

push_mail

2) création d’une règle pour programmer l’envoi

regle4_2

VI- Bilan

Voila, votre bilan énergétique est a présent configurer, php et MySQL se chargent à présent de vous envoyer un rapport automatiquement tout les mois.

A vous à pensent d’utiliser ces donné a bon escient afin de contrôler votre consommation et sensibiliser la famille.

VII- Les sources

Vous pouvez télécharger la V1.0 du script sur ce lien

Et après?

Je travaille déjà sur d’autres fonctions/améliorations, pour suivre l’avancement et ou les news, je vous invite à consulter mon fil dédié sur le forum eedomus à cette adresse.
Enfin, merci à Hervé de m’avoir invité sur son blog pour rédiger cet article ; )

Aurel

—Mode Hervé On

Cet article est le premier article invité sur le blog! Je remercie Aurel pour la présentation détaillée de son travail et ses explications qui lui permettent à son tour d’apporter une réponse partagée à une interrogation personnelle. 😉 Merci!

—Mode Hervé OFF

9 Comments

  1. Galen said:

    Merci pour cet article très intéressant qui permet l’exploitation des données.

    une solution version google drive serait probablement aussi intéressante, permettant de s’affranchir du serveur d’hébergement

    27 novembre 2013
    Reply
  2. Avatar photo enr37 said:

    Bon le titre était alléchant. après l’avoir lu, il est très interressant, meme si le titre était finement marketé 😀

    perso, manque plus qu’un NAS, un androphone et QUE LES INDUSTRIELS FABRIQUENT UN GESTIONNAIRE DE POMPE A CHALEUR bor… 😉

    27 novembre 2013
    Reply
  3. Aurel said:


    Oui aussi mais je souhaité un script local qui n’ait pas besoin de sortir sur internet pour fonctionner. Et puis a ne pas oublié que les requêtes api depuis les serveurs eedomus sont limitées sur 24H. ici pas de limite si ce n’est la capacité de l’eedomus a les exécuter Et c’est également plus rapide puisque local.


    J’avoue, cela s’adresse un un publique plutôt averti, c’est une fonction que j’ai proposé comme évolution sur le forum. Peut être que notre box sera capable de le faire dans le futur…

    27 novembre 2013
    Reply
  4. Aurel said:

    @Galen
    Oui aussi mais je souhaité un script local qui n’ait pas besoin de sortir sur internet pour fonctionner. Et puis a ne pas oublié que les requêtes api depuis les serveurs eedomus sont limitées sur 24H. ici pas de limite si ce n’est la capacité de l’eedomus a les exécuter Et c’est également plus rapide puisque local.

    @enr37
    J’avoue, cela s’adresse un un publique plutôt averti, c’est une fonction que j’ai proposé comme évolution sur le forum. Peut être que notre box sera capable de le faire dans le futur…

    27 novembre 2013
    Reply
  5. […] La tendance est clairement à l’économie d’énergie, il est vrai qu’il est important de connaître sa consommation d’énergie mais il est surtout important de pouvoir la maîtriser.Pour cela je vous propose de mettre en oeuvre un bilan énergétique mensuel qui tombera dans vos mails le 1er de chaque mois avec des chiffres concrets qui permettrons d’illustrer votre consommation mais surtout de tenir un suivi pour améliorer ces pratiques et sensibiliser la famille.Ce bilan sera réalisé par des scripts développés en php qui permettront d’extraire les données de vos capteur eedomus et les stockés de donnée MySQL. D’autres scripts se chargerons de manipuler ces donnés et vous les envoyer dans un joli mail récapitulatif.  […]

    27 novembre 2013
    Reply
  6. […] La tendance est clairement à l'économie d'énergie, il est vrai qu’il est important de connaître sa consommation d’énergie mais il est surtout important de pouvoir la maîtriser.  […]

    27 novembre 2013
    Reply
  7. […] “La tendance est clairement à l’économie d’énergie, il est vrai qu’il est important de connaître sa consommation d’énergie mais il est surtout important de pouvoir la maîtriser.”  […]

    28 novembre 2013
    Reply
  8. danogena said:

    bonjour,

    j’ai installer Wamp
    j’ai créé les bases MySQL
    j’en suis a l’étape :
    II- Configuration du fichier parametres.php
    MAIS je ne trouve pas “parametres.php ” du coup je suis bloquer.

    merci de me dire si il à un autre nom ou si je doit trouver autre chose

    merci d’avance

    5 février 2015
    Reply
  9. Bernard DANRÉE said:

    Bonsoir
    J’ai téléchargé votre programme “Mise en place d’un bilan énergétique mensuel par mail grâce à votre eedomus ”
    Lorsque je veux importer “parametres” sur mon NAS avec le programme “phpMyAdmin” j’obtiens la réponse suivante que je n’arrive pas à régler : ” #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘<?php
    //Identifiants de l'API eeDomus
    $api_user = "Fvvmjt";
    $api_secret = "23' at line 1 "
    Pouvez vous me dire quelle est la modification à apporter pour résoudre ce problème sachant l'api_secret est composé de 16 caractères numériques et alphabétiques .
    Ou alors où puis je trouver le fichier "parametres.php" à ouvrir pour le modifier .
    merci pour votre réponse.
    Cordialement.

    8 décembre 2015
    Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Prouvez que vous êtes humain: * Time limit is exhausted. Please reload CAPTCHA.