MySensors Linky – Programmation & Réglages

Programmation de l’Arduino

Cette étape n’est valable que pour l’Arduino pro mini :

Pour réaliser la programmation de l’Arduino Pro mini qui est dépourvu de port USB, tu auras besoin d’un module FDTI USB 3.3v pour le téléversement du firmware. Il est possible d’en trouver sur Amazon ou Aliexpress.

Ce modèle d’interface FDTI a un cavalier permettant de choisir la tension de sortie 5v ou 3,3v. Dans notre cas, il faut se mettre sur la position 3,3v sinon adieu petit Arduino…

Ensuite le positionner le connecteur 6 broches sur l’arduino comme indiqué sur cette image.

Etapes pour la programmation de l’arduino :

  • Télécharge et installe l’IDE Arduino
  • Télécharge les sources du firmware sur Github (version compatible TIC historique et standard)
  • Si tu utilises la dernière version du montage avec DIP switch, il faudra décommenter la ligne n° 75 – // #define CARTE_SWITCH
  • Positionne le module FTDI sur l’arduino et branche le câble USB sur le PC/MAC
  • Dans le logiciel Arduino,
    1. va dans Outils -> type de carte et sélectionne « Arduino Pro »
    2. puis dans Outils -> Processeur et sélectionne « ATmega328P (3.3v, 8Mhz) »
    3. sélectionne le bon port par le menu Outils -> Port
  • Téléverse le firmware en appuyant sur

Après cette programmation, tu peux mettre l’ensemble des PCB dans le boîtier et le fermer sans oublier de brancher l’antenne à l’aide du connecteur IPX.

Pour les antennes à visser, j’ai créé un petit support qui se place sur le capot du compteur Linky.

Tu brancheras le module dans le compteur Linky juste après la demande d’inclusion sous Jeedom.

L’attribution de l’ID du node est par défaut, réalisée par la gateway mais il est possible de le forcer via la ligne « #define MY_NODE_ID » dans le fichier TeleinfoMySensors.ino. Par exemple, pour forcer l’ID à 2 il faut simplement mettre la ligne « #define MY_NODE_ID 2« 

Le firmware utilise la librairie libTeleinfo modifiée afin de réduire l’empreinte sur la mémoire vive. Mémoriser l’ensemble des étiquettes et valeurs en mode standard demande beaucoup de mémoire et engendre un plantage sur ATMEGA328. Elle a été modifiée pour ne plus mémoriser l’ensemble des données ; l’inconvénient de cette pratique est que le flux vers la gateway Mysensors se fait au fil de l’eau.

Vérification possible

J’ai réalisé quelques mesures sur la carte interface avec un multimètre si vous avez besoin de faire quelques vérifications. Attention ce n’est que des valeurs indicatives et surtout pour la sortie I1-I2 qui est en 50 kHz.

  • – 1 – Sortie téléinfo I1-I2, en mode alternatif : variation entre 0 et 4,5 volts
  • – 2 – Sortie optocoupleur, en mode continu : variation entre 0,8 et 1,1 volts
  • – 3 – Sortie mosfet, en mode continu : variation entre 1,8 et 2,4 volts
  • – 4 – Sortie alimentation, en mode continu : 5 volts

Réglages possibles

Dans le code principal, il est possible de régler :

  • la puissance d’émission du module NRF24L01 via la ligne #define MY_RF24_PA_LEVEL
    • #define MY_RF24_PA_LEVEL RF24_PA_LOW : réglage pas défaut
    • #define MY_RF24_PA_LEVEL RF24_PA_HIGH : plus de puissance, mais la consommation sera plus grande ; pas de garantie sur la stabilité du module via à vis de la puissance fournie par l’alimentation du compteur Linky. Le réglage du fusible BOD permet de contourner ce problème.
  • le canal d’émission utilisé via la ligne #define MY_RF24_CHANNEL
    • #define MY_RF24_CHANNEL X : X de 1 à 14 suivant l’occupation du wifi dans ton logement. Attention cette ligne doit être identique sur toute la chaîne de liaison Mysensors (Gateway, autres modules et capteurs Mysensors)
    • #define CARTE_SWITCH : réglage si tu utilises les DIP switchs pour forcer l’ID du module

Réglages des DIP switchs

Il est possible de forcer l’ID du module via les DIP switchs

Codage en binaire pour donner un ID de 1 à 15, la position à gauche ‘1’ est le poids le plus faible

Si tous les interrupteurs sont à zéro/en bas, l’ID sera en AUTO

Exemple :

  • 0000 : AUTO
  • 1000 : 1
  • 0100 : 2
  • 1110 :7
  • 1111 : 15

Réglages avec plugin Mysensors sur Jeedom

Pour rappel, le programme en version V1.0.x du module permet de remonter les informations des compteurs Linky monophasé mode historique sous cette forme :

  • CHILD_ID_ADCO 0
  • CHILD_ID_OPTARIF 1
  • CHILD_ID_ISOUSC 2
  • CHILD_ID_BASE 3
  • CHILD_ID_HCHC 4
  • CHILD_ID_HCHP 5
  • CHILD_ID_EJP_HN 6
  • CHILD_ID_EJP_HPM 7
  • CHILD_ID_BBR_HC_JB 8
  • CHILD_ID_BBR_HP_JB 9
  • CHILD_ID_BBR_HC_JW 10
  • CHILD_ID_BBR_HP_JW 11
  • CHILD_ID_BBR_HC_JR 12
  • CHILD_ID_BBR_HP_JR 13
  • CHILD_ID_PEJP 14
  • CHILD_ID_PTEC 15
  • CHILD_ID_DEMAIN 16
  • CHILD_ID_IINST 17
  • CHILD_ID_PAPP 18
  • CHILD_ID_ADPS 19
  • CHILD_ID_IMAX 20
  • CHILD_ID_HHPHC 21

Lors de l’inclusion sous Jeedom, tu vas retrouver l’ensemble des informations sous forme de commandes avec l’id. Pour ADCO, l’id sera « 0 » par exemple. Le plugin MySensors permet de reconnaître automatiquement le module et la liste des infos, mais sans les libellés et les unités. A toi de les renseigner manuellement sous Jeedom

Plus d’informations sont disponibles sur le site MySensors-Jeedom

Réglages avec plugin Mysensors sur Domoticz, Node-Red et autres :