Sous-attribut

Mon problème

Bonjour,

Je souhaite utiliser ce résultat dans une automatisation
image

Voici l’automatisation

alias: "Robot tondeuse _ Changement lames ### A FAIRE ###"
description: ""
trigger:
  - platform: state
    entity_id:
      - vacuum.l800_wr148e
condition: []
action:
  - if:
      - condition: numeric_state
        entity_id: vacuum.l800_wr148e
        attribute: current_on
        above: 10
    then:
      - service: notify.mobile_app_pixel_4a
        data:
          title: Automatisation "Changement lames"
          message: Lames à changer
mode: single

Merci d’avance pour votre aide

Ma configuration


System Information

version core-2023.4.6
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.10
os_name Linux
os_version 6.1.24
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.32.1
Stage running
Available Repositories 1271
Downloaded Repositories 4
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.0
update_channel stable
supervisor_version supervisor-2023.04.1
agent_version 1.5.1
docker_version 23.0.3
disk_total 30.8 GB
disk_used 5.2 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons SomfyProtect2MQTT (0.2.9), Samba share (10.0.1), Zigbee2MQTT (1.30.3-1), Samba Backup (5.2.0), File editor (5.6.0), Z-Wave JS UI (1.11.1), Z-Wave JS (0.1.79)
Dashboards
dashboards 1
resources 0
views 8
mode storage
Recorder
oldest_recorder_run 18 avril 2023 à 19:16
current_recorder_run 25 avril 2023 à 08:33
estimated_db_size 84.86 MiB
database_engine sqlite
database_version 3.38.5

Hello

Pour cela du dois créé un sensor, ensuite tu emploi ce sensor dans ton automatisation

Merci pour cette réponse rapide. Désolé, je suis débutant, on peut créer depuis l’interface?

Regarde cela pour t’aidé

J’ai regardé mais ça ne m’a pas beaucoup aidé. Platform, il faut écrire quoi? Serait-il possible de m’écrire ce qui va bien?

Je ne trouve pas la solution, merci d’avance pour votre aide.

Je suis toujours coincé :pray: :smiling_face_with_tear:.

J’arrive à ressortir la valeur
value_template: {{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}

J’essaie de créer un sensor

sensor:
  - platform: template
    sensors:
      DDV_lames:
        value_template: {{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}

mais j’ai une erreur
image

Bonjour,

Les liens proposés plus haut mentionnent l’ancienne méthode de création de « template ».
Je ne sais pas si tu sépares tes capteurs de ton fichier configuration.yaml. Supposons que non, dans ce cas, dans ton fichier configuration.yaml ajoute ceci :

sensor: #sauf si déjà existant dans le fichier conf
  - name: "Durée de vie lames"
    unique_id: ddv_lames
    state: >-
      {{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}

Ensuite dans ton automatisation c’est ce nouveau capteur qui servira de trigger.

ps: une fois le capteur créé, il faut recharger le fichier de config, ou « entités modèles » si tu sépares les éléments de ta conf. Ou redémarrer au pire.

Salut.
L’ancien format est encore parfaitement valable.
Personnellement j’aurai plus fait un double state_attribut pour accéder au curent_on du premier lot d’attributs. Ça me semble plus dans la logique Ha. Mais j’ai pour autant jamais testé

C’est vrai pour l’ancien format, mais non recommandé d’après la doc officielle. Autant partir sur la nouvelle méthode pour éviter un « deprecated » dans quelques mois. Comme dirait Barney Stinson « New is always better » :stuck_out_tongue:

Personnellement, je n’ai jamais testé le « sous-attribut » non plus car aucun besoin, c’est simplement pour l’aiguiller (j’ai testé la formule sur un de mes capteurs avec sous-attribut).

1 « J'aime »

OK, si tu as testé c’est parfait. C’était justement ma question.
Concernant l’ancien format, effectivement autant prendre le nouveau, mais il est bien noté

This format still works but is no longer recommended

Donc encore un peu de marge avant le deprecated.

Bonjour,

Merci pour votre aide.

J’ai créé un fichier sensors.yaml

Je fais appel à lui dans le fichier configuration.yaml
sensor: !include sensors.yaml
Du coup dans fichier sensors.yaml

- name: "Durée de vie lames"
  unique_id: ddv_lames
  state: >-
    {{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}

Quand je teste la config, j’ai ce message


image

L’automatisation sera planifiée.

Si tu préfères rester avec l’ancien format, ton 1er essai était presque bon, rajoute simplement les " " à la suite de value_template:

sensor:
  - platform: template
    sensors:
      DDV_lames:
        value_template: "{{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}"

Exemple sur la doc officielle :

J’essaierai la version moderne dès que j’aurais réussi l’ancienne :wink:.

Malheureusement, ça ne fonctionne pas, j’ai ce défaut


image

sans s sensor.yaml

sensor: !include sensor.yaml

le fichier idem, sensor.yaml :wink:

C’est pas ça :smiling_face_with_tear:. Il faut que je rallonge la réponse (20 caractères mini) :rofl:

Montre le code que ta mis dans ton sensor.yaml .

dans le sensor.yaml, tu dois avoir comme ca:

- platform: template
  sensors:
    DDV_lames:
      value_template: "{{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}"

Faut pas mettre sensor: au début dans le fichier sensor.yaml. ( comme sur la capture)

Tu avais raison, j’ai retiré le premier sensor: . Jai corrigé DDV_lames en ddv_lames.

- platform: template
  sensors:
    ddv_lames:
      value_template: "{{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}"

Le test config est ok.

J’ai redémarré, le sensor est bien créé :ok_hand:.

Merci à tous.

2 « J'aime »

J’ai ajouté 2/3 infos pour le plaisir :wink:

- platform: template
  sensors:
    ddv_lames:
      friendly_name: "Durée de vie lames"
      value_template: "{{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}"
      unit_of_measurement: 'min'

Pour ne plus être en Legacy.
J’ai créé un fichier template_sensors.yaml
J’ai mis ce code dedans et ça fonctionne :grinning:

sensor:
  - name: "Durée de vie lames"
    unique_id: "sensor.ddv_lames"
    state: >-
      {{ state_attr('vacuum.l800_wr148e', 'blades').current_on }}
    unit_of_measurement: 'min'

Merci encore à ceux qui m’ont aidé :wink: