Linky et esphome : il me manque des données

Mon problème

Bonjour
J’ai installé le petit montage classique trouvé ici avec un octocoupleur LTV814 et le BS170 et un esp01 pour récuperer les données de mon linky. Seulement voilà, je ne recupère qu’une partie de ce que je dois avoir :

23:28:47	[D]	[text_sensor:064]	

'optarif': Sending state 'BASE'

23:28:47	[D]	[sensor:093]	

'papp': Sending state 300.00000 VA with 0 decimals of accuracy

23:28:48	[W]	[component:214]	

Component teleinfo took a long time for an operation (0.26 s).

23:28:49	[W]	[component:215]	

Components should block for at most 20-30ms.

23:30:47	[D]	[text_sensor:064]	

'optarif': Sending state 'BASE'

23:30:47	[D]	[sensor:093]	

'papp': Sending state 310.00000 VA with 0 decimals of accuracy

23:30:48	[W]	[component:214]	

Component teleinfo took a long time for an operation (0.26 s).

23:30:48	[W]	[component:215]	

Components should block for at most 20-30ms.

23:32:47	[D]	[text_sensor:064]	

'optarif': Sending state 'BASE'

23:32:47	[D]	[sensor:093]	

'papp': Sending state 310.00000 VA with 0 decimals of accuracy

23:32:48	[W]	[component:214]	

Component teleinfo took a long time for an operation (0.26 s).

23:32:49	[W]	[component:215]	

Components should block for at most 20-30ms.

il manque l’index de ma consommation . Qu’est ce qui ne va pas dans mon fichier ?
Je précise que je suis en tarif de base sans heures creuses/ pleine

Ma configuration


esphome:
  name: esphome-web-7051f2
  friendly_name: linky

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "0CE1KxxxxxxxxxxxxxxCP1X2QTl0nsnz/oBig="

ota:


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-7051F2"
    password: "xxxxxxxxxx"

captive_portal:

web_server : 

uart:
  id: uart_bus
  rx_pin: GPIO3
  tx_pin: GPIO1
  baud_rate: 1200
  parity: EVEN
  data_bits: 7

teleinfo:
  id: myteleinfo
  update_interval: 120s
  historical_mode: true

sensor:
  - platform: teleinfo
    tag_name: "HCHC"
    name: "hchc"
    unit_of_measurement: "Wh"
    icon: mdi:flash
    teleinfo_id: myteleinfo
  - platform: teleinfo
    tag_name: "HCHP"
    name: "hchp"
    unit_of_measurement: "Wh"
    icon: mdi:flash
    teleinfo_id: myteleinfo
  - platform: teleinfo
    tag_name: "PAPP"
    name: "papp"
    unit_of_measurement: "VA"
    icon: mdi:flash
    teleinfo_id: myteleinfo

text_sensor:
  - platform: teleinfo
    tag_name: "OPTARIF"
    name: "optarif"
    teleinfo_id: myteleinfo    
    

Merci d’avance Olivier

Salut,

En fait le souci c’est que tu as copié l’exemple du site de EspHome… mais que ça ne correspond pas à ce que tu as comme abonnement :wink:
L’exemple récupère les index Heures Creuses (HCHC) et Heures Pleines (HCHP)… alors que d’après le log partagé, ton abonnement est en option tarifaire (OPTARIF) de BASE…

La page téléinfo de EspHome donne toutes les infos, il y a un lien vers le PDF de Enedis qui donne tous les codes/valeurs dispo… pour le Tarif de base ils faut remplacer « HCHC » par « BASE » et supprimer la section « HCHP »…

Le document en question, codes dispo sont page 15:
https://www.enedis.fr/media/2035/download

Bonjour
Je te joins une liste un peu universelle
Il te faut retirer / ajouter des # en fonction de ton type d’abonnement (perso en tempo)
Voir aussi le filtre pour les valeurs nulles tout à fait nécessaires

###### Partie sensors Linky ######

 

   #Linky Intensité souscrite####################################
  - platform: teleinfo
    tag_name: "ISOUSC"
    name: "Linky intensite souscrite"
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement
    icon: mdi:current-ac
    teleinfo_id: myteleinfo

   #Linky Index option Base###################################
#  - platform: teleinfo
#    tag_name: "BASE"
#    name: "Linky Index"
#    id: linky_index1
#    teleinfo_id: myteleinfo
#    state_class: "total_increasing"
#    icon: mdi:flash
#    device_class: "energy"
#    unit_of_measurement: "kWh"
#    accuracy_decimals: 2
#    filters:
#      - multiply: 0.001
#      - filter_out: 0

#Index option Heures Creuses

   #linky Heures Creuses######################################
#  - platform: teleinfo
#    tag_name: "HCHC"
#    name: "Linky hchc"
#    teleinfo_id: myteleinfo
#    state_class: "total_increasing"
#    icon: mdi:flash
#    device_class: "energy"
#    unit_of_measurement: "kWh"
#    accuracy_decimals: 2
#    filters:
#      - multiply: 0.001
#      - filter_out: 0

   #linky Heures Pleines###################################
#  - platform: teleinfo
#    tag_name: "HCHP"
#    name: "Linky hchp"
#    icon: mdi:flash
#    teleinfo_id: myteleinfo   
#    state_class: "total_increasing"
#    device_class: "energy"
#    unit_of_measurement: "kWh"
#    accuracy_decimals: 2
#    filters:
#      - multiply: 0.001
#      - filter_out: 0

#Index option EJP
   #Linky Heures Normales#################################
#  - platform: teleinfo
#    tag_name: "EJPHN"
#    name: "Linky ejphn"
#    icon: mdi:flash
#    teleinfo_id: myteleinfo   
#    state_class: "total_increasing"
#    device_class: "energy"
#    unit_of_measurement: "kWh"
#    accuracy_decimals: 2
#    filters:
#      - multiply: 0.001
#      - filter_out: 0

   #Linky Heures de Pointe Mobile###################################
#  - platform: teleinfo
#    tag_name: "EJPHPM"
#    name: "Linky ejphpm"
#    icon: mdi:flash
#    teleinfo_id: myteleinfo   
#    state_class: "total_increasing"
#    device_class: "energy"
#    unit_of_measurement: "kWh"
#    accuracy_decimals: 2
#    filters:
#      - multiply: 0.001
#      - filter_out: 0

#Index option Tempo
   #Linky Heures Creuses Jours Bleus###############################
  - platform: teleinfo
    tag_name: "BBRHCJB"
    name: "Linky Tempo Index bbrhcjb"
    id: Linky_Tempo_Index_hcjb
    icon: mdi:flash
    teleinfo_id: myteleinfo   
    state_class: "total_increasing"
    device_class: "energy"
    unit_of_measurement: "kWh"
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
      - filter_out: 0

   #Linky Heures Pleines Jours Bleus#############################
  - platform: teleinfo
    tag_name: "BBRHPJB"
    name: "Linky Tempo Index bbrhpjb"
    id: Linky_Tempo_Index_hpjb
    icon: mdi:flash
    teleinfo_id: myteleinfo   
    state_class: "total_increasing"
    device_class: "energy"
    unit_of_measurement: "kWh"
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
      - filter_out: 0

    #Linky Heures Creuses Jours Blancs#########################
  - platform: teleinfo
    tag_name: "BBRHCJW"
    name: "Linky Tempo Index bbrhcjw"
    id: Linky_Tempo_Index_hcjw
    icon: mdi:flash
    teleinfo_id: myteleinfo   
    state_class: "total_increasing"
    device_class: "energy"
    unit_of_measurement: "kWh"
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
      - filter_out: 0

   #Linky Heures Pleines Jours Blancs#############################
  - platform: teleinfo
    tag_name: "BBRHPJW"
    name: "Linky Tempo Index bbrhpjw"
    id: Linky_Tempo_Index_hpjw
    icon: mdi:flash
    teleinfo_id: myteleinfo   
    state_class: "total_increasing"
    device_class: "energy"
    unit_of_measurement: "kWh"
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
      - filter_out: 0

   #Linky Heures Creuses Rouges###############################
  - platform: teleinfo
    tag_name: "BBRHCJR"
    name: "Linky Tempo Index bbrhcjr"
    id: Linky_Tempo_Index_hcjr
    icon: mdi:flash
    teleinfo_id: myteleinfo   
    state_class: "total_increasing"
    device_class: "energy"
    unit_of_measurement: "kWh"
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
      - filter_out: 0

   #Linky Heures Pleines Jours Rouges#######################
  - platform: teleinfo
    tag_name: "BBRHPJR"
    name: "Linky Tempo Index bbrhpjr"
    id: Linky_Tempo_Index_hpjr
    icon: mdi:flash
    teleinfo_id: myteleinfo   
    state_class: "total_increasing"
    device_class: "energy"
    unit_of_measurement: "kWh"
    accuracy_decimals: 2
    filters:
      - multiply: 0.001
      - filter_out: 0

    
   #Linky Intensité Instantanée############################
  - platform: teleinfo
    tag_name: "IINST"
    name: "Linky Intensité"
    id: linky_intensite
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement
    icon: mdi:current-ac
    teleinfo_id: myteleinfo
    

   #Avertissement de Dépassement De Puissance Souscrite#############################
  - platform: teleinfo
    tag_name: "ADPS"
    name: "Linky adps"
    device_class: current
    state_class: measurement
    icon: mdi:current-ac
    teleinfo_id: myteleinfo

   #Linky Intensité maximale appelée######################################
  - platform: teleinfo
    tag_name: "IMAX"
    name: "Linky Intensité Max"
    unit_of_measurement: "A"
    device_class: current
    state_class: measurement
    icon: mdi:current-ac
    teleinfo_id: myteleinfo   

  #Linky Puissance apparente#########################################
  - platform: teleinfo
    tag_name: "PAPP"
    name: "linky puissance consommee"
    id: linky_puissance_consommee
    unit_of_measurement: "VA"
    state_class: measurement
    device_class: apparent_power
    icon: mdi:gauge
    teleinfo_id: myteleinfo

Voici mon code ESPHome pour un abonnement BASE:

esphome:
  name: esphome-puissance-linky
  platformio_options:
    lib_deps: NeoPixelBus@2.6.0
  on_boot:
    then:
      - light.control:
          id: teleinformation_status_led
          brightness: 0.25
          state: on

esp8266:
  board: esp01_1m

# Enable logging
logger:
  baud_rate: 0
  level: INFO 
  #esp8266_store_log_strings_in_flash: false

# Enable Home Assistant API
api:

ota:


wifi:
  networks:
  - ssid: ##################
    password: ##################
  - ssid: ##################
    password: ##################
  - ssid: ##################
    password: ##################
  manual_ip:
    static_ip: 10.0.0.25
    gateway: 10.0.0.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-531C4B"
    password: "WYqAks5GyfjC"

captive_portal:
uart:
  id: uart_bus
  rx_pin: GPIO13
  baud_rate: 1200
  parity: EVEN
  data_bits: 7

teleinfo:
  id: myteleinfo
  update_interval: 5s
  historical_mode: true

# Led WS2812 RGB  
light:
  - platform: partition
    name: teleinformation_status_led
    id: teleinformation_status_led
    default_transition_length: 0s
    segments:
      - id: rgb_led
        from: 0
        to: 0
  - platform: neopixelbus
    num_leds: 1
    pin: GPIO14
    name: "RGB strip"
    variant: ws2812
    id: rgb_led
    default_transition_length: 0s 

sensor:
  - platform: wifi_signal
    id: teleinformation_wifi_signal
    name: "Téléinfo WiFi Signal Sensor"
    unit_of_measurement: dB
    accuracy_decimals: 0
    force_update: false
    icon: mdi:wifi
  - platform: uptime
    id: teleinformation_uptime_seconds
    name: "Téléinfo Uptime Sensor"
    unit_of_measurement: s
    accuracy_decimals: 0
    force_update: false
    icon: mdi:timer
  - platform: teleinfo
    tag_name: "BASE"
    name: "Téléinformation Index"
    unit_of_measurement: "kWh"
    device_class: "energy"
    state_class: "total_increasing"
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
    icon: mdi:gauge
    id: teleinformation_index_base    
  - platform: teleinfo
    tag_name: "IINST"
    name: "Intensité instantanée"
    unit_of_measurement: "A"
    icon: mdi:current-ac
    id: teleinformation_iinst
  - platform: teleinfo
    tag_name: "PAPP"
    name: "Puissance appelée"
    unit_of_measurement: "W"
    device_class: "power"
    state_class: "measurement"  
    icon: mdi:flash
    id: teleinformation_papp
    on_value:
      - if:
          condition:
            sensor.in_range:
              id: teleinformation_papp
              below: 1000
          then: 
            - light.control:
                id: teleinformation_status_led
                red: 0%       # Green
                green: 100%
                blue: 0%
      - if:
          condition:
            sensor.in_range:
              id: teleinformation_papp
              above: 1000
              below: 2000
          then: 
            - light.control:
                id: teleinformation_status_led
                red: 100%     # Yellow
                green: 100%
                blue: 0%
      - if:
          condition:
            sensor.in_range:
              id: teleinformation_papp
              above: 2000
              below: 3000
          then: 
            - light.control:
                id: teleinformation_status_led
                red: 100%     # Orange
                green: 65%
                blue: 0%
      - if:
          condition:
            sensor.in_range:
              id: teleinformation_papp
              above: 4000
          then: 
            - light.control:
                id: teleinformation_status_led
                red: 100%     # Red
                green: 0%
                blue: 0%

text_sensor:
  - platform: teleinfo
    tag_name: "OPTARIF"
    name: "optarif"
    teleinfo_id: myteleinfo    

Merci à tous, je me disais bien que HC et HP avaient une signification. Tout roule, il ne me reste plus qu’à rendre ça joli avec des graphiques.
Olivier

Bonne nouvelle :wink:

Je ne sais pas si tu avais vu ça, mais si pour l’index « BASE » tu ajoutes ces 2 lignes, comme dans l’exemple de @Pbranly, tu pourra directement ajouter l’entité qui en résulte dans HA dans le tableau de bord énergie pour avec les graphs de conso par heure.

    state_class: "total_increasing"
    device_class: "energy"

oui, oui, j’ai commencé à jouer avec… merci

1 « J'aime »