Bonjour
je pêche toujours par manque d’expérience, ou de savoir ou l’on doit trouver les infos.
J’ai besoin de déclarer des sensors, alors à chaque fois je tatonne et au bout d’un moment on finit toujours par trouver sans jamais trop maitriser.
Ci dessous un extrait de mon fichier configuration.yaml ; dans lequel j’ai utilisé deux méthodes pour déclarer mes sensors ; la seconde générant des erreurs « duplacate key sensors » Quelqu’un peut t’il m’expliquer quelle utilité d’une ou de l’autre méthode ? ou bien comment faire celà proprement ? merci la communauté
sensor:
- platform: template
sensors:
daikin_puiss_actuelle: # = image de l'input number du meme nom
friendly_name: "DAIKIN puissance actuelle % (pour courbe)"
unit_of_measurement: "%"
value_template: >-
{%- if is_state('switch.shelly1_ext', 'on') -%}
{{states('input_number.daikin_puissance')|round(0)}}
{%- else -%}
0
{%- endif -%}
template:
sensor:
- state: "{% if ( ((now().strftime('%H:%M') >= '01:30') and (now().strftime('%H:%M') < '07:30'))or((now().strftime('%H:%M') >= '12:30') and (now().strftime('%H:%M') < '14:30')) ) -%} {{states.input_number.prix_heure_creuse_kwh.state | float(default=0)}} {%- else -%} {{states.input_number.prix_heure_pleine_kwh.state | float(default=0)}} {%- endif %} "
state_class: 'measurement'
name: "Prix du Kwh en euros"
unit_of_measurement: "EUR/kWh"
unique_id: 'prix_kwh_bleu'
icon: mdi:currency-eur
sensor:
- state: "{{ (states.sensor.shellyem_garage_gen_energy.state | float) - (states.sensor.shellyem_garage_rdc_energy.state | float) - (states.sensor.shellyem_atel_pac_energy.state | float) - (states.sensor.shellyem_atel_eau_energy.state| float) }}"
state_class: 'measurement'
name: "shellyem_maison_reste_energy" # = image du reste de la conso calculée
unit_of_measurement: "kWh"
unique_id: 'shellyem_maison_reste_energyID'
icon: mdi:battery-charging-100
sensor:
- state: "{{ ( (states.sensor.shellyem_garage_gen_power.state | float) - (states.sensor.shellyem_garage_rdc_power.state | float) - (states.sensor.shellyem_atel_pac_power.state | float) - (states.sensor.shellyem_atel_eau_power.state| float) ) |round(1) }}"
state_class: 'measurement'
name: "shellyem_maison_reste_power" # = image du reste de la puissance
unit_of_measurement: "W"
unique_id: 'shellyem_maison_reste_powerID'
icon: mdi:flash-alert
Bonjour @WarC0zes ; et merci de ta réponse ultra-rapide.
J’ai éffectivement ecrit les premiers il y a deux ans et les derniers cette année.
Maintenant saurais tu me dire pourquoi ca me crée des erreurs « duplicate key » ; alors que j’ai mis des unique-ID différents ?
Merci d’avance
Merci pour cette explication, à vrai dire je m’y perds aussi. Je copie des trucs à droite et à gauche en crééant des fichiers dédiés sensor.yaml, template.yaml mais au final je m’aperçois que c’est la même chose. Des sensors dans les 2 avec les 2 méthodes ancienne et nouvelle.
Comment vous structurer vos fichiers, dédié sensors, binary… ou par utilisation, chauffage… ?
C’est ce que j’ai fait, mais cette semaine, je me suis m’y à mettre des platform: derivative dans mon sensor.yaml et créer un fichier template.yaml pour calculer un sensor d’une valeur max.
C’est pas encore très clair comment gérer la découpe de mes fichiers, mais je pense que c’est propre à chacun de s’y retrouver
@WarC0zes ; du coup j’ai encore une « dernière » question ;
C’est quoi la différence entre un sensor et un template ?
Moi j’ai déclaré des sensors directement, et des sensors dans des template mais sans trop savoir pourquoi ? le template c’est juste que quand il y a une équation pour calculer l’état ?
un template , c’est pour afficher un statut ( ou attribut ) d’une entité ou un calcul .
le sensor: permet d’utiliser des intégrations qui fonctionne quand YAML ou des templates ( avant que ca change ).
Maintenant les templates sont détacher de sensor:, pour une meilleur organisation.
Tu peut faire des templates directement du UI maintenant aussi.
Dans paramètres / appareils et services / Entrée .
c’est un template type sensor, pour les templates ta plusieurs type. Ta sensor, binary_sensor.
quand tu créer un template d’un type faut le déclarer en premier, suivie de ton entité que tu veut créer.