Configuring Command Line sensor using YAML has moved. Je suis bloqué

Mon problème

Bonjour à toutes et tous,
J’ai tenté de refaire mon fichier sensors.yaml

j’ai donc dans configuration.yaml
sensor: !include sensors.yaml

Je suis passé de ça (qui marche parfaitement bien):

#V1 config yaml
- platform: template
  sensors:
    conso_corrigee:
      friendly_name: "conso corrigee"
      value_template: "{{states('sensor.shellyem_34945470f4ca_channel_2_power')|multiply(1.06)|round(0)}}"
      unit_of_measurement: Wh
      device_class: energy
      icon_template: mdi:gauge
      attribute_templates:
        state_class: total_increasing
    #comptage lumières allumées
    nombre_lumieres_on:
      friendly_name: "lumières allumées"
      value_template: "{{ states.light | selectattr('state', 'eq', 'on') | rejectattr('attributes.friendly_name','search','all')| list | count }}"
    #Solaire beem
    solaire_beem_total:
      friendly_name: "Solaire Beem Total"
      value_template: "{{states('sensor.beem1_ch1_power') | float + states('sensor.beem2_ch1_power') | float}}"
      unit_of_measurement: 'watts'
    #solaire Voltalia
    solaire_voltalia_total:
      friendly_name: "Solaire Voltalia Total"
      value_template: "{{states('sensor.arriere_cuisine_ch1_power') | float + states('sensor.arriere_salon_ch1_power') | float}}"
      unit_of_measurement: 'watts'
    #temperature SPA
    temperature_spa:
      friendly_name: "temperature spa"
      value_template: "{{ state_attr('climate.spa', 'current_temperature') }}"
      unit_of_measurement: '°C'
#System Monitor raspberry Pi
- platform: systemmonitor
  resources:
    - type: disk_free
      arg: /
    - type: disk_use_percent
      arg: /
    - type: memory_free
    - type: memory_use_percent
    - type: swap_use_percent
    - type: processor_use
    - type: last_boot

# Temperature CPU
- platform: command_line
  name: "RPi CPU Temperature"
  command: "cat /sys/class/thermal/thermal_zone0/temp"
  value_template: "{{ value | multiply(0.001) | round(2) }}"
  unit_of_measurement: c°

# Tempo
- platform: rest
  name: "Tempo Demain"
  resource_template: https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter={{now().strftime("%Y-%m-%d")}}&TypeAlerte=TEMPO
  value_template: '{{ value_json.JourJ1.Tempo }}'
  headers:
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Content-Type: application/json
    User-Agent: Wget/1.20.3 (linux-gnu)
- platform: rest
  name: "Tempo Aujourd'hui"
  resource_template: https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter={{now().strftime("%Y-%m-%d")}}&TypeAlerte=TEMPO
  value_template: "{{ value_json['JourJ'].Tempo }}"
  headers:
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Content-Type: application/json
    User-Agent: Wget/1.20.3 (linux-gnu)

à ça:

command_line:
  - sensor:
      name: conso_corrigee
      friendly_name: "conso corrigee"
      value_template: "{{states('sensor.shellyem_34945470f4ca_channel_2_power')|multiply(1.06)|round(0)}}"
      unit_of_measurement: Wh
      device_class: energy
      icon_template: mdi:gauge
      scan_interval: 3
      attribute_templates:
        state_class: total_increasing
    #comptage lumières allumées
  - sensor:
      name: nombre_lumieres_on
      friendly_name: "lumières allumées"
      value_template: "{{ states.light | selectattr('state', 'eq', 'on') | rejectattr('attributes.friendly_name','search','all')| list | count }}"
      scan_interval: 3
    #Solaire beem
  - sensor:    
      name: solaire_beem_total
      friendly_name: "Solaire Beem Total"
      value_template: "{{states('sensor.beem1_ch1_power') | float + states('sensor.beem2_ch1_power') | float}}"
      unit_of_measurement: 'watts'
      scan_interval: 3
    #solaire Voltalia
  - sensor:
      name: solaire_voltalia_total
      friendly_name: "Solaire Voltalia Total"
      value_template: "{{states('sensor.arriere_cuisine_ch1_power') | float + states('sensor.arriere_salon_ch1_power') | float}}"
      unit_of_measurement: 'watts'
      scan_interval: 3
    #temperature SPA
  - sensor:    
      name: temperature_spa
      friendly_name: "temperature spa"
      value_template: "{{ state_attr('climate.spa', 'current_temperature') }}"
      unit_of_measurement: '°C'
      scan_interval: 3
    # Temperature CPU
  - sensor: 
      name: RPi_CPU_Temperature
      friendly_name: "RPi CPU Temperature"
      command: "cat /sys/class/thermal/thermal_zone0/temp"
      value_template: "{{ value | multiply(0.001) | round(2) }}"
      unit_of_measurement: c°
      scan_interval: 3
      
#System Monitor raspberry Pi
  - platform: systemmonitor
    resources:
      - type: disk_free
        arg: /
      - type: disk_use_percent
        arg: /
      - type: memory_free
      - type: memory_use_percent
      - type: swap_use_percent
      - type: processor_use
      - type: last_boot

# Tempo
  - platform: rest
    name: "Tempo Demain"
    resource_template: https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter={{now().strftime("%Y-%m-%d")}}&TypeAlerte=TEMPO
    value_template: '{{ value_json.JourJ1.Tempo }}'
    headers:
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
      Content-Type: application/json
      User-Agent: Wget/1.20.3 (linux-gnu)
  - platform: rest
    name: "Tempo Aujourd'hui"
    resource_template: https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter={{now().strftime("%Y-%m-%d")}}&TypeAlerte=TEMPO
    value_template: "{{ value_json['JourJ'].Tempo }}"
    headers:
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
      Content-Type: application/json
      User-Agent: Wget/1.20.3 (linux-gnu)

La config semble bonne

Mais ça me revoie ça:

Invalid config for [sensor]: required key not provided @ data['platform']. Got None. (See /config/configuration.yaml, line 56).

Ma configuration


Home Assistant 2023.7.2
Supervisor 2023.07.1
Operating System 10.3
Interface utilisateur : 20230705.1 - latest


Bonjour,
Tu peu plus utiliser le command_line dans le sensors.yaml.
Comme tu la configurer dans ton configuration.yaml command_line: !include command_line.yaml,
le command_line doit ce mettre dans le fichier command_line.yaml.

tu dois copier t’es sensors command_line dedans, sans mettre au début command_line:.
Ensuite, le friendly_name: existe plus, c’est remplacer par name:

je t’es corriger le friendly name et rajouter un unique_id: correspondant a ton ancienne nom. Dans le command_line.yaml ca doit ressembler a ça:

  # Temperature CPU
- sensor: 
    name: RPi CPU Temperature
    unique_id: RPi_CPU_Temperature
    command: "cat /sys/class/thermal/thermal_zone0/temp"
    value_template: "{{ value | multiply(0.001) | round(2) }}"
    unit_of_measurement: c°
    scan_interval: 3
1 « J'aime »

Salut

Tu dois laisser ton fichier sensors.yaml tel qu’il est, et enlever seulement la partie :

# Temperature CPU
- platform: command_line
  name: "RPi CPU Temperature"
  command: "cat /sys/class/thermal/thermal_zone0/temp"
  value_template: "{{ value | multiply(0.001) | round(2) }}"
  unit_of_measurement: c°

Tu dois rajouter cette ligne dans configuration.yaml:
command_line: !include command_line.yaml

Et tu crée un fichier command_line.yaml avec:

  # Temperature CPU
- sensor: 
    name: RPi CPU Temperature
    unique_id: RPi CPU Temperature
    command: "cat /sys/class/thermal/thermal_zone0/temp"
    value_template: "{{ value | multiply(0.001) | round(2) }}"
    unit_of_measurement: c°
    scan_interval: 3

PS: @WarC0zes Tu n’es pas bien réveiller :wink:

Heu, je vois pas ou j’ai fais une erreur :thinking:

80797b410aed08e76d63945907645eb0c5357dca_2_690x430

Dans le command_line.yaml, il ne doit y avoir que le RPi CPU Temperature

1 « J'aime »

Je vois PTDR !! Lu trop vite.

Purée merci, j’avais interprété que je devais refaire tous mes sensors…
Et à chaque fois je me cassais les dents

merci grâce a vous je n’ai plus d’erreur :slight_smile: