Afficher un message en fonction de conditions

Oui mais est-ce possible de les transmettre avec les outils du forum (pour conserver le format) sans passer par un hébergeur ?

Heuuuu, ça j’en sais rien. Ou par mp?

Tant que le media ne fait pas plus de 4mo :+1:

Et la sélection de la plage horaire tu la fait comment ? Car je verrais bien une liste déroulante (input_select) :

animate

1 « J'aime »

filtration_off

filtration_on

1 « J'aime »

J’ai vu que je pouvais télécharger l’image jpg que j’avais inséré dans un message précédent ; j’ai donc joint deux images png dans un nouveau message mais on ne peut pas les télécharger ?

[Edit] en faisant « Enregistrer l’image sous… » on récupère bien l’image au format png

Merci beaucoup à toi

[quote=« Clemalex, post:14, topic:4241, full:true »]

Et la sélection de la plage horaire tu la fait comment ? Car je verrais bien une liste déroulante (input_select) :
Les textes liés aux numéros des plages horaires ne doivent pas apparaître dans le Dashboard sauf celui correspondant au numéro d’appel. Peut-être dans une base de données ?

Une base de données ? Pourquoi faire ?

Est-ce que ça veut simplement dire que l’utilisateur ne doit pas pouvoir changer le profil horaire ?

Si la méthode de sélection ne doit pas apparaître, alors, tu peux créer un capteur personnel (Template sensor) basé sur un autre capteur auquel tu lui mets l’état que tu veux :

sensor:
  - platform: template
    sensors:
      filtration_profil_en_cours:
        unique_id: filtration_profil_en_cours
        friendly_name: "Filtration : Profil Horaire Sélectionné"
        value_template: >-
          {% if is_state('input_select.filtration', '1') %}
            24h/24h
          {% elif is_state('input_select.filtration', '2') %}
            De 8h à 16h
          {% else %}
            Pas de filtration
          {% endif %}

Et tu affiches sur ton tableau de bord l’entité sensor.filtration_profil_en_cours

Documentation

L’utilisateur n’a pas à changer les plages horaires qui sont gérées en KNX en fonction de la température de l’eau.
J’utilise HA uniquement pour afficher cette information qui me permet de vérifier la cohérence entre la température de l’eau et la plage affichée.
Je pense que je suis sur la piste avec ta dernière proposition. Merci. Je testerai ce soir et je ferai un retour de mes (éventuelles) avancées !

Actuellement le chiffre de la plage horaire remonte dans « sensor.sensor_horaires_filtration_piscine » ; et dans le code tu testes du texte ?

Tu mets ça en lieu et place de input_select.xxx.

Il ne faut pas s’arrêter à ce qui est écrit mais la fonction utilisée :

is_state('<ENTITY_ID>' , '<ETAT>')

Regarde les exemples dans la documentation

Ce n’est pas parce que tu as l’impression que c’est un nombre que c’en est un… :innocent:

Cela dépends de la fonction que tu utilises… :innocent:

Donc pour tout ce qui est du texte ‹ dynamique ›, la seule solution est de générer ce texte via un sensor ?
Dommage qu’il n’existe pas une carte texte qui se compose dynamiquement :thinking:

Pour moi c’est le but de la carte markdown :

Après pour ‹ dynamiser › ce qu’on veut, il reste la carte qui permet de tout personnaliser :

Ah bon oui, la carte markdown gère des templates, c’est la solution :+1:

Merci Me Clemalex :slight_smile:

@Ives dans l’exemple :

saisir ou coller le code ici

sensor:
  - platform: template
    sensors:
      filtration_profil_en_cours:
        unique_id: filtration_profil_en_cours
        friendly_name: "Filtration : Profil Horaire Sélectionné"
        value_template: >-
          {% if is_state('input_select.filtration', '1') %}
            24h/24h
          {% elif is_state('input_select.filtration', '2') %}
            De 8h à 16h
          {% else %}
            Pas de filtration
          {% endif %}

il check si la valeur de l’input est = à 1 donc dans ton cas tu va demander a faire un check sur la valeur de ton sensor :

sensor:
  - platform: template
    sensors:
      filtration_profil_en_cours:
        unique_id: filtration_profil_en_cours
        friendly_name: "Filtration : Profil Horaire Sélectionné"
        value_template: >-
          {% if is_state('sensor.sensor_horaires_filtration_piscine', '1') %}
            24h/24h
          {% elif is_state('sensor.sensor_horaires_filtration_piscine', '2') %}
            De 8h à 16h
          {% else %}
            Pas de filtration
          {% endif %}

@Clemalex et @barto_95
:+1: Merci , ça fonctionne exactement comme je voulais, c’est parfait !

Il faut partager ton code :wink:

Cela permettra aux autres de voir comment adapter :+1:

1 « J'aime »

Je me permet d’ajouter un point de vue entre Sensor et carte Markdown.

  • Si le but est uniquement d’afficher un texte suivant une valeur dans l’UI, alors il faut passer par la carte Markdown.
  • Si par contre le texte doit être utilisé dans autre chose (un test, une intégration, etc), là le Sensor a son intérêt !

Pourquoi ce choix ? Et bien la carte Markdown est uniquement un élément d’interface (donc traitée dans le navigateur web ou app mobile) alors que le Sensor est une instance qui sera créé sur le serveur, donc une empreinte et une ressource de plus.

1 « J'aime »

L’objectif : afficher dans HA la plage horaire de filtration de la piscine en cours.
Cette plage horaire qui dépend de la température de l’eau est déterminée par l’intermédiaire d’un contrôleur logique KNX qui écrit une valeur comprise entre 1 et 11 dans une adresse de groupe (GA) ; il y a 10 plages horaires différentes ( le 11 est renvoyé lors de l’arrêt de la filtration).

plages horaire piscine3

type: entity
entity: sensor.filtration_profil_en_cours
name: 'Plage horaire de filtration en cours :'
card_mod:
  style: |
    ha-card{height: 80px !important;}
    .header .name{font-size: 15px;}
    .info .value{font-size: 15px;}

Fichier configuration.yaml

# KNX
knx: !include_dir_merge_named knx/
# Filtration piscine - affichage plage horaire en cours 
- platform: template
  sensors:
    filtration_profil_en_cours:
      unique_id: filtration_profil_en_cours
      friendly_name: "Filtration : Profil Horaire Sélectionné"
      value_template: >-
        {% if is_state('sensor.sensor_horaires_filtration_piscine', '1') %}
        De 11h à 16h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '2') %}
        De 8h à 16h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '3') %}
        De 8h à 17h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '4') %}
        De 8h à 18h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '5') %}
        De 8h à 19h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '6') %}
        De 8h à 20h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '7') %}
        De 8h à 22h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '8') %}
        De 8h à 23h et de 1h à 3h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '9') %}
        De 8h à 23h et de 1h à 5h
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '10') %}
        De 8h à 0h et de 0h30 à 7h30
        {% elif is_state('sensor.sensor_horaires_filtration_piscine', '11') %}
        Filtration à l'arrêt
        {% else %}
        oups
        {% endif %}

Fichier knx_sensor.yaml

#Filtration piscine - chiffre de la plage horaire (1 à11)
  - name: sensor.horaires_filtration_piscine
    state_address: "2/5/5"
    type: "tariff"
    sync_state: every 30

Bonjour,

J’ai un soucis a peut près similaire a celui ci concernant l’état d’un sensor sur un capteur d’énergie connecté a mon tableau de distribution.

Ce capteur me renvoi via un sensor un “ mot " , il me renvoi « Forward » quand je tire du courant et « Reverse “ quand je renvoie sur le réseau.

Tout cela s’affiche dans une carte élément d’image, mais je souhaiterais afficher s’implement un + quand je tire de l’énergie et un - quand je renvoi sur le réseau.

Pour info je suis débutant sur Home Assistant donc si quelqu’un saurait m’orienté svp.

voici le code utiliser actuellement:

  • type: state-label
    entity: sensor.direction_a
    style:
    top: 22.46%
    left: 18.5%
    color: ‹ #3291C6 ›
    font-size: 15px
    font-weight: bold
    text-align: right;