Graphiques plugin téléinfo avec Highcharts avec jauge

Tutoriels sur la Vera

Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede massilia » 14 Sep 2013, 11:03

Graphiques plugin téléinfo avec Highcharts avec jauge

Image

Phase 1 : Installer le plugin téléinfo développé par psykokwak (merci)
Disponible sur le strore de micasavde
http://apps.mios.com/plugin.php?id=2338
viewtopic.php?f=48&t=7704

Le module va enregistrer les informations intéressantes de la trame teleinfo pour pouvoir les utiliser dans notre système domotique et pour nos graphiques.

Phase 2 : MySQL sur un synology en local (mon installation) ou un site hébergé avec mysql et phpmyadmin.
Pour installer et gérer vos bases de données MySQL vous aurez besoin de PhpMyAdmin
Tutoriel sur cette page
http://www.synology.fr/support/tutorial ... _id=458#t1

Commençons par la base de données.
La base et la table MySQL doivent être crées manuellement. Pour faciliter leur création vous trouverez ici le script teleinfo.sql à lancer depuis phpMyAdmin.
Le fichier teleinfo.sql est dans le pack ci-dessous

La structure de la table teleinfo :
Code: Tout sélectionner
CREATE TABLE IF NOT EXISTS `teleinfo` (
`timestamp` BIGINT(10) NOT NULL DEFAULT '0',
`rec_date` DATE NOT NULL DEFAULT '0000-00-00',
`rec_time` TIME NOT NULL DEFAULT '00:00:00',
`adco` VARCHAR(12) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`optarif` VARCHAR(4) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`isousc` tinyint(2) NOT NULL DEFAULT '0',
`hchp` BIGINT(9) NOT NULL DEFAULT '0',
`hchc` BIGINT(9) NOT NULL DEFAULT '0',
`ptec` VARCHAR(2) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`inst1` tinyint(3) NOT NULL DEFAULT '0',
`inst2` tinyint(3) NOT NULL DEFAULT '0',
`inst3` tinyint(3) NOT NULL DEFAULT '0',
`imax1` tinyint(3) NOT NULL DEFAULT '0',
`imax2` tinyint(3) NOT NULL DEFAULT '0',
`imax3` tinyint(3) NOT NULL DEFAULT '0',
`pmax` INT(5) NOT NULL DEFAULT '0',
`papp` INT(5) NOT NULL DEFAULT '0',
`hhphc` VARCHAR(1) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`motdetat` VARCHAR(6) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`ppot` VARCHAR(2) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
`adir1` tinyint(3) NOT NULL DEFAULT '0',
`adir2` tinyint(3) NOT NULL DEFAULT '0',
`adir3` tinyint(3) NOT NULL DEFAULT '0',
UNIQUE KEY `timestamp` (`timestamp`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;



Et pour le chargement du flux de cette base MySQL, le code php suivant fait le nécessaire.
le script update.php est déclenché par une scène avec code Luup.

Une fois la table créée, il faut que la vera puisse insérer les élément dans le table.
Donc la vera appel le fichier update.php via une scène lancée toute les 5 minutes :
Le fichier update.php est adapté des codes de : http://jojoflyhigh.blogspot.fr/

Le fichier update.php est dans le pack ci-dessous


Phase 3 :Alimentation de la base SQL

Et enfin, j'ai créé une scène qui, à intervalle régulier.(5 minutes)
Récupère les infos du plugin téléinfo de psykokwak et va les envoyer dans la base SQL
Code Luup utilisé pour lancer à intervalle régulier l'alimentation de la base SQL (Toutes les 5 minutes)
local edf= 102 c'est ID de votre module téléinfo
local timestamp = os.time() Plus d'information sur le timestamp: http://www.timestamp.fr/

Code: Tout sélectionner
local edf= 102
local timestamp = os.time()

local hchp= luup.variable_get("urn:psykokwak-com:serviceId:TEdf1","IndexBase",edf)

local hchc= luup.variable_get("urn:psykokwak-com:serviceId:TEdf1","IndexOption",edf)

local inst1= luup.variable_get("urn:psykokwak-com:serviceId:TEdf1","IntensiteInstantanee",edf)

local ptec= luup.variable_get("urn:psykokwak-com:serviceId:TEdf1","PeriodeTarifRaw",edf)

local papp= luup.variable_get("urn:micasaverde-com:serviceId:EnergyMetering1","Watts",edf)


luup.log("Save EDF to my web site")
local lul_update = 'http://VOTRE-SERVEUR/teleinfo/update.php?TIMESTAMP=' .. timestamp .. '&HCHP=' .. hchp .. '&HCHC=' .. hchc .. '&INST1=' .. inst1 .. '&PTEC=' .. ptec .. '&PAPP=' .. papp .. ''
luup.inet.wget(lul_update,6, "" ,"")
return true



Vous trouverez ci-dessous, le package Graphique Conso Electrique Téléinfo EDF avec le code Highcharts (v3) du Blog de Anthony PENHARD sur lequel je me suis entièrement basé et le fichier update.php .
IMPORTANT
Un fichier « config.php » est adapter avec les informations de connexion à la base de donnée
Gestion de deux tarif différent soit « Heures Pleines/Heures Creuses » soit « Base » qui est donc paramétrable.
Un fichier « update.php » est adapter avec les informations de connexion à la base de donnée

Il faut éditer le fichier config.php et update.php et modifier les lignes suivantes en fonctions de votre configuration et de l’évolution des prix.
Config.php
Code: Tout sélectionner
// Connexion MySql et requète.
$serveur="localhost";
$login="LOGIN DE VOTREBASE";
$base="NOM DE VOTRE BASE";
$table="teleinfo";
$pass="MOT DE PASSE DE VOTREBASE";

// prix du kWh :
// prix TTC au 1/01/2012 :
$prixHP = 0.1312;
$prixHC = 0.0895;
// Abpnnement pour disjoncteur 45 A
$abo_annuel = 112.87;


update.php
Code: Tout sélectionner
// Connexion MySql et requète.
$serveur="localhost";
$login="LOGIN DE VOTREBASE";
$base="NOM DE VOTRE BASE";
$pass="MOT DE PASSE DE VOTREBASE";
$table="teleinfo";


Package Graphique Conso Electrique Plugin Téléinfo EDF Vera avec Highcharts
Mot de passe pour télécharger : massilia
http://dl.free.fr/vsOUJzjz9
Dernière édition par massilia le 14 Sep 2013, 23:44, édité 3 fois.
massilia
P'tit Guru de domotique
 
Messages: 59
Inscription: 10 Sep 2006, 13:42

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede massilia » 14 Sep 2013, 12:08

Un autre code graphique Highcharts

Image

Phase 1 : Installer le plugin Variable Container
Disponibe sur le strore de micasavde
http://apps.mios.com/plugin.php?id=1458

Allez dans l’onglet [APPLICATIONS] & [Installer des applications] de votre Vera, puis installez le plugin "Variable Container".

Créez le Virtual container (info ci-dessous) et notez l’ID (#203 pour moi), pour la scène de mise à jour.
Création du module Virtual container : Il faut aller dans [APPLICATIONS] & [Applications installées]&[Variable Container] et cliquer sur créer un autre

Le Virtual container va enregistrer les informations HCHP (KW) et HCHC (KW) via un code LUUP (code un peu plus bas dans le tutorial)

Dans Virtual container indiquer les Variable Name:
HCHP (KW)
HCHC (KW)

Image


Phase 2 : MySQL sur un synology en local (mon installation) ou un site hébergé avec mysql et phpmyadmin.
Pour installer et gérer vos bases de données MySQL vous aurez besoin de PhpMyAdmin
Tutoriel sur cette page
http://www.synology.fr/support/tutorial ... _id=458#t1

Commençons par la base de données.
La base et la table MySQL doivent être crées manuellement. Pour faciliter leur création vous trouverez ici le script teleinfo.sql à lancer depuis phpMyAdmin.
Le fichier teleinfo.sql est dans le pack ci-dessous

la structure de la table teleinfo :

Code: Tout sélectionner
CREATE TABLE IF NOT EXISTS `teleinfo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `temps` datetime DEFAULT NULL,
  `hchp` bigint(9) DEFAULT NULL,
  `hchc` bigint(9) DEFAULT NULL,
  `ptec` text CHARACTER SET latin1 COLLATE latin1_general_ci,
  `papp` int(5) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7317 ;



Et pour le chargement du flux de cette base MySQL, le code php du fichier update.php fait le nécessaire.
le script update.php est déclenché par une scene avec code lua.

Dans le package il y a :
Le premier fichier index.html contenant le code suivant :
<FRAMESET ROWS="500,500">
<FRAME SRC="index.php">
<FRAME SRC="index2.php">
</FRAMESET>

Le fichier index.php qui affichera les courbes de consommation instantannées mesurées
Le fichier index2.php qui affichera les graphes de consommation sur une journée, mois et le tarif associé

index.php et index2.php appel respectivement data.php et data2.php pour extraire le données de la base de donnée.
Le fichier update.php pour que la vera puisse insérer les élément dans le table.

Une fois la table créée, il faut que la vera puisse insérer les élément dans le table.
Donc la vera appel le fichier update.php via une scene (code luup) lancée toute les 5 minutes :
Le fichier update.php est adapté des codes de : http://jojoflyhigh.blogspot.fr/



Phase 3 : Afficher dans mon virtual container + Alimentation de la base SQL

Et enfin, j'ai créé une scène qui, à intervalle régulier.(5 minutes)
Récupére les infos du plugin téléinfo de psykokwak et va les envoyer dans la base SQL
Code luup utilisé pour lancer à intervalle régulier l'alimentation de la base SQL (Toutes les 5 minutes)
local edf= 102 c'est ID de votre module téléinfo
local idvcontainer = 203 c'est ID de votre module virtual contenair

Code: Tout sélectionner
local edf= 102
local idvcontainer = 203

local consowatts = luup.variable_get("urn:psykokwak-com:serviceId:TEdf1","IndexBase", edf)
luup.variable_set("urn:upnp-org:serviceId:VContainer1","Variable2",math.floor(consowatts/1000),idvcontainer)
local consowatts = luup.variable_get("urn:psykokwak-com:serviceId:TEdf1","IndexOption", edf)
luup.variable_set("urn:upnp-org:serviceId:VContainer1","Variable3",math.floor(consowatts/1000),idvcontainer)

local hchp= luup.variable_get("urn:upnp-org:serviceId:VContainer1","Variable2",idvcontainer)
local hchc= luup.variable_get("urn:upnp-org:serviceId:VContainer1","Variable3",idvcontainer)
local ptec = luup.variable_get("urn:psykokwak-com:serviceId:TEdf1","PeriodeTarifRaw",edf)
local papp = luup.variable_get("urn:micasaverde-com:serviceId:EnergyMetering1","Watts",edf)

luup.log("Save EDF to my web site")
local lul_update = 'http://VOTRESERVEUR/edf/update.php?HCHP=' .. hchp .. '&HCHC=' .. hchc .. '&PTEC=' .. ptec .. '&PAPP=' .. papp .. ''
luup.inet.wget(lul_update,6, "" ,"")
return true



Les fichiers sont adapté des codes de : http://jojoflyhigh.blogspot.fr/
Vous trouverez ci-dessous, le package Graphique Conso Electrique Téléinfo EDF avec Highcharts.
IMPORTANT

Les fichiers « update.php , data.php et data2.php» sont a adaptés avec les informations de connexion à la base de donnée

Il faut Ă©diter le fichier update.php, data.php, data2.php et index2.php modifier les lignes suivantes en fonctions de votre configuration.
update.php
Code: Tout sélectionner

// Connexion MySql et requète.
$serveur="localhost";
$login="LOGIN DE VOTREBASE";
$base="NOM DE VOTRE BASE";
$pass="MOT DE PASSE DE VOTREBASE";
$table="teleinfo";


data.php
Code: Tout sélectionner

$con = mysql_connect("localhost","LOGIN DE VOTREBASE","MOT DE PASSE DE VOTREBASE");

if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("NOM DE VOTRE BASE", $con);


data2.php
Code: Tout sélectionner

$con = mysql_connect("localhost","LOGIN DE VOTREBASE","MOT DE PASSE DE VOTREBASE");

if (!$con) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("NOM DE VOTRE BASE", $con);


index2.php pour la configuration des prix
Code: Tout sélectionner

// prix tarif HP/HC EDF
var prixHP = 0.1511;
var prixHC = 0.0932;
  // Abpnnement pour disjoncteur 45 A
var abonnement = 110.19;


Package Graphique Conso Electrique Plugin Téléinfo EDF Vera avec Highcharts
Mot de passe pour télécharger : massilia

http://dl.free.fr/hr4Rsbr1E
Dernière édition par massilia le 15 Sep 2013, 00:17, édité 2 fois.
massilia
P'tit Guru de domotique
 
Messages: 59
Inscription: 10 Sep 2006, 13:42

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede massilia » 14 Sep 2013, 19:29

Merci de me remonter vos remarques ou si vous avez des propositions d'amélioration concernant les codes php et luup ou les graphiques.
Exemple exporter une image en jpg pour my vera

:D
massilia
P'tit Guru de domotique
 
Messages: 59
Inscription: 10 Sep 2006, 13:42

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede nightfever » 16 Sep 2013, 21:40

Même si il y a certainement plusieurs façons matérielles de récupérer la télé info, il serait bien que tu ajoutes le materiel + paramétrages utilisés. Ça donnerait un howto. Perso, j'ai commandé un raspberrypi + micro clé wifi uniquement pour ça ;)
-- Armony one |freebox v6 |LightManager |intertechno | chacon | galaxy tab 8.9|SmartTv avec wifi --
-- Jeedom sur RPI 2 + clé 3G| Vera Lite (firmware UI5 v1.5.622)+ RFXtrx usb | 6 x Oregon THGR122NX | 1 x capteur ST814 |6 x tête thermostatique Danfos | Thermostat Z-wave programmable | 5 x fibaro FGD-211 | 1 x module AEO_MSEI | 1x FGS211 | 1 x multifonctions AEO_DSB05 | 1 x multifonctions BE_MOLITE | 2 x FGR211 --
-- NAS DS213 | openremote + myvera| teleinfo sur raspberry pi | IpCam Foscam FI9821W-V2 --
nightfever
Dieu de domotique
 
Messages: 394
Inscription: 15 DĂ©c 2012, 16:47
Localisation: Nord

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede massilia » 17 Sep 2013, 07:37

nightfever a écrit:Même si il y a certainement plusieurs façons matérielles de récupérer la télé info, il serait bien que tu ajoutes le materiel + paramétrages utilisés. Ça donnerait un howto. Perso, j'ai commandé un raspberrypi + micro clé wifi uniquement pour ça ;)


Je n'ai pas précisé mon matériel téléinfo, car le tutorial est destiné a quelqu'un qui fait tourner le plugin Plugin TeleInfo EDF de psykokwak sur ça vera.
Pour info j'ai un teleinfo de chez dauguet
massilia
P'tit Guru de domotique
 
Messages: 59
Inscription: 10 Sep 2006, 13:42

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede fred.pacc » 18 Sep 2013, 15:58

salut,

merci pour ces infos ,
moi j'ai le plugin teleinfo mais en version modifié pour l’abonnement tempo pense tu qu'il serait possible d’adapter les graphique a ce plugin?

merci pour ton aide

@++

fred
VERA3 (firmware 1.5.408 fr), 4xEZ-Motion, 3x HSM02, Karotz, IPX800v3, 2xKAKT-8300, 2x EVR_ST814, 4x CH54555, RFXCOM usb, X-880, 4xTHN132N, FOR_SSA2.
fred.pacc
Guru de domotique
 
Messages: 102
Inscription: 02 FĂ©v 2008, 20:59
Localisation: saint germain sur morin 77

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede Alex30 » 19 Sep 2013, 21:36

Salut, j'ai pas de teleinfo, mais juste un post pour saluer le taff et le partage...

Bravo !
Veralite + RFXtrx433 + CurrentCost EnviR
Z-wave : 6 X FGR-221 - 7 X FGD-211 - 1 X FGS-221 - 1 X FGBS-321 - 2 X FGRGBW-101 - 1 X WallPlug - 1 X Aeon-Labs 4in1 - Z-Stick-S2 - 1 Prise Everspring | Thermostat Horstmann HRT4-ZW + ASR-ZW .
Nas : Qnap Ts-269l | Logitech Harmony 900 | Foscam FI9802W
| Kira128 |
Alex30
P'tit Dieu de domotique
 
Messages: 161
Inscription: 26 DĂ©c 2010, 23:22

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede vosmont » 20 Sep 2013, 07:39

Hello massalia,

pour l'affichage et stockage de mes données, j'utilise Emoncms d'Open Energy Monitor installé sur un NAS (synology)
http://openenergymonitor.org/emon/emoncms

Tu dois avoir un sacré paquet de serveurs avec une consommation qui ne descend pas sous les 500W :D

ContrĂ´leurs: VeraLite UI5 / VeraEdge UI7 + Rfxcom Rfxtrx433 + enOcean / openLuup + edisio
Interface: ALTUI / ImperiHome / Sarah / Karotz
DĂ©tecteur ouverture : Vision Security ZD2102
DĂ©tecteur mouvement : Fibaro FGMS-001- Blyss - Chacon
Mesures : Oregon THGN132N / THGR122NX - Owl CM180
Prises / Eclairage : Everspring AN157-6 / AN158-6 / AD142-6 - Fibaro FGS-221 / FGD-211 / FGRGB-101
Sécurité : Foscam FI8918W - Onduleur - Fortrezz FOR_SSA1(sirène)
Divers: Proliant N54L + Xpenology + EmonCms
vosmont
Dieu de domotique
 
Messages: 615
Inscription: 24 AoĂ» 2012, 11:43
Localisation: Nantes

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede alcor » 20 Sep 2013, 21:32

Salut

C'est possible de mettre les liens Ă  jour ?? La ils sont dead :wink:

Merci
alcor
Guru de domotique
 
Messages: 101
Inscription: 06 Oct 2006, 19:54

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede champi87 » 04 Oct 2013, 15:24

Bonjour,

mĂŞme question que Alcor... Peux-tu faire une petite actualisation des liens stp ...?!!

Par avance merci
champi87
Membre Actif
 
Messages: 15
Inscription: 14 Juin 2012, 15:42

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede neoloop » 10 DĂ©c 2013, 21:56

Bonsoir.
Vous pouvez mettre a jour le lien SVP.
merci d'avance
Michael
Vera2 fr / 1.5.408 / capteur de présence 3 en 1 / capteurs d'ouverture de porte / Sonde Oregon / prise Chacon
neoloop
Membre Actif
 
Messages: 24
Inscription: 23 Jan 2010, 09:56
Localisation: corse

Re: Graphiques plugin téléinfo avec Highcharts avec jauge

Messagede nightfever » 10 DĂ©c 2013, 22:11

nous n'avons jamais eu de réponse.
je n'ai pas approffondi pour avoir le résultat highstock mais le premier graphe, je l'ai obtenu. Voir ici :wink:

En espérant t'avoir aidé...
-- Armony one |freebox v6 |LightManager |intertechno | chacon | galaxy tab 8.9|SmartTv avec wifi --
-- Jeedom sur RPI 2 + clé 3G| Vera Lite (firmware UI5 v1.5.622)+ RFXtrx usb | 6 x Oregon THGR122NX | 1 x capteur ST814 |6 x tête thermostatique Danfos | Thermostat Z-wave programmable | 5 x fibaro FGD-211 | 1 x module AEO_MSEI | 1x FGS211 | 1 x multifonctions AEO_DSB05 | 1 x multifonctions BE_MOLITE | 2 x FGR211 --
-- NAS DS213 | openremote + myvera| teleinfo sur raspberry pi | IpCam Foscam FI9821W-V2 --
nightfever
Dieu de domotique
 
Messages: 394
Inscription: 15 DĂ©c 2012, 16:47
Localisation: Nord

Suivante

Retourner vers Tutoriels

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique