Port série sonoff Dual R2

Hello a tous !

Pour commencer meilleurs voeux a tous :wink:

Je souhaiterai récupérer le port Rx d’un sonoff dual R2, initialement prévu pour le formatage vers tasmota ou esphome pour brancher un pitinfo via esphome pour récupérer les infos du compteur.

Mais cela ne marche pas … Après des recherches j’ai trouvé que c’était le port GPIO3 mais aucune info ne remonte.

Je viens d’essayer avec un esp8266 les infos remontent correctement.

J’ai vu aussi sur internet que certains avais réussi à brancher un DHT22 sur ces ports mais via tasmota et je préférai rester sur esphome.

Est-ce que quelqu’un a deja eu le cas sur ce sonoff ?

Merci d’avance :wink:

Attention les GPIO des ESP ne peuvent pas être utilisés directement comme port série car ce ne sont pas les bons niveaux logiques ! Il faut un circuit adaptateur entre les deux…
Peux-tu partager aussi le code ESPHome que tu as essayé ?

Aïe … Ça arrange pas mes affaires ahah :sweat_smile:

Merci de la réponse et voici le code :

esphome:
  name: tic
  comment: TIC
esp8266:
  board: esp01_1m
# Enable logging
logger:
  baud_rate: 0
  level: DEBUG 
  esp8266_store_log_strings_in_flash: False
# Enable Home Assistant API
api:
  encryption:
    key: "***************************"
ota:
  password: "************************"
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Tic Fallback Hotspot"
    password: "3ZZHIgWX7IuL"
captive_portal:
switch:
  - platform: gpio
    name: "Contact 2"
    pin: GPIO05
    id: relay2
  - platform: shutdown
    name: "Eteindre"
  - platform: restart
    name: "Redémarrer"
status_led:
  pin:
    number: GPIO13
    inverted: yes
uart:
  id: uart_bus
  rx_pin: GPIO3  # Pin Rx
  baud_rate: 1200
  parity: EVEN
  data_bits: 7
  
binary_sensor:
  - platform: status
    name: "Teleinfo Status"
teleinfo:
    id : myteleinfo
    update_interval: 30s
    historical_mode: true
text_sensor:
  - platform: template
    name: "Linky Uptime"
    id: uptime_human
    icon: mdi:clock-start
    
  - platform: wifi_info
    ip_address:
      name: "Esp Linky Local IP"
    ssid:
     name: "Esp Linky SSID"
  - platform: teleinfo
    tag_name: "OPTARIF"
    name: "Linky optarif"
    teleinfo_id: myteleinfo
  - platform: teleinfo
    tag_name: "PTEC"
    name: "Linky Tarif en cours"
    icon: mdi:currency-eur
button:
  - platform: restart
    name: "Esp Linky Restart"
  - platform: shutdown
    name: "Esp Linky Shutdown"
  - platform: safe_mode
    name: "Esp Linky Safe Mode"
sensor:
  - platform: wifi_signal
    name: "Esp Linky WiFi Signal"
    update_interval: 300s
    
 #Linky Heure Creuse
  - platform: teleinfo
    tag_name: "HCHC"
    name: "Linky HC"
    teleinfo_id: myteleinfo
    state_class: "measurement"
    device_class: "energy"
    unit_of_measurement: "Wh"
    
 #Linky Heure Creuse KWh
  - platform: teleinfo
    tag_name: "HCHC"
    name: "Linky HC kWh"
    teleinfo_id: myteleinfo
    state_class: "total_increasing"
    device_class: "energy"
    unit_of_measurement: "kWh"
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
  
  #Linky Heure Pleine
  - platform: teleinfo
    tag_name: "HCHP"
    name: "Linky HP"
    teleinfo_id: myteleinfo
    state_class: "measurement"
    device_class: "energy"
    unit_of_measurement: "Wh"
    
 #Linky Heure Creuse KWh
  - platform: teleinfo
    tag_name: "HCHP"
    name: "Linky HP kWh"
    teleinfo_id: myteleinfo
    state_class: "total_increasing"
    device_class: "energy"
    unit_of_measurement: "kWh"
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
 
  #Linky Puissance apparente
  - platform: teleinfo
    tag_name: "PAPP"
    name: "Linky Puissance Apparente"
    unit_of_measurement: "VA"
    icon: mdi:flash
    teleinfo_id: myteleinfo
    
   #Linky Intensité
  - platform: teleinfo
    tag_name: "IINST"
    name: "Linky Intensité"
    unit_of_measurement: "A"
    icon: mdi:flash
    teleinfo_id: myteleinfo
    
   #Linky Intensité Maximum Journée
  - platform: teleinfo
    tag_name: "IMAX"
    name: "Linky Intensité Max"
    unit_of_measurement: "A"
    icon: mdi:flash
    teleinfo_id: myteleinfo  

    
  - platform: uptime
    name: "Esp Linky Uptime"
    id: uptime_sensor
    update_interval: 120s
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: uptime_human
            state: !lambda |-
              int seconds = round(id(uptime_sensor).raw_state);
              int days = seconds / (24 * 3600);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds /  60;
              return (
                (days ? to_string(days) + "d " : "") +
                (hours ? to_string(hours) + "h " : "") +
                (minutes ? to_string(minutes) + "m " : "")
              ).c_str()