Site icon Abavala !!!

Mise en place d’un bilan énergétique mensuel par mail grâce à votre eedomus

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:

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:

remplacer les XXXX et YYYYYYYYYYYY par vos codes api

IP eedomus:

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

Serveur MySQL:

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:

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

Password MySQL:

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

Numéro api de l’actionneur du chauffage:

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

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

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

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

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.

création des valeurs de l’actionneur HTTP

valeur 0

valeur 1

valeur 2

valeur 3

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

règle 2

2) La règle update température

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

3) La règle update électricité

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:

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

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

Quitter la version mobile