Entités génériques problème de logs

Bonjour,

je suis en train de flasher un ESP8266 en suivant ce tuto : Vos premiers pas avec ESPHome

Tout a bien fonctionné jusqu’au chapitre 5. J’ai édité et collé le code mais lorsque je vérifie si le code est correct, je me trouve avec ce logs :

`INFO Reading configuration /config/esphome/porte-poules.yaml…
ERROR Error while reading config: Invalid YAML syntax:

while parsing a block mapping
in « /config/esphome/porte-poules.yaml », line 1, column 1:
esphome:
^
expected , but found ‹  ›
in « /config/esphome/porte-poules.yaml », line 33, column 5:
sensor:
^`

N’étant pas encore habitué avec ce langage, j’aurais bien besoin d’une petite aide.

SAlut

Publie integralement ton code, ça ressemble un un probleme d’identation

Attention n’oublie pas de le mettre entre les balises qui vont bien afin d’assurer une lisibilité et identifier le probleme

image

1 « J'aime »
esphome:
  name: porte-poules
  friendly_name: Porte poules

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxxxxxxxxxxxxx/k8="

ota:
  password: "xxxxxxxxxxxxxxxxxxxx"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Porte-Poules Fallback Hotspot"
    password: "xxxxxxxxxxxxxxxxxxx"
    
binary_sensor:
    # statut
      - platform: status
        name: "Statut"

    sensor:
    # Qualité du signal
      - platform: wifi_signal
        name: "Signal Wifi"
        update_interval: 60s
    # Temps de fonctionnement
      - platform: uptime
        name: "Allumé depuis (s)"
        id: uptime_sec
       
    switch:
    # Bouton de redémarrage
      - platform: restart
        name: "Redémarrage"

    # Transformation des secondes en jours
    text_sensor:
      - platform: template
        name: "Allumé depuis (j)"
        lambda: |-
          int seconds = (id(uptime_sec).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 { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };          
        icon: mdi:clock-start
        update_interval: 60s

Salut

Evite de mettre tes mots de passe
Un @Moderateur pour corriger ?

1 « J'aime »

Ton indentation n’est pas correcte à partir de binary_sensor.
Essaie ça:

binary_sensor:
  # statut
  - platform: status
    name: "Statut"

sensor:
  # Qualité du signal
  - platform: wifi_signal
    name: "Signal Wifi"
    update_interval: 60s
  # Temps de fonctionnement
  - platform: uptime
    name: "Allumé depuis (s)"
    id: uptime_sec

switch:
# Bouton de redémarrage
  - platform: restart
    name: "Redémarrage"

# Transformation des secondes en jours
text_sensor:
  - platform: template
    name: "Allumé depuis (j)"
    lambda: |-
      int seconds = (id(uptime_sec).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 { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() };          
    icon: mdi:clock-start
    update_interval: 60s
1 « J'aime »

@jrvrcd avais raison, problème d’indexion :wink:

Petit truc avec l’interface ESPHOME

généralement la ou ça décorne se sera souligné en rouge si tu mets ton pointeur sur la partie soulignée tu devrais avoir un message relativement explicite permettant d’identifier ton erreur.

suis au bureau donc pas accès a mon instance HA
je donnerais un exemple ce soir

Ca fonctionne. Merci beaucoup.
Du coup, pour bien comprendre, la seule différence que je vois, c’est l’espacement avant le tiret ?
D’ailleurs, si vous avez un didacticiel/tuto pour apprendre et comprendre ce langage… ça évitera de vous embêter trop souvent :sweat_smile:

Encore merci à tous.

Salut

sinon decortiquer les differents trucs qui existent

par exemple

Voila un exemple
image

il faut pas hésiter a regarder dans tout le code s’il n’y a pas de surlignage en rouge

Merci. Je vais regarder ça rapidement.