Community Forum

    • Register
    • Login
    • Search
    • Blog
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Wemos Teleinfo et ESP Home

    Wemos Teleinfo
    3
    4
    254
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Y
      yannlieb last edited by

      Après m'être battu pendant quelque temps avec un D1 mini 8266, le wemos shield et ESPHome, le D1 rebootant de manière aléatoire, voici ma config ESPHome enfin stable.

      Spoiler : j'avais récupéré d'une autre config teleinfo la ligne "tx_pin: GPIO1", une fois commentée, la configuration est stable.

      Disclaimer : Tous les informations disponibles dans le mode standard du Linky ne sont pas reprises dans la config ci-dessous. La config est pour un Linky monophasé.

      esphome:
        name: "esp82-01"
      
      esp8266:
        board: nodemcuv2 #d1_mini
      
      # Enable logging
      logger:
        level: DEBUG
        hardware_uart: UART1
        #baud_rate: 0
      
      # Enable Home Assistant API
      api:
      
      ota:
      
      wifi:
        ssid: !secret wifi_ssid
        password: !secret wifi_password
      
        # Enable fallback hotspot (captive portal) in case wifi connection fails
        ap:
          ssid: "Esp82-01"
          password: !secret wifi_fallback_password
      
      captive_portal:
      
      uart:
        id: uart_bus
        rx_pin: GPIO13
        #tx_pin: GPIO1 # Was crashing when tx_pin was set
        baud_rate: 9600
        parity: EVEN
        data_bits: 7
      
      teleinfo:
        id: myteleinfo
        update_interval: 15s
        historical_mode: false
      
      sensor:
        - platform: wifi_signal
          name: "WiFi Signal Sensor"
          update_interval: 60s
          unit_of_measurement: dB
          accuracy_decimals: 0
          force_update: false
          icon: mdi:wifi
          
        - platform: uptime
          id: uptime_seconds
          name: "Uptime Sensor"
          update_interval: 60s
          unit_of_measurement: s
          accuracy_decimals: 0
          force_update: false
          icon: mdi:timer
      
        - platform: teleinfo
          tag_name: "IRMS1"
          name: "Intensite Inst."
          unit_of_measurement: "A"
          icon: mdi:current-ac
          teleinfo_id: myteleinfo
      
        - platform: teleinfo
          tag_name: "URMS1"
          name: "Tension Inst."
          unit_of_measurement: "V"
          icon: mdi:current-ac
          teleinfo_id: myteleinfo
          
        - platform: teleinfo
          tag_name: "SINSTS"
          name: "Puissance Inst."
          device_class: power
          unit_of_measurement: "VA"
          icon: mdi:flash
          teleinfo_id: myteleinfo
          
        - platform: teleinfo
          tag_name: "EASF01"
          name: "Index heures creuses"
          unit_of_measurement: "kWh"
          accuracy_decimals: 3
          device_class: energy
          state_class: "total_increasing"
          icon: mdi:gauge
          teleinfo_id: myteleinfo
          id: heures_creuses
          filters:
            - multiply: 0.001 
          
        - platform: teleinfo
          tag_name: "EASF02"
          name: "Index heures pleines"
          unit_of_measurement: "kWh"
          accuracy_decimals: 3
          device_class: energy
          state_class: "total_increasing"
          icon: mdi:gauge
          teleinfo_id: myteleinfo
          id: heures_pleines
          filters:
            - multiply: 0.001 
       
      text_sensor:
        - platform: template
          name: Uptime
          update_interval: 30s
          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() };
            }
      
        - platform: teleinfo
          tag_name: "LTARF"
          name: "Tarif en cours"
          icon: mdi:clock-time-nine-outline
      
      Charles 1 Reply Last reply Reply Quote
      • Charles
        Charles @yannlieb last edited by Charles

        @yannlieb un grand merci pour ce retour.

        1 Reply Last reply Reply Quote
        • jerome-labidurie
          jerome-labidurie last edited by

          Bonjour,

          Pour ma part, les reboot intempestifs, semblaient plutôt du au logger série. C'est la conf suivante qui a corrigé le problème :

          logger:
            baud_rate: 0
          

          (HA 2022.12.7, esphome 2022.11.3 en mode mqtt)

          J'ajoute que je suis en mode historique et que tout fonctionne très bien avec une conf dans ce genre :

          uart:
            id: uart_bus
            rx_pin: GPIO13
            # tx_pin: GPIO12 # n'a pas corrigé les reboots
            baud_rate: 1200
            parity: EVEN
            data_bits: 7
          teleinfo:
            id: linky
            update_interval: 60s
            historical_mode: true
          sensor:
            - platform: teleinfo
              tag_name: "HCHC"
              name: "${name} Heures Creuses"
              unit_of_measurement: "Wh"
              icon: mdi:flash
              teleinfo_id: linky
              state_class: total_increasing
              device_class: energy
            - platform: teleinfo
              tag_name: "PAPP"
              name: "${name} Puissance Apparente"
              unit_of_measurement: "VA"
              icon: mdi:flash
              teleinfo_id: linky
              device_class: power
          
          etc... pour les autres tags
          

          Et en bonus, voici un exemple de conf pour gérer la led:

          light:
            - platform: neopixelbus
              type: GRB
              variant: WS2812
              pin: GPIO14
              num_leds: 1
              name: "${name} status"
              effects:
                - pulse:
                   name: "Fast Pulse"
                   transition_length: 0.5s
                   update_interval: 0.5s
                - pulse:
                   name: "Slow Pulse"
                   update_interval: 2s
          
          
          Charles 1 Reply Last reply Reply Quote
          • Charles
            Charles @jerome-labidurie last edited by

            @jerome-labidurie merci pour le retour

            Attention en ESP8266 il n'y a qu'un seul hardware serial (pour ça que je banni au profit de l'ESP32 beaucoup plus souple et performant)
            Donc si t'as un logger série classique sur RX/TX et la téléinfo sur RX (même sur GPIO13 c'est relié a la même uart hard) et bien clairement ça merde. De plus, tu ne peux pas uploader le soft si la téléinfo est branchée car elle fait conflit.

            1 Reply Last reply Reply Quote
            • First post
              Last post
            Copyright © 2022 Charles-Henri Hallard | Return to blog page | Powered by NodeBB