ESPHome / Linky Mode Standard

Hello,

alors non je ne revends rien, je suis en autoconsommation totale.
J’ai peut être juste rien compris mais j’étais convaincu que j’aurais au moins l’information de ce que j’injecte sur le réseau …
J’ai donc mal compris ?
Et autre question, en mode historique j’avais 2 compteurs : HP et HC mais maintenant je n’ai qu’une seule information « Energie Soutirée », est-ce la somme des 2 ?
MErci pour ton aide au newbee que je suis !

Hi.
Seuls ceux qui ont un contrat avec « revente » ont accès au registre de puissance injectée, les autres, en auto-conso, n’y ont pas accès…

Je n’avais pas connaissance de deux comteurs HPHC, mais le lynky enregistre les deux, dans deux indexes pour un contrat HCHP…

Cordialement

Ok merci c’est ce que je supposais vu que je n’avais pas l’info.

Par contre le HC/HP était bien présent en mode historique et on a l’information Energie Soutirée qui est en fait la somme de HC + HP, on n’a pas le détail.

Du coup si tu veux avoir l’information il faut que tu te tapes l’algo … ce que j’ai fait ce jour dans mon HA : mémorisation de la valeur de l’ancienne Energie Soutirée à l’heure de bascule et calcul pendant la période. Plus qu’une petite mise au point et tout sera parfait.

Merci à tous pour les informations !

L’index d’injection est EAIT (cf document Enedis, page 19) mais je suis aussi en Autoconsommation avec vente du surplus.

Si t’es en 0 injection, le Linky ne trace peut-être pas cette information (ce qui serait dommage).

Si tu as toujours un contrat HC/HP, tu as toujours l’info en mode Standard (EASF1=HP et EASF2=HC de mémoire).

Salut

C’est presque vrai . Je viens de l’apprendre sur un autre forum…
Moi: Autoconso avec réinjection gratuite du surplus.
Sur le linky :Mode consommateur et teleinfo en mode standard (donc, pas de trame EAIT) ,

Par contre, sur l’afficheur du linky, quand on fait + (pas mal de fois) , à un moment , le compteur injection apparait ! c’est n’importe quoi :frowning:

1 « J'aime »

Exact, l’information apparaît toujours sur le lynky, mais elle n’est disponible sur la TIC en Standard que pour ceux qui ont un conrta de vente total ou partiel avec l’opérateur.
Pour veux en ‹ auto-conso › cet index n’apparaît pas sur le trame, à 0…

Merci à toi, c’est de loin la version la plus complète que j’ai vu, étant en Tempo Historique j’ai pu déployer ça facilement, même en étant sur un ESP32. Cela mériterait d’être plus visible, j’ai mis du temps à tomber dessus :smiley:

1 « J'aime »

Bonsoir Patrice 59,
Tu as indiqué que tu avais ramené la résistance de pull-up à une valeur de 4,7K. Quelle est la valeur de la résistance du « primaire » (sur le schéma 1K) ?
Merci pour ton aide

Salut

voici le dernier schéma publié par celui qui a sacrément dépatouillé le projet

La résistance de pull up du mosfet était de 10k avec un mosfet bs170

https://forum.hacf.fr/t/projet-zeus/36538

Bonjour,

J’ai essayé de faire fonctionner ce schéma, sachant que je suis parti de base via ce projet : GammaTroniques - GammaTroniques

Mais le schéma est le même, sauf que je ne récupère rien dans HA

J’ai utilisé le FTDI et je n’ai pas de souci :

Je suis en mode standard, j’ai essayé de modifier la résistance de pulldown de 10K à 4,7k et même 3,3K mais rien n’y fait. Je n’ai pas d’oscilloscope, mais en mettant le multimétre sur le RX et le GND, je vois bien des différences de tensions en 0,24v et 0,35v

Voici mon code

esphome:
  name: linky

# https://esphome.io/components/esp8266.html
esp8266:
  board: d1_mini

#setup Wifi
wifi:
  ssid: ""
  password: ""

captive_portal:
logger:
  baud_rate: 0   # disable logging via UART, help to avoid numerous crash with ESP_LOGD
  level: INFO  # INFO for less log, put DEBUG to view all the linky's received info in the logs
  esp8266_store_log_strings_in_flash: False


api:
ota:
  platform: esphome

#setup uart between the linky and the ESP
uart:
  id: uart_bus
  rx_pin: GPIO3 #RX pin of wemos D1 Mini
  baud_rate: 9600
  parity: EVEN
  data_bits: 7
  stop_bits: 1

# Time: https://esphome.io/components/time.html
time:
  - platform: homeassistant
    timezone: "Europe/Paris"
    id: homeassistant_time

# Status Binary Sensor: https://esphome.io/components/binary_sensor/status.html
binary_sensor:
  - platform: status
    name: "Linky Status"

# Restart Button: https://esphome.io/components/button/restart.html
button:
  - platform: restart
    name: "Linky Restart"

#setup teleinfo, update value every 60s
teleinfo:
  update_interval: 6s
  historical_mode: false


sensor:
  # WiFi
  - platform: wifi_signal
    name: "Linky WiFi Signal"
    unit_of_measurement: dB
    accuracy_decimals: 0
    update_interval: 60s
    icon: mdi:wifi
  # Uptime
  - platform: uptime
    name: "Linky Uptime"
    unit_of_measurement: s
    accuracy_decimals: 0
    update_interval: 60s
    icon: mdi:clock-start
  #--------------
  # MODE STANDARD
  #--------------
  # Énergie active soutirée totale
  - platform: teleinfo
    tag_name: "EAST"
    name: "Linky Energie Soutirée"
    unit_of_measurement: kWh
    device_class: energy
    state_class: total_increasing
    icon: mdi:flash
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
    
# https://esphome.io/components/text_sensor/index.html
text_sensor:
  #--------------
  # MODE STANDARD
  #--------------
  # # Adresse Secondaire du Compteur
  # - platform: teleinfo
  #   tag_name: "ADSC"
  #   name: "Linky Adresse Secondaire"
  #   icon: mdi:information
  # Libellé tarif fournisseur en cours
  - platform: teleinfo
    tag_name: "LTARF"
    name: "Linky Tarif Actuel"
    icon: mdi:information
  # Nom du calendrier tarifaire fournisseur
  - platform: teleinfo
    tag_name: "NGTF"
    name: "Linky Calendrier Tarifaire"
    icon: mdi:information
  # Registre de Statuts
  - platform: teleinfo
    tag_name: "STGE"
    name: "Linky Registre de Statuts"
    icon: mdi:information

Voici que HA me donne :

Auriez vous des idées ?
On peut bien attraper une info seulement parmi le total renvoyé par le linky ?

Merci de votre aide.

Bonjour,

J’utilise aussi un D1 mini pour récupérer les données du Linky en mode standard.
par contre, dans la partie uart , je n’ai pas de stop_bits

Dans esphome, en mode Logs, tu vois des choses arriver ?

Salut,

Ok, j’essaierai d’enlever le stop_bits.
Mais non je ne vois rien arriver dans les logs concernant les infos du linky, même pas des données erronées.

Bonjour à tous,
J’avais un Linky en Historique et ça fonctionnait bien. Je viens de le passer en standard et ce ne fonctionne plus.
J’ai refais un câblage en m’inspirant de celui trouvé plus haut.

substitutions:
  name: esplinky
  freq: 60s
  freqsys: 300s

esphome:
  name: esp32-linky
  friendly_name: ESP32 Linky

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger: 
#  hardware_uart : UART1
  baud_rate: 0   # disable logging via UART, help to avoid numerous crash with ESP_LOGD
  level: DEBUG  # INFO for less log, put DEBUG to view all the linky's "étiquettes" received  in the logs

# Enable Home Assistant API
api:
  encryption:
    key: "maclé"

ota:
  - platform: esphome
    password: "monpass"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: monIP
    gateway: maGateway
    subnet: 255.255.255.0

uart:
  id: uart_bus
  rx_pin: GPIO16
  baud_rate: 9600
  parity: EVEN
  data_bits: 7

teleinfo:
  id: myteleinfo
  update_interval: ${freq}
  historical_mode: false

sensor:
  - platform: teleinfo
    tag_name: "ADSC" #Adresse Secondaire du Compteur
    name: "${name}-ADSC"
    unit_of_measurement: ""
    icon: mdi:eye
    teleinfo_id: myteleinfo
 
  - platform: teleinfo
    tag_name: "PREF" #Puissance app. de référence
    name: "${name}-Intensité-souscrite"
    unit_of_measurement: "kVA"
    icon: mdi:information
    teleinfo_id: myteleinfo
    
  - platform: teleinfo
    tag_name: "EAST" #Energie active soutirée totale
    name: "${name}-Index-Wh"
    unit_of_measurement: "Wh"
    icon: mdi:home-analytics
    teleinfo_id: myteleinfo

  - platform: teleinfo
    tag_name: "EAST" #Energie active soutirée totale calcul kWh
    name: "${name}-Index-kWh"
    unit_of_measurement: "kWh"
    icon: mdi:home-analytics
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
    teleinfo_id: myteleinfo

  - platform: teleinfo
    tag_name: "SINSTS" #Puissance app. Instantanée soutirée
    name: "${name}-Puissance"
    unit_of_measurement: "VA"
    icon: mdi:flash
    teleinfo_id: myteleinfo

  - platform: teleinfo
    tag_name: "SINSTS" #Puissance app. Instantanée soutirée
    name: "${name}-puissance-apparente-kva"
    unit_of_measurement: "kVA"
    icon: mdi:flash
    accuracy_decimals: 1
    filters:
      - multiply: 0.001
    teleinfo_id: myteleinfo    

  - platform: teleinfo
    tag_name: "EAIT" #Energie active injectée totale
    name: "${name}-energie-active-injectee-totale-Wh"
    unit_of_measurement: "Wh"
    icon: mdi:flash
    teleinfo_id: myteleinfo

  - platform: teleinfo
    tag_name: "EAIT" #Energie active injectée totale
    name: "${name}-energie-active-injectee-totale-kWh"
    unit_of_measurement: "kWh"
    icon: mdi:flash
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
    teleinfo_id: myteleinfo

  - platform: teleinfo
    tag_name: "SINSTI" #Puissance app. Instantanée injectée
    name: "${name}-puissance-apparente-intantanee-injectee"
    unit_of_measurement: "VA"
    icon: mdi:flash
    teleinfo_id: myteleinfo

  - platform: wifi_signal
    name: "${name}-WiFi Signal Sensor"
    update_interval: ${freqsys}
    unit_of_measurement: dB
    accuracy_decimals: 0
    force_update: false
    icon: mdi:wifi
    
  - platform: uptime
    id: uptime_seconds
    name: "${name}-Uptime Sensor"
    update_interval: 60s
    unit_of_measurement: s
    accuracy_decimals: 0
    force_update: false
    icon: mdi:timer

binary_sensor:
  - platform: status
    name: "${name}-Status"

switch:
  - platform: restart
    name: "${name}-reboot"

text_sensor:
  - platform: template
    name: ${name}-Uptime
    update_interval: ${freqsys}
    icon: mdi:clock-start
    lambda: |-
      int seconds = (id(uptime_seconds).state);
      int days = seconds / (24 * 3600);
      seconds = seconds % (24 * 3600);
      int hours = seconds / 3600;
      seconds = seconds % 3600;
      int minutes = seconds /  60;
      seconds = seconds % 60;
      if ( days ) {
        return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else if ( hours ) {
        return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else if ( minutes ) {
        return { (String(minutes) +"m "+ String(seconds) +"s").c_str() };
      } else {
        return { (String(seconds) +"s").c_str() };
      }

J’ai essayé :

  • avec GPIO3, mais l’ESP ne chargeait même pas
  • avec GPIO26 (comme ce que j’ai en mode historique)

là, je suis à cours d’idée.

Merci d’avance

En gardant la résistance de 4K7 entre grille et source du mosfet, essayes avec une résistance de 2K7 côté TIC.
Ou alors tu laisses 1K côté TIC, mais tu passes à 2K7 entre grille et source du mosfet.

Tant qu’on est dans ESPHome / Linky Standard, est-ce quelqu’un aurait un bout de code pour traiter l’étiquette STGE et remonter certaines infos qu’on ne trouve que là ?
Et plus particulièrement l’annonce de la couleur du lendemain (bits 26 & 27)
Merci d’avance.

J’avais commencé à chercher à ce sujet, mais je ne suis pas allé au bout

Je veux bien essayer, mais pourquoi ces valeurs ?

Parce que quand je suis passé du mode historique ou mode standard sur mon linky avec un Wifinfo, je n’avais plus aucune remontée d’info.
N’ayant pas d’oscilloscope pour voir ce qu’il se passait, j’ai fait une simulation pour essayer de comprendre pourquoi ça fonctionnait dans un mode et pas dans l’autre.
Et a force de chercher, je suis tombé sur des couples de valeurs de résistance qui donnent un signal approximativement fiable tout en restant avec un impédance côté TIC qui soit dans les normes Enedis.
Donc, selon moi, le mieux c’est 2K7/4K7 ou 1K2/2K7
chez moi ça à toujours fonctionné avec 2K7/4K7, sur tous les exemplaires que j’ai fabriqué, aussi bien en historique qu’en standard, que ce soit avec le firmware Wifinfo (la version 1.6.4 que j’ai créer pour être compatible mode standard) Tasomota ou ESPHome

1 « J'aime »