Inverser un capteur de porte

Je n’ai rien au dessus de plateform.
Je suis un noob en template et création de sensor

dans quel fichier as tu a mis ton code.

Je l’ai mis dans la page sensor :

      
    ##binary_sensor:     
  - platform: template
    sensors:
      porte_de_garage_inverse:
        ###device_class: garage_door
        friendly_name: Porte de garage
        value_template: '{{ is_state("binary_sensor.porte_de_garage_contact", "off") }}'

J’ai mis des # avant les lignes qui posent problème.
" binary_sensor" Pour un problème d’indentation et « device_class » Pour un problème de type.

Dans le fichier configuration.yaml, tu dois avoir un paragraphe avec des lignes
include qui ont la forme xxxxxx: !include wwwwww.yaml
Poste toutes les lignes contenant " !include " pour vérifier l’organisation de ta configuration.

Est-ce qu’il existe un fichier appelé binary_sensor.yaml ou approchant ?
Si oui le code doit être mis dans ce fichier et pas dans sensor.yaml

Non, je n’ai pas de fichier binary_sensor. Je débute dans cet aspect de HA. Je vais le créer et y mettre le code, voir si ça résout mon problème.

C’est tout bon. Problème résolu. Merci @maisonauto pour ton aide et tes pistes de recherche qui m’ont aidé à résoudre le problème et merci @fredarro pour le bout de code !

Hello,
J’avais le même besoin que egebsperger.
J’ai donc fait : un fichier binary-sensor.yaml se trouvant dans le repertoire template/( et dans configuration.yaml j’ai mis une ligne template: !include_dir_merge_list template/)

- binary_sensor:      
    - name: "Detecteur Ouverture Cave Virtu"
      unique_id: "detecteur_ouverture_cave_virtu"
      device_class: opening
      icon: mdi:window-closed-variant
      value_template: >-
            {% if is_state("sensor.detecteur_ouverture_cave", "1") %}
              off
            {% elif is_state("sensor.detecteur_ouverture_cave", "0") %}
              on
            {% endif %}

qui me revoie une erreur « property value_template is not allowed »
avec le code :

- binary_sensor:      
    - name: "Detecteur Ouverture Cave Virtu"
      unique_id: "detecteur_ouverture_cave_virtu"
      device_class: opening
      icon: mdi:window-closed-variant
      state: >-
            {% if is_state("sensor.detecteur_ouverture_cave", "1") %}
              off
            {% elif is_state("sensor.detecteur_ouverture_cave", "0") %}
              on
            {% endif %}

Tout fonctionne bien.

Ma question est donc : qu’elle est la difference entre state et value_template?
Pour ce sensor cela fonctionne bien mais est ce que cela ne pourrait pas poser problème a l’avenir de ne pas pouvoir mettre de value_template?
Et surtout pourquoi cela ne fonctionne pas avec valus_template?

Merci a vous!

Salut
Le plus simple, ç’est de regarder la doc:


L’ancien format avait value_template. Mais il n’est plus recommandé.

Suis passé a coté.
Merci

Salut, je pose ça là…
J’ai eu besoin d’inverser les états d’un capteur de porte Xiaomi (intégré via z2m). Sauf que je ne voulais pas passer par un template, pour des raisons de maintenance (large utilisation des yaml anchors).
J’ai trouvé sur le forum anglais cette solution:

Dans le fichier config/zigbee2mqtt/configuration.yaml, il faut rajouter les lignes suivantes:

  "0x00000000000000aabbcc1234":
    friendly_name: your_friendly_name
    homeassistant:
      contact:
        payload_on: true
        payload_off: false

Ensuite redémarrer Home Assistant. Et voilà!!

2 « J'aime »

Bonjour,
j’ai un capteur en zigbee via Mqtt, et pareil, l’état est inversé,

apres avoir noté dans config/zigbee2mqtt/configuration.yaml :
‹ 0xa4c1387752107f53 ›:
friendly_name: Porte Garage
homeassistant:
contact:
payload_on: true
payload_off: false

mais toujours inversé
image

Tu as redémarré z2m ET homeassistant ?

oui, HA , bizarre, ca fait pareil

Bonjour,
dans le configuration.yaml de Z2M, faut mettre c’est structure:

devices:
  "0xa4c1387752107f53":
    friendly_name: Porte Garage
    homeassistant:
      contact:
        payload_on: true
        payload_off: false

Oui, c’est se que j’ai

devices:
  '0xa4c138549c508c31':
    friendly_name: Temp Garage
  '0xa4c1387752107f53':
    friendly_name: Porte Garage
    homeassistant:
      contact:
        payload_on: true
        payload_off: false

Erf… Il n’y a que deux idées tordues qui me viennent à l’esprit :

  • je n’ai pas d’espace dans mon friendly_name, essaye de le virer
  • essaye d’inverser true et false dans tes payloads

Je me suis poser la même question, car la c’est l’état par défaut on/true off/false.

Peu importe, avec ou sans espace ca fonctionne. Même les accents.

'0x50325ffffe30xxxx':
  friendly_name: Multiprise Séjour
'0xb4e3f9fffe7xxxx':
  friendly_name: Prise Salle de bain
'0x00158d00077xxxx':
  friendly_name: Extérieur
  transition: 0
  filtered_attributes:
    - power_on_behavior
    - power_outage_memory
  homeassistant: {}
  legacy: false
  optimistic: true

J’ai déjà essayer d’inverser true et false dans tes payloads. sans succès.
je vais réessayer avec le capteur devant moi…

Bon, ca n’y a rien a comprendre, j’ai réssayé la manip, inversion de ‹ true › et ‹ false ›, pour ensuite supprimer la modif, et je me suis rendu compte que j’avais un soucis avec mes capteurs mqtt, même apres reboot de HA.alors déconnexion physique de mon NUC HA, et la tout nickel. même le capteur à la tête à l’endroit :wink:

L’essentiel c’est que ça fonctionne.
Un bon vieux hard reboot quelquefois… Y’a que ça de bon.

1 « J'aime »