Erreur dans log "Platform mqtt does not generate unique IDs"

Bonjour,

Mon problème

Message d’erreur dans le log

Enregistreur: homeassistant.components.switch
Source: helpers/entity_platform.py:873
intégration: Commutateur (documentation, problèmes)
S’est produit pour la première fois: 21:38:52 (1 occurrence)
Dernier enregistrement: 21:38:52

Platform mqtt does not generate unique IDs. ID ESPswitch_friendly_name already exists - ignoring switch.sonoff_thr316_001_friendly_name

J’ai deux capteur de t° Sonoff thr316 flasher avec esphone
Ils me servent uniquement à remonté la température actuellement.

Les codes sont identique excepté la partie substitution qui identifie/configure chaque appareils.

Si je comprend bien le message du log, il semblerais que je définisse deux fois un switch avec le même nom. J’ai beau me relire cela ne me saute pas aux yeux. Ou bien j’interprète mal le message d’erreur?

Si quelqu’un pouvais jeter un œil sur ce code et me trouver mon erreur, là je sèche.
Merci
Cordialement

# Sonoff THR316 Smart Temperature and Humidity Monitoring Switch
# Assumes that a DS18B20 temperature sensor is connected

substitutions:
  device_friendly_name: "Sonoff-THR316-001"   #"Sonoff-THR316-002" 
  device_id_name: sonoffthr316001                    #sonoffthr316002
  device_ip: xxx.xxx.xxx.xx1                                #xxx.xxx.xxx.xx2
  add_DS18B20: ADRESSE1                             #ADRESSE2

esphome:
  name: $device_id_name
  friendly_name: $device_friendly_name
  on_boot:
    - priority: 90
      then:
      # Make sure the relay is in a known state at startup
      - switch.turn_off: ${device_id_name}_relay
      # Default to running the climate control in Home mode
      - climate.control:
          id: climate_control
          preset: "Home"

esp32:
  board: nodemcu-32s
  framework:
    type: esp-idf

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  min_auth_mode: !secret wifi_min_auth_mode
  manual_ip:
    static_ip: $device_ip
    subnet: 255.255.255.0
    gateway: !secret ip_gateway
    dns1: !secret ip_dns1
    dns2: !secret ip_dns2
  ap:
    ssid: $device_id_name
    password: !secret ap_password

captive_portal:

logger:
  level: DEBUG #INFO
  baud_rate: 0

#api:
#  password: ""

mqtt:
  broker: !secret mqtt_broker
  username: !secret mqtt_user
  password: !secret mqtt_password  

ota:
  platform: esphome
  password: "*********"

#optional
web_server:
  port: 80

time:
  - platform: sntp
    id: sntp_time  
    servers:
      - !secret sntp1
      - !secret sntp2
      - !secret sntp3
    timezone: CET-1CEST,M3.5.0,M10.5.0/3  #Europe/Brussels
  #- platform: homeassistant
  #  id: homeassistant_time

##############################################################################################

switch:
  - platform: gpio
    id: ${device_id_name}_relay
    name: ${device_friendly_name} Relay
    #id: relay
    #name: $friendly_name
    pin: GPIO21
    restore_mode: RESTORE_DEFAULT_OFF
    on_turn_on:
      - delay: 500ms
      - light.turn_on: switch_led
    on_turn_off:
      - delay: 500ms
      - light.turn_off: switch_led
  #- platform: restart
  #  name: $friendly_name Restart
  # This is needed to power the external sensor.
  # It receives 3v3 from this pin, which is pulled up on boot.
  - platform: gpio
    id: sensor_power
    pin: GPIO27
    restore_mode: ALWAYS_ON

light:
  - platform: status_led
    id: switch_led
    internal: True
    pin:
      number: GPIO16
      inverted: True
  - platform: status_led
    id: wifi_status_led
    internal: True
    pin:
      number: GPIO15
      inverted: True
  - platform: status_led
    id: auto_led
    internal: True
    pin:
      number: GPIO13
      inverted: True    

button:
  - name: $device_friendly_name Restart
    id: ${device_id_name}_Restart
    platform: restart

interval:
  - interval: 30s
    then:
      if:
        condition:
          wifi.connected:
        then:
          - light.turn_on: wifi_status_led
        else:
          - light.turn_off: wifi_status_led      

# DS18B20 Digital Temperature Sensor Hub
one_wire:
  - platform: gpio
    id: ${device_id_name}_temp_sensor
    pin: GPIO25

sensor:
  - platform: wifi_signal
    name: $device_friendly_name Wifi RSSI
    update_interval: 60s

  - platform: uptime
    id: uptime_sensor
    internal: True
    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;
              seconds = seconds % 60;
              return (
                (days ? to_string(days) + "d " : "") +
                (hours ? to_string(hours) + "h " : "") +
                (minutes ? to_string(minutes) + "m " : "") +
                (to_string(seconds) + "s")
              ).c_str();            

  #- platform: template
  #  id: esp32_temp
  #  name: $device_friendly_name ESP32 Internal Temp
  #  device_class: temperature
  #  unit_of_measurement: °C
  #  lambda: return temperatureRead();

  # External DS18B20 Digital Temperature Sensor
  - platform: dallas_temp #dallasng #
    id: temp     
    one_wire_id: ${device_id_name}_temp_sensor
    name: $device_friendly_name Temperature
    address: $add_DS18B20
    unit_of_measurement: "°C"
    device_class: "temperature"
    state_class: "measurement"
    update_interval: 10s
    accuracy_decimals: 2

text_sensor:
  - platform: template
    id: uptime_human
    name: $device_friendly_name Uptime
    icon: mdi:clock-start
  - platform: wifi_info
    ip_address:
      name: $device_friendly_name IP
    ssid:
      name: $device_friendly_name SSID
    bssid:
      name: $device_friendly_name BSSID   

climate:
  - platform: thermostat
    id: climate_control
    name: $device_friendly_name Climate Control
    sensor: temp
    min_heating_off_time: 5s
    min_heating_run_time: 5s
    min_idle_time: 5s
    heat_deadband: 2
    heat_action:
      - switch.turn_on: ${device_id_name}_relay
    idle_action:
      - switch.turn_off: ${device_id_name}_relay
    off_mode:
      - switch.turn_off: ${device_id_name}_relay
    default_preset: Home
    preset:
      - name: Home
        default_target_temperature_low: 20 °C
    on_state:
    - if:
        condition:
          lambda: |-
            return id(climate_control).mode == CLIMATE_MODE_OFF;
        then:
          - light.turn_off: auto_led
    - if:
        condition:
          lambda: |-
            return id(climate_control).mode == CLIMATE_MODE_HEAT;
        then:
          - light.turn_on: auto_led       
     

Cordialement

Bonjour,
Je répond moi-même.
J’ai bien vérifié que que les fichiers étaient identiques hormis la section ‹ substitutions ›. Vérifier avec Winmerge.
Finalement j’ai effacé/purgé les deux devices et réinstallés. Un après l’autre.
Cela semble avoir corrigé le problèmes, actuellement en tout cas.
Si cela peux aider quelqu’un à l’avenir.
Cordialement