[***] Téléinfo - Linux & PHP

Solution à base d'un PC et d'un logiciel (Misterhouse, Domotiga, Heyu, etc). Vous trouverez ici de l'aide pour installer, configurer ou développer des scripts sur ces logiciels. Les principaux langages sont Perl, Java, Shell Unix, Php, etc

Re: [***] Téléinfo - Linux & PHP

Messagede dimi10 » 01 DĂ©c 2014, 20:48

Bonjour,
J'ai bien du le recompiler mais pas de modif importante. Le daemon est relativement stable, il n'a planté qu'une foi.
Pour palier au risque de trépas de la carte, tout les 24h un cron appel mysqldump et rsync, ce dernier sauvegarde mes codes sources et les bdd vers un nas.
Dans la sauvegarde j'ai également l'historique horodatée de mes codes sources.
Pour ce qui est de ma carte SD elle a pas loin de deux ans et tourne toujours.
Nas Synology ds106 avec ipkg
Raspberry pi controle alarme station météo chauffage simulation présence
ipx800 v2
réseau Ethernet sans wi-fi
Ow-server
Squeezebox
pas de windows ni de mac
dimi10
P'tit Guru de domotique
 
Messages: 52
Inscription: 04 FĂ©v 2012, 12:02

Re: [***] Téléinfo - Linux & PHP

Messagede Mayeric » 05 DĂ©c 2014, 15:05

Super. je vais donc me baser sur votre post de code de Nov 2013. Je vous tiendrai au courant des progrès ;-)
Mayeric
P'tit Guru de domotique
 
Messages: 92
Inscription: 08 Oct 2012, 09:58

Re: [***] Téléinfo - Linux & PHP

Messagede Mayeric » 08 Jan 2015, 10:43

Quelques nouvelles de mon projet sur base de Raspberry qui avance très bien, grace au travail déjà effectué par dimi10 (sur ce forum) et le montage électronique déjà référencé sur ce fil... Bien qu'il y ait quelques manipulations additionnelles à effectuer sur la partie logiciel (créer des dossiers et ramdisk sur le Raspi, donner les bonnes autorisations sur les fichiers, etc.) je confirme qu'après quelques errances la combinaison logicielle + matériel marche parfaitement !

Mon architecture perso pour info, et Ă©ventuelle inspiration :
A) 3 sous-compteurs électroniques (L18C3) triphasés avec sortie téléinfo --> acheté ~50€ chacun d'occasion (utilisés sur les chantiers, donc assez fréquents en occasion), cela me paraissait le plus fiable pour la mesure de consommation en configuration triphasée
B) Le montage de décodage téléinfo en 3 exemplaires, connectés à la broche RXD (commune) et 3 broches GPIO du Raspi
C) Un Raspberry contenant :
a) Le programme de décodage de téléinfo, adapté pour une lecture itérative des 3 compteurs (mode deamon et ecriture sur ramdisk) et la notification des basculements HC/HP
b) Un serveur web, contenant plusieurs scripts PHP avec pour fonction de faciliter les interactions avec les systèmes extérieurs au Raspi :
i) lors d'un appel HTTP venant de l'extérieur, de "répondre" en lisant le fichier local du compteur correspondant (1,2, 3) et en renvoyant le contenu
ii) déclenchement d'actions extérieures sur base d'appel par le programme téléinfo lui-même, typiquement : notification du basculement HP/HC et HC/HP, et dépassement d'intensité (pas encore implémenté). Ces scripts visent à remonter l'information vers la centrale domotique pour information et éventuelle action.
D) Enfin, une centrale domotique (une VeraLite dans mon cas), qui :
a) affiche, sur demande, les données issus des 3 compteurs... déjà très utile car à peine installé j'ai pu visionner des déséquilibrages de charge de phase sur mon chauffage électrique, source probable de certaines disjonctions récentes ;-)
b) Lance des scénarios (lavage, adaptation de consigne de température...) en HC, souvent décalées de quelques minutes par rapport à l'heure théorique.
c) et pourra Ă  terme effectuer la sauvegarde des historiques, et le delestage de mes chauffages Ă©lectriques en cas de surconsommation.

Le reste Ă  faire :
- Création d'un base SQL sur mon NAS (Synology) et enregistrement des données de consommation (également de température) selon une stratégie de stockage restant à définir.
- Mise à jour du programme du téléinfo pour gérer les messages de dépassement d'intensité !! et permettre ainsi des actions de délestage via la domotique du chauffage - ca risque d'être plus compliqué !
- Eventuel transfert de la partie web/PHP du Raspberry sur le NAS, afin de limiter les fonctions du Raspi à la seule téléinformation... (pour en augmenter la longévité ?)
- Selon le besoin : ajout d'une carte relais (+relais de puissance) sur le raspberry pour assurer un éventuel délestage direct sur le tableau électrique, sans dépendre de la partie domotique (radio)

Bref, c'est du tout bon !! Car pour moins de 200€ (+ partie domotique), j'ai un système effectuant 9 mesures électriques fiables en permanence, détecte les HP/HC, et disposera à terme d'une fonction de délestage...
Mayeric
P'tit Guru de domotique
 
Messages: 92
Inscription: 08 Oct 2012, 09:58

Re: [***] Téléinfo - Linux & PHP

Messagede dimi10 » 08 Jan 2015, 16:51

Bonjour,
Bien content que mon travail ai pu servir Ă  d'autre.
Côté pratique au départ mes bdd étaient su un Nas Synology. Mais l'expérience m'en à fait déchanter, tant que l'on utilise le Nas pour du SMB tout va bien, mais dès qu'on le bidouilles, les applications fonctionnent jusqu'à une mise à jour ou encore sont instables (ts232). De plus la distribution a été adaptée et il ne se comporte pas comme un vrai Linux.
J'ai donc tout sur le rasp, serveur web, alarme sondes ds18b20 mysql pluviomètre gestion domotique. par de simple requêtes http, je commande éclairages, volets etc...
Toute les 24h rsync sauvegarde les tables et les codes sources vers le nas.
Si cela intéresse quelqu'un je peux mettre à dispo le code en php pour la mise à jour des bdd.
Au départ d’ailleurs, c'était le programme téléinfo qui en C mettait la bdd à jour. J'ai supprimé cette partie car toute modification demande une recompilation, j'ai aussi eu des problèmes lors de mise à jour par rapport à des library. C'est pour cette raison que le code C en utilise le minimum possible.

Bonne continuation.
Nas Synology ds106 avec ipkg
Raspberry pi controle alarme station météo chauffage simulation présence
ipx800 v2
réseau Ethernet sans wi-fi
Ow-server
Squeezebox
pas de windows ni de mac
dimi10
P'tit Guru de domotique
 
Messages: 52
Inscription: 04 FĂ©v 2012, 12:02

Re: [***] Téléinfo - Linux & PHP

Messagede jlmaillard » 08 Jan 2015, 18:01

Super.
Actuellement, je récupère mes consos EDF sur Rasp dans des fichiers csv, et je me préparais à mettre en place un chargement sur BDD afin de faire des traitements dessus (graphiques, comparaisons de période, etc.).
Je serais donc très intéressé si je pouvais gagner du temps en m'inspirant de ce que tu as fait, d'autant que je ne suis pas très calé dans les technos Linux.

Je te remercie donc pour ta proposition.
jlmaillard
Membre Actif
 
Messages: 21
Inscription: 31 AoĂ» 2012, 18:52

Re: [***] Téléinfo - Linux & PHP

Messagede dimi10 » 08 Jan 2015, 19:57

Bonjour,
Voila cela fonctionne avec php cli le code est simple et pas très beau.....
fichier config.inc
Code: Tout sélectionner
<?php
$server="localhost"; //Entrez le nom de votre serveur MySQL
$user="identifiant"; //Entrez votre identifiant MySQL
$password="1234"; //Entrez votre mot de passe MySQL
$bdd="1234"; //Choisissez le nom de votre base
//error_reporting (5);
// ----- FIN DES VARIABLES A MODIFIER -----
$mysql_link=mysql_connect("$server","$user","$password")
    or die("Impossible de se connecter : " . mysql_error());
//echo "Connexion réussie \n";
$db_selected = mysql_select_db("$bdd",$mysql_link);
if (!$db_selected) {
   die ('Impossible de sĂ©lectionner la base de donnĂ©es :\n ' . mysql_error());
}
?>


Le code suivant est appelé par un cron, la bdd peut être locale ou distante (dans ce cas attention de bien donner les droits pour un accès externe)
Code: Tout sélectionner
#!/usr/bin/php
<?php
//write_edf_Mysql.php
//lecture des données téléinfo EDF et les ecrit dans la bdd
require("config.inc");
$data_compteur = file_get_contents('/dev/ramdisk/trame_EDF.csv');
$data_compteur = rtrim($data_compteur);
$tbl_compteur = explode( ",", $data_compteur);

$sql = "INSERT INTO `teleinfo_edf` (`timestamp`,`rec_date`,`rec_time`,`hchp`, `hchc`, `inst1`, `inst2`, `inst3`, `imax1`, `imax2`, `imax3`, `pmax`, `papp`)
   VALUES ($tbl_compteur[0],'$tbl_compteur[1]','$tbl_compteur[2]',$tbl_compteur[3],$tbl_compteur[4],$tbl_compteur[6],$tbl_compteur[7],$tbl_compteur[8],$tbl_compteur[9],$tbl_compteur[10],$tbl_compteur[11],$tbl_compteur[12],$tbl_compteur[13] )";
$result =mysql_query($sql);
//echo $sql;
if (!$result) {
   echo 'Impossible d\'exĂ©cuter la requĂŞte : ' . mysql_error();
   exit;}
?>
Nas Synology ds106 avec ipkg
Raspberry pi controle alarme station météo chauffage simulation présence
ipx800 v2
réseau Ethernet sans wi-fi
Ow-server
Squeezebox
pas de windows ni de mac
dimi10
P'tit Guru de domotique
 
Messages: 52
Inscription: 04 FĂ©v 2012, 12:02

Re: [***] Téléinfo - Linux & PHP

Messagede jlmaillard » 08 Jan 2015, 22:32

OK, merci.
Je vais regarder cela dès que possible.
jlmaillard
Membre Actif
 
Messages: 21
Inscription: 31 AoĂ» 2012, 18:52

Précédente

Retourner vers Logiciel - Les autres logiciels pour la domotique

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 15 invités

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