FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
Téléinfo - Linux & PHP
Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7, 8, 9  Suivante
 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> Programmation > Logiciels Libres > HEYU, MisterHouse, etc
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
olivier49
Membre un peu timide !


Inscrit le: 08 Jan 2009
Messages: 9

MessagePosté le: 08 Avr 2009 19:38    Sujet du message: Répondre en citant

titi_oft a écrit:
Vu ta demande, je pense que tu ne vas pas avoir de solution plug&play. Il va falloir mettre un peu son nez dans le code. Je fais exactement ce que tu veux faire avec un script Perl qui parse et log les trames téléinfo, une tache cron qui se déclenche toutes les 5 minutes et qui loggue dans une base sqlite.

Je suis parti du sites web suivant:
http://vesta.homelinux.net/mediawiki/index.php/Demodulateur_teleinformation_EDF

Qui est super bien fait.

-titi_oft


Merci pour ta réponse

Je suis conscient qu’il va falloir mettre le nez dans le code.
En ce qui concerne le lien que tu indique, j’ai bien essayé de comprendre comment je pouvais l’adapter à mon montage mais sans trop de succès.

J’ai bien trouvé les informations suivantes http://vesta.homelinux.net/mediawiki/index.php/Teleinfomysql_ezl.c sans pour autant savoir où et comment le mettre en place

Si un script PERL (que je ne connais pas) me permet de faire ce que je souhaite, je suis effectivement preneur.

Peux-tu m’en dire plus ?

OLIVIER49
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
titi_oft
P'tit Guru de domotique


Inscrit le: 29 Mar 2008
Messages: 62
Localisation: Montpellier, 34 - France

MessagePosté le: 17 Avr 2009 8:46    Sujet du message: Répondre en citant

Malheureusement il n'y a pas de solution simple pour le moment. on a tous plus au moins développé nos propres script....

En général cela se décompose en 2 voir trois script différents:

- 1 script qui lit en permanence le port serie ou est branché le circuit Téléinfo et qui le loggue quelque part (fichier à plat ou base SQL)
- 1 script qui est déclenché par une requete http d'un site web et qui permet de faire des courbes des valeurs enregistrées

sur le site homelinux tout trouvera tout cela. Si tu veux pas t'embetter trop prend la solution a base de RRDtool pour logguer tes valeurs.

http://vesta.homelinux.net/mediawiki/index.php/Demodulateur_teleinformation_EDF#Exemple_de_programme_sous_Linux

Tu es au bonne endroit les programmes sont en C il te faut les compiler. Sinon tu peux prendre des scripts en php qui sont au début de ce sujet.

-titi_oft
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
domos
Guru de domotique


Inscrit le: 14 Nov 2006
Messages: 130
Localisation: Iles de France

MessagePosté le: 20 Avr 2009 19:23    Sujet du message: Répondre en citant

olivier49 a écrit:
Merci pour ta réponse

Je suis conscient qu’il va falloir mettre le nez dans le code.
En ce qui concerne le lien que tu indique, j’ai bien essayé de comprendre comment je pouvais l’adapter à mon montage mais sans trop de succès.

J’ai bien trouvé les informations suivantes http://vesta.homelinux.net/mediawiki/index.php/Teleinfomysql_ezl.c sans pour autant savoir où et comment le mettre en place

Si un script PERL (que je ne connais pas) me permet de faire ce que je souhaite, je suis effectivement preneur.

Peux-tu m’en dire plus ?

OLIVIER49


Bonjour,
Je suis à l'origine du programme Teleinfomysql_ezl.c.
(nouveau lien: http://vesta.homelinux.net/mediawiki/index.php/Teleinfosocket_mysql.c)
Cela devrai faire l'affaire pour fonctionner avec ton interface TCP/Série.
Je l'ai fait tourner un certain temps avec l'interface ezl-60.

Il faudra adapter les paramètres en fonction de ta base de données ainsi que des trames téléinfo. (mon programme fonctionne pour des trames en triphasé).

Sous Linux, Il suffit de le compiler:
Code:
gcc -Wall teleinfomysql.c -o teleinfomysql -lmysqlclient


Si tu es sous Linux, je pourrai remettre le source à jour pour gérer les checksums comme pour la version Teleinfo_serial.

Désolé pour Windows, je n'ai pas testé.
_________________
Domos

-------------------------------------------
Début de domotique sous Linux ...
http://vesta.homelinux.net
http://vesta.homelinux.free.fr/ (bck)


Dernière édition par domos le 03 Sep 2009 14:34; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
olivier49
Membre un peu timide !


Inscrit le: 08 Jan 2009
Messages: 9

MessagePosté le: 20 Avr 2009 20:53    Sujet du message: Répondre en citant

bonjour Domos,

je te remercie pour ta proposition

ton programme m'intéresse depuis que je l'ai découvert. mais je ne sais pas comment l'adapter à ma situation. si ce que je veux faire est réalisable bien entendu.

- mon site (en php) est hébergé sur un serveur linux mutualisé.
- je souhaite que la base de donnée soit mise à jour toutes les heures de manière totalement autonome. je sais qu'il faudra passer par une tache Crontab pour mettre à jour a heure fixe.
- j'ai crée un dyndns car j'ai une adresse ip dynamique.
- mon compteur est en monophasé et en option de base

si tout cela peux fonctionner ce serait génial.

merci d'avance
olivier49
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
domos
Guru de domotique


Inscrit le: 14 Nov 2006
Messages: 130
Localisation: Iles de France

MessagePosté le: 20 Avr 2009 21:48    Sujet du message: Répondre en citant

olivier49 a écrit:
bonjour Domos,

je te remercie pour ta proposition

ton programme m'intéresse depuis que je l'ai découvert. mais je ne sais pas comment l'adapter à ma situation. si ce que je veux faire est réalisable bien entendu.

- mon site (en php) est hébergé sur un serveur linux mutualisé.
- je souhaite que la base de donnée soit mise à jour toutes les heures de manière totalement autonome. je sais qu'il faudra passer par une tache Crontab pour mettre à jour a heure fixe.
- j'ai crée un dyndns car j'ai une adresse ip dynamique.
- mon compteur est en monophasé et en option de base

si tout cela peux fonctionner ce serait génial.

merci d'avance
olivier49

Attention, si je ne me trompe pas, ton interface ethernet/rs232 ne stocke pas les données téléinfo, cela ne fait que convertir ces données série et les envoyer sur le réseau si la connexion est ouverte.

Si tu vas lire seulement toutes les les heures, je suppose que ce n'est que pour avoir le(s) compteur(s) de kwh. L'intensite et la puissance instantannées n'ont pas sens dans ce cas.

Personnellement j'utilisait mon programme toutes les minutes pour voir la conso en presque temps réel mais si j'ai bien compris, ton Linux est hébergé chez un FAI et ton interface est chez toi derrière un routeur ou box configuré avec DynDNS ?

Je pourrai adapter le programme, mais il me faudrai au moins une capture binaire de tes trames téléinfo.
Je pourrai même le faire et tester si tu me communique le vrai nom ma_téléinfo.dyndns.org:1470 de ton interface en MP.

Un telnet sur ce port à cette adresse doit normalement débiter continuellement les trames.
_________________
Domos

-------------------------------------------
Début de domotique sous Linux ...
http://vesta.homelinux.net
http://vesta.homelinux.free.fr/ (bck)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
olivier49
Membre un peu timide !


Inscrit le: 08 Jan 2009
Messages: 9

MessagePosté le: 21 Avr 2009 20:21    Sujet du message: Répondre en citant

Citation:
Attention, si je ne me trompe pas, ton interface ethernet/rs232 ne stocke pas les données téléinfo, cela ne fait que convertir ces données série et les envoyer sur le réseau si la connexion est ouverte.

Si tu vas lire seulement toutes les les heures, je suppose que ce n'est que pour avoir le(s) compteur(s) de kwh. L'intensite et la puissance instantannées n'ont pas sens dans ce cas.

Personnellement j'utilisait mon programme toutes les minutes pour voir la conso en presque temps réel mais si j'ai bien compris, ton Linux est hébergé chez un FAI et ton interface est chez toi derrière un routeur ou box configuré avec DynDNS ?

Je pourrai adapter le programme, mais il me faudrai au moins une capture binaire de tes trames téléinfo.
Je pourrai même le faire et tester si tu me communique le vrai nom ma_téléinfo.dyndns.org:1470 de ton interface en MP.

Un telnet sur ce port à cette adresse doit normalement débiter continuellement les trames.

bonsoir,

effectivement mon interface ethernet/rs232 ne stocke pas les données téléinfo.

essayons une fréquence par minute. l'idée de la lecture des données chaque heure est de ne pas trop alourdir la base de donnée. mais il est vrai qu' une lecture toutes les minutes apporte plus de précision et plus d'info.

voici mon lien http://maison49.homelinux.org:1470 débitant une trame continue.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
domos
Guru de domotique


Inscrit le: 14 Nov 2006
Messages: 130
Localisation: Iles de France

MessagePosté le: 22 Avr 2009 8:09    Sujet du message: Répondre en citant

olivier49 a écrit:
Citation:
Attention, si je ne me trompe pas, ton interface ethernet/rs232 ne stocke pas les données téléinfo, cela ne fait que convertir ces données série et les envoyer sur le réseau si la connexion est ouverte.

Si tu vas lire seulement toutes les les heures, je suppose que ce n'est que pour avoir le(s) compteur(s) de kwh. L'intensite et la puissance instantannées n'ont pas sens dans ce cas.

Personnellement j'utilisait mon programme toutes les minutes pour voir la conso en presque temps réel mais si j'ai bien compris, ton Linux est hébergé chez un FAI et ton interface est chez toi derrière un routeur ou box configuré avec DynDNS ?

Je pourrai adapter le programme, mais il me faudrai au moins une capture binaire de tes trames téléinfo.
Je pourrai même le faire et tester si tu me communique le vrai nom ma_téléinfo.dyndns.org:1470 de ton interface en MP.

Un telnet sur ce port à cette adresse doit normalement débiter continuellement les trames.

bonsoir,

effectivement mon interface ethernet/rs232 ne stocke pas les données téléinfo.

essayons une fréquence par minute. l'idée de la lecture des données chaque heure est de ne pas trop alourdir la base de donnée. mais il est vrai qu' une lecture toutes les minutes apporte plus de précision et plus d'info.

voici mon lien http://maison49.homelinux.org:1470 débitant une trame continue.


J'ai pris un dump de tes trames Teleinfo.

J'essairai d'adapter mon programme avec, ce week-end.
_________________
Domos

-------------------------------------------
Début de domotique sous Linux ...
http://vesta.homelinux.net
http://vesta.homelinux.free.fr/ (bck)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
domos
Guru de domotique


Inscrit le: 14 Nov 2006
Messages: 130
Localisation: Iles de France

MessagePosté le: 23 Avr 2009 22:33    Sujet du message: Répondre en citant

domos a écrit:
olivier49 a écrit:
Citation:
Attention, si je ne me trompe pas, ton interface ethernet/rs232 ne stocke pas les données téléinfo, cela ne fait que convertir ces données série et les envoyer sur le réseau si la connexion est ouverte.

Si tu vas lire seulement toutes les les heures, je suppose que ce n'est que pour avoir le(s) compteur(s) de kwh. L'intensite et la puissance instantannées n'ont pas sens dans ce cas.

Personnellement j'utilisait mon programme toutes les minutes pour voir la conso en presque temps réel mais si j'ai bien compris, ton Linux est hébergé chez un FAI et ton interface est chez toi derrière un routeur ou box configuré avec DynDNS ?

Je pourrai adapter le programme, mais il me faudrai au moins une capture binaire de tes trames téléinfo.
Je pourrai même le faire et tester si tu me communique le vrai nom ma_téléinfo.dyndns.org:1470 de ton interface en MP.

Un telnet sur ce port à cette adresse doit normalement débiter continuellement les trames.

bonsoir,

effectivement mon interface ethernet/rs232 ne stocke pas les données téléinfo.

essayons une fréquence par minute. l'idée de la lecture des données chaque heure est de ne pas trop alourdir la base de donnée. mais il est vrai qu' une lecture toutes les minutes apporte plus de précision et plus d'info.

voici mon lien http://maison49.homelinux.org:1470 débitant une trame continue.


J'ai pris un dump de tes trames Teleinfo.

J'essairai d'adapter mon programme avec, ce week-end.


Voilà, un premier test qui semble fonctionner.
    $ ./teleinfomysql_ezl
    Host: maison49.homelinux.org, IpHost: 77.203.242.106
    ----- 2009-04-23 23:21:20 -----
    ADCO='04082825XXXX'
    OPTARIF='BASE'
    ISOUSC='30'
    BASE='000829808'
    PTEC='TH..'
    IINST='000'
    IMAX='011'
    PAPP='00000'
    MOTDETAT='000000'
    ADPS=''
    '1240521680','2009-04-23','23:21:20','04082825XXXX','BASE','30','000829808','TH..','000','011','00000','000000',''
    Suppression fichier lock /tmp/mysqlteleinfo_ezl.lck

Reste à rajouter la partie MySql.

Par contre, il n'y a aucune conso., IINST et PAPP reste à 0, normale ?
_________________
Domos

-------------------------------------------
Début de domotique sous Linux ...
http://vesta.homelinux.net
http://vesta.homelinux.free.fr/ (bck)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
olivier49
Membre un peu timide !


Inscrit le: 08 Jan 2009
Messages: 9

MessagePosté le: 24 Avr 2009 19:13    Sujet du message: Répondre en citant

Citation:
Voilà, un premier test qui semble fonctionner.

$ ./teleinfomysql_ezl
Host: maison49.homelinux.org, IpHost: 77.203.242.106
----- 2009-04-23 23:21:20 -----
ADCO='04082825XXXX'
OPTARIF='BASE'
ISOUSC='30'
BASE='000829808'
PTEC='TH..'
IINST='000'
IMAX='011'
PAPP='00000'
MOTDETAT='000000'
ADPS=''
'1240521680','2009-04-23','23:21:20','04082825XXXX','BASE','30','000829808','TH..','000','011','00000','000000',''
Suppression fichier lock /tmp/mysqlteleinfo_ezl.lck


Reste à rajouter la partie MySql.

Par contre, il n'y a aucune conso., IINST et PAPP reste à 0, normale ?
Bonsoir,

c'est normal que IINST et PAPP soient à 0 car le compteur d'énergie comptabilise la production de mon installation photovoltaique.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
domos
Guru de domotique


Inscrit le: 14 Nov 2006
Messages: 130
Localisation: Iles de France

MessagePosté le: 25 Avr 2009 17:01    Sujet du message: Répondre en citant

olivier49 a écrit:
Citation:
Attention, si je ne me trompe pas, ton interface ethernet/rs232 ne stocke pas les données téléinfo, cela ne fait que convertir ces données série et les envoyer sur le réseau si la connexion est ouverte.

Si tu vas lire seulement toutes les les heures, je suppose que ce n'est que pour avoir le(s) compteur(s) de kwh. L'intensite et la puissance instantannées n'ont pas sens dans ce cas.

Personnellement j'utilisait mon programme toutes les minutes pour voir la conso en presque temps réel mais si j'ai bien compris, ton Linux est hébergé chez un FAI et ton interface est chez toi derrière un routeur ou box configuré avec DynDNS ?

Je pourrai adapter le programme, mais il me faudrai au moins une capture binaire de tes trames téléinfo.
Je pourrai même le faire et tester si tu me communique le vrai nom ma_téléinfo.dyndns.org:1470 de ton interface en MP.

Un telnet sur ce port à cette adresse doit normalement débiter continuellement les trames.

bonsoir,

effectivement mon interface ethernet/rs232 ne stocke pas les données téléinfo.

essayons une fréquence par minute. l'idée de la lecture des données chaque heure est de ne pas trop alourdir la base de donnée. mais il est vrai qu' une lecture toutes les minutes apporte plus de précision et plus d'info.

voici mon lien http://maison49.homelinux.org:1470 débitant une trame continue.


Voilà, j'ai adapté mon programme à ton interface ethernet/rs232 distante.
Le programme tourne en crontab chez moi toutes les minutes et se connecte sur ton interface à maison49.homelinux.org:1470 depuis vendredi soir
sans de remontée d'erreur de connexion ou de checksum de trame Téléinfo.

La base de donnée se remplie depuis 11h et il est possible de voir un aperçu en direct de que cela donne en graphe:
http://vesta.homelinux.net/tmp/papp_jpgraph_ezl.php

Le source C est disponible sur http://vesta.homelinux.net/mediawiki/index.php/Teleinfomysql_ezl.c
(Nouveau lien: http://vesta.homelinux.net/mediawiki/index.php/Teleinfosocket_mysql.c)
Il ne reste plus qu'à modifier tes paramètres MySql et remettre le nom DNS de ton interface ethernet/rs232
que je n'ai pas diffusé dans le source.
Tu pourras ensuite le lancer en crontab sur ton Linux hébergé de cette façon :
* * * * * /home/utilisateur/bin/teleinfo/teleinfomysql_ezl
Les messages d'erreurs seront renvoyé dans le mail de "utilisateur".
ou
* * * * * /home/utilisateur/bin/teleinfo/teleinfomysql_ezl >> /home/utilisateur/bin/teleinfo/teleinfomysql_ezl.log 2>&1
Pour avoir les messages d'erreurs dans un fichier log.

Pour info., je ne suis pas programmeur et ce programme n'est surement pas écrit dans les règles de l'art.
Libre à vous de l'améliorer et de faire partager.
_________________
Domos

-------------------------------------------
Début de domotique sous Linux ...
http://vesta.homelinux.net
http://vesta.homelinux.free.fr/ (bck)


Dernière édition par domos le 03 Sep 2009 14:36; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
olivier49
Membre un peu timide !


Inscrit le: 08 Jan 2009
Messages: 9

MessagePosté le: 25 Avr 2009 18:40    Sujet du message: Répondre en citant

bonsoir,

merci pour l'excellent travail que tu as réalisé et commenté, il me reste plus qu'a l'intégrer.

sans vouloir abuser peux tu m'indiquer a quoi servent ces lignes :

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include <errno.h>
#include <mysql/mysql.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

merci encore
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
domos
Guru de domotique


Inscrit le: 14 Nov 2006
Messages: 130
Localisation: Iles de France

MessagePosté le: 25 Avr 2009 22:37    Sujet du message: Répondre en citant

olivier49 a écrit:
bonsoir,

merci pour l'excellent travail que tu as réalisé et commenté, il me reste plus qu'a l'intégrer.

sans vouloir abuser peux tu m'indiquer a quoi servent ces lignes :

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include <errno.h>
#include <mysql/mysql.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

merci encore


Ce sont les entêtes des "librairies" C qui contiennent les fonctions utilisées dans le programme.
Pour que tu puisses compiler, il faudra installer sur ton Linux au moins les packages gcc, libc6-dev ainsi que libmysqlclient15-dev pour mysql (nom de packages Debian, à adapter pour une autre distirb.).
_________________
Domos

-------------------------------------------
Début de domotique sous Linux ...
http://vesta.homelinux.net
http://vesta.homelinux.free.fr/ (bck)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> Programmation > Logiciels Libres > HEYU, MisterHouse, etc Toutes les heures sont au format GMT + 1 Heure
Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7, 8, 9  Suivante
Page 6 sur 9

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com