Format heures minutes dans custom alexa

Bonjour,

Alexa ne comprend pas l’heure de mon réveil « 07:00:00 » mais « sept heures » ou « 7 heures » dans l’automatisation suivante :

action:
  - service: media_player.play_media
    data:
      media_content_type: custom
      media_content_id: active le réveil à {{states('input_datetime.alarme_alexa')}} demain matin

J’ai donc créé un sensor.alarme_alexa_formattxt pour remplacer input_datetime.alarme_alexa dans l’automatisation :

- platform: template
    sensors:
       alarme_alexa_formattxt:
        friendly_name: "Réveil Alexa"
        value_template: "{{states('input_datetime.alarme_alexa') | replace(':', ' heures ',1) | replace(':00', ' minutes',1) }}"

ça fonctionne parfaitement pour 11 heures 11 minutes par exemple mais pas pour 07 heures 05 minutes :frowning:
Alexa ne comprend pas le « 0 » avant le « 7 » ou le « 0 » dans « 05 » minutes.
Le bon format c’est : 7 heures 5 minutes !
Comment faire pour créer le bon sensor qui fonctionnera dans tous les cas (07:05 ; 07:00 ; 07:10…)
D’avance merci pour vos idée, d’ici là je vais mettre le réveil à 11:11 :rofl:

Salut,

Tu as une fonction lstrip

Merci pour ce retour ça fonctionne mais il reste les autres 0 :wink:


ou

Il faut le faire 2 fois, dans le template, au moment où tu recomposes la valeur des heures ET des minutes. Pas juste à la fin sur le sensor.

Accessoirement tu peux aussi utiliser les valeurs des attributs

"{{state_attr('input_datetime.alarme_alexa','hour') }} heures {{ state_attr('input_datetime.alarme_alexa','minute') }} minutes"

Merci @pulpy-luke pour la piste, voici ce qui fonctionne :

    sensors:
       alarme_alexa_formattxt:
        friendly_name: "Réveil Alexa"
        value_template: >-
            {% set heure = state_attr('input_datetime.alarme_alexa','hour') %} 
            {% set minute = state_attr('input_datetime.alarme_alexa','minute') %}
            {% if state_attr('input_datetime.alarme_alexa','minute') == 0 %}
            {{ heure }} heures
            {% else %}
            {{ heure }} heures {{ minute }} minutes
            {% endif %}
2 « J'aime »