configuration MySQL



  • Effectivement, mon adresse était erronée (broadcast = 192.168.0.255). Tout fonctionne parfaitement maintenant, je te remercie chaudement.

    Je résume mes manips, au cas où ça pourrait servir à des débutants comme moi :

    • Hardware issu du montage très simple de http://www.magdiblog.fr/gpio/teleinfo-edf-suivi-conso-de-votre-compteur-electrique/
    • Programme issu du post : http://hallard.me/teleinfo-emoncms/
    • Création d’une base de donnée MySQL sur le Pi avec phpmyadmin, et création de la table DbiTeleinfo à l’aide du lien précédent
    • Code pour que ttyS0 pointe sur le port série ttyAMA0, à refaire à chaque démarrage du Pi:
      sudo ln -s /dev/ttyAMA0 /dev/ttyS0
    • Paramétrage de teleinfo.conf avec mode = send, daemon = 0, mysql = 0, emoncms = 0
    • Commande pour envoyer des données en permanence sur le réseau:
      teleinfo -m s -d
    • Paramétrage de Crontab (Crontab -e) pour recevoir les données chaque minute sur emoncms et sur la base de donnée MySQL de mon Pi :
      */1 * * * * /home/Rpi/teleinfo/teleinfo -m r -q -e

    Et sinon je n’ai pas reçu de notification malgré la case cochée.

    Très bonne journée


  • Staff

    Bruno,

    Nickel si çà marche, pour les notifications je regarde car moi même je ne les reçois plus



  • Bonjour,

    Tout d’abord merci pour tout ce travail !
    J’ai suivi vos tutos sur la téléinfo et l’envoi vers une BdD MySQL.
    Voici mon problème : je dispose d’une Raspberry et je souhaite envoyer les données de téléinfo vers la base MySQL de mon disque réseau Synology.
    J’ai suivi vos conseils ci-dessus et voici ce que j’obtiens :

    pi@domoticzpi /etc $ teleinfo -m s -d
    pi@domoticzpi /etc $ teleinfo -m r -q
     
    teleinfo 1.0.8 Statistics
    ==========================
    Frames Sent         : 0
    Frames checked      : 1
    Frames OK           : 1
    Checksum errors     : 0
    Frame format Errors : 0
    Frame size Errors   : 0
    MySQL init OK       : 1
    MySQL init errors   : 0
    MySQL connect OK    : 0
    MySQL connect errors: 1
    MySQL queries OK    : 0
    MySQL queries errors: 0
    EmonCMS total post  : 0
    EmonCMS post OK     : 0
    EmonCMS post errors : 0
    EmonCMS timeout     : 0
    --------------------------
    

    A priori toues mes adresses, mots de passe, nom de table,… sont corrects.
    Pour information, le logiciel Domoticz tourne en parallèle et interroge également le port /dev/ttyAMA0 : pas de conflits possible ?
    Est-ce un problème du côté du Synology ?

    Autre question : lorsque cela fonctionnera, comment faire pour envoyer les données dans la BdD toutes les 1 à 2 minutes ?

    Merci d’avance.


  • Staff

    Bonjour,

    Pour la connexion à la base de données mySQL quand je rencontre ce type de problème de connexion, j’utilise soit l’outil en ligne de commande mysql comme par exemple pour ouvrir la base open2300 avec le user root

    root@pi02:~#  mysql -h diskstation.local -u root -p open2300
    Enter password:
    mysql>Bye
    root@pi02:~#
    

    Avez vous regardé dans le syslog le message d’erreur ?

    cat /var/log/syslog | grep teleinfo
    

    Sinon pour l’ouverture du port oui 2 applications ne peuvent pas ouvrir le port simultanement, je ne sais pas comment fonctionne domoticZ.

    Pour envoyer les données toutes les 2 min par exemple il faut lancer le daemon en mode send

    • Paramétrage de teleinfo.conf avec mode = send, daemon = 0, mysql = 0, emoncms = 0
    • Commande pour envoyer des données en permanence sur le réseau (idéalement à lancer une seule fois au démmarage du Pi)
      teleinfo -m s -d
    • Paramétrage de Crontab (Crontab -e) pour recevoir les données toutes les 2 minutes sur emoncms et sur la base de donnée MySQL de mon Pi : */2 * * * * /home/Rpi/teleinfo/teleinfo -m r -q -e
      Attention à changer les chemins si ils sont différents


  • Bonjour,

    Merci pour votre réponse : j’avais un problème de droit sur ma base de donnée.
    Tout fonctionne à présent correctement avec envoi vers la BdD toutes les deux minutes.
    Par contre, le programme teleinfo prend la main sur le port /dev/ttyAMA0 via à vis de Domoticz.
    Je ne sais pas s’il est possible de rediriger /dev/ttyAMA0 vers, par exemple, un terminal virtuel type /dev/tty1 de façon à déclarer ce dernier dans Domoticz et pouvoir lire les data de téléinformation simultanément par votre programme et par Domoticz ?



  • Bonjour,
    Depuis ma dernière question, ma base de donnée se remplie correctement.
    Par contre, j’ai une petite question : les informations de la colonne OPTARIF sont à 1 au lieu de BASE et les informations de la colonne PTEC sont à 1 au lieu de TH...
    Comment puis-je corriger cela ?
    Merci.


  • Staff

    Bonjour,

    Ce traitement spécifique est réalisé dans la fonction tlf_treat_label() qui gère une table de correspondance

    Il “suffit” de commenter les lignes correspondantes et de recompiler mais je déconseille fortement cette option. En effet certains sites (emoncms par exemple) ne savent pas traiter l’envoi de données de type chaine et il est alors impossible de publier les données pour faire un éventuel traitement.

    Charles



  • @bruno merci du résumé des manips à faire. Je souhaite faire la même chose de mon côté et je bute sur la création de la table DBiTeleinfo. Je suis totalement noob dans le domaine mysql et j'aimerais bien avoir les commandes à exécuter ! J'utilise une installation emoncms sur un raspberry donc mysql est déjà installé. merci


  • Staff

    Bonjour,
    pour la création de la base de donnée il suffit copier/coller la commande suivante dans un client mysql. Peut être même depuis phpmyadmin.

    CREATE TABLE IF NOT EXISTS `DbiTeleinfo` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `DATE` datetime DEFAULT NULL,
      `ADCO` varchar(12) DEFAULT NULL,
      `OPTARIF` varchar(4) DEFAULT NULL,
      `ISOUSC` decimal(2,0) DEFAULT NULL,
      `BASE` decimal(9,0) DEFAULT NULL,
      `HCHC` decimal(9,0) DEFAULT NULL,
      `HCHP` decimal(9,0) DEFAULT NULL,
      `BBRHCJB` decimal(9,0) DEFAULT NULL,
      `BBRHPJB` decimal(9,0) DEFAULT NULL,
      `BBRHCJW` decimal(9,0) DEFAULT NULL,
      `BBRHPJW` decimal(9,0) DEFAULT NULL,
      `BBRHCJR` decimal(9,0) DEFAULT NULL,
      `BBRHPJR` decimal(9,0) DEFAULT NULL,
      `DEMAIN` varchar(4) DEFAULT NULL,
      `EJPHN` decimal(9,0) DEFAULT NULL,
      `EJPHPM` decimal(9,0) DEFAULT NULL,
      `PEJP` varchar(2) DEFAULT NULL,
      `PTEC` varchar(4) DEFAULT NULL,
      `IINST1` decimal(3,0) DEFAULT NULL,
      `IINST2` decimal(3,0) DEFAULT NULL,
      `IINST3` decimal(3,0) DEFAULT NULL,
      `IMAX1` decimal(3,0) DEFAULT NULL,
      `IMAX2` decimal(3,0) DEFAULT NULL,
      `IMAX3` decimal(3,0) DEFAULT NULL,
      `HHPHC` varchar(1) DEFAULT NULL,
      `PMAX` decimal(5,0) DEFAULT NULL,
      `PAPP` decimal(5,0) DEFAULT NULL,
      `ADPS` decimal(3,0) DEFAULT NULL,
      `MOTDETAT` varchar(6) DEFAULT NULL,
      `TENSION` decimal(3,0) DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `SEARCH_INDEX` (`ADCO`,`DATE`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    


  • @charles merci! Je me suis servi de cette aide sur mysql pour avoir des commandes en lignes. Ca marche! https://doc.ubuntu-fr.org/mysql