Forum Francophone Home Assistant

Questions de templates

bonjour,
les questions du jour a propos des templates, j’ai 1 problématiques assez proches

1/ les appels manqués de la freebox
mon entité ‹ sensor.freebox_missed_calls › me retourne :

'2020-12-01T17:29:43+00:00': '06XXXX'
'2020-12-01T17:26:09+00:00': '06XXXX'
'2020-12-01T17:21:33+00:00': '06XXXX'
'2020-12-01T17:21:05+00:00': '06XXXX'
'2020-12-01T17:20:20+00:00': '06XXXX'
friendly_name: Appels manqués
icon: 'mdi:phone-missed'

via un template :
{{ state_attr('sensor.freebox_missed_calls', '2020-12-01T17:29:43+00:00') }}
j’obtiens le tél qui correspond a la date mais :

  • comment avoir une liste complète et la mettre dans une carte lovelace
  • comment trouver ‹ le dernier › pour éventuellement me l’envoyer par message ou autre…

2/ la météo et la pluie :
l’entité ‹ sensor.ville_next_rain › me retourne :

forecast_time_ref: '2020-12-02T08:05:00+00:00'
1_hour_forecast:
  0 min: Temps sec
  5 min: Temps sec
  10 min: Temps sec
  15 min: Temps sec
  20 min: Temps sec
  25 min: Temps sec
  35 min: Temps sec
  45 min: Temps sec
  55 min: Temps sec
attribution: Data provided by Météo-France
friendly_name: ville Next rain
device_class: timestamp

avec le template :
{{ state_attr('sensor.moutiers_en_retz_next_rain', '1_hour_forecast') }}
j’obtiens la liste :

{
  "0 min": "Temps sec",
  "5 min": "Temps sec",
  "10 min": "Temps sec",
  "15 min": "Temps sec",
  "20 min": "Temps sec",
  "25 min": "Temps sec",
  "35 min": "Temps sec",
  "45 min": "Temps sec",
  "55 min": "Temps sec"
}

mais comment avoir uniquelent le 0 mn ou un de ces éléments ?

pas beaucoup d’aide , j’ai trouvé ca :

{% set dappel = states.sensor.freebox_missed_calls.last_updated %}
l'heure du dernier appel: {{ dappel }}

ca donne :

l’heure du dernier appel: 2020-12-02 11:55:36.807274+00:00

mais j’arrive pas à l’intégrer dans:

{{ state_attr('sensor.freebox_missed_calls', 'dappel') }}

mais jai une différence avec ton Example le nombre de secondes et le t avant l’heure, peut être pour ca.

j’ai aussi l’heure du dernier appel:

{% set myitem = states.sensor.freebox_missed_calls.last_updated %} {{ as_timestamp(strptime(myitem, '%dd %Hh %Mm')) | timestamp_custom('%H:%M') }}
qui retourne: hh:mm

bon,
ça me semble compliqué …
j’ai bien réussi a faire cela :
{{ as_timestamp(states.sensor.freebox_missed_calls.last_updated) | timestamp_custom(’%Y-%m-%dT%H:%M:%S+00:00’) }}
qui me retourne bien le format :
2020-12-02T18:27:47+00:00
mais cela ne va pas nous avancer car la freebox indique un appel dès le déclenchement de la sonnerie et pas uniquement quand il est manqué, ce qui fait qu’un appel répondu va incrémenter de 1 et décrémenter si on répond ! donc mon last_update sera a mon dernier appel et si il est répondu, je ne pourrais pas avoir accès a mon dernier non répondu … bon bref, je pense qu’il faut abandonner cela, un peut trop casse tête juste pour avoir une petite info
mais bon, ça fait bien progresser toutes ces recherches !

1 J'aime

Bonjour Messieurs,

Essaie cela
{{ state_attr('sensor.moutiers_en_retz_next_rain', '1_hour_forecast["0 min"]') }}

Il est normal que tu ne puisses pas l’intégrer, dappel est une variable que tu as créée ce n’est pas un attribut du sensor

non,
désolé, le retour est vide

Tiens, voila je l’ai, je t’ai dit n’importe quoi tout à l’heure, il était trop tôt :wink:

{{ state_attr('sensor.moutiers_en_retz_next_rain', '1_hour_forecast')['0 min'] }}

HAVE FUN

ah décidément, @pepite
le pro du script !!

MERCI

1 J'aime

ou pas :wink: sinon cela aurait été du 1er coup :wink: les méandres de jinja :wink:

@pepite
petite question :
si je veut affecter une valeur a une variable locale et temporaire je fais :
{% set niv_pluie = 3 %}
et si je fais :
{{ niv_pluie }}
j’ai bien ma valeur
mais ma variable reste locale, par exemple dans une automatisation, si j’affecte ma variable dans la partie ‹ déclancheurs › elle n’a plus de valeur dans la partie ‹ actions ›

mais quelle est la syntaxe pour affecter une valeur a une ‹ entrée › ?
j’ai créé une entrée par l’interface
et je voudrais lui affecter une valeur dans un template…

Bonjour,

Est-ce que tu as un exemple ? pas tout compris.
Dans une action tu souhaites faire un « set.value » pour une entité à partir d’un template c’est bien cela ?

bon,
désolé,
en voulant te donner un exemple j’ai résolu mon problème d’une autre manière

du coup voilà l’automatisation finale qui m’alerte quand il va pleuvoir dans 20mn
il faut jusque que je limite l’alerte quand je suis présent uniquement

alias: ALERTE pluie 
description: ''
trigger:
  - platform: template
    value_template: >-
      {% if state_attr('sensor.moutiers_en_retz_next_rain',
      '1_hour_forecast')['20 min'] == 'Temps sec' %}
        {% set niv_pluie = 0 %}
      {% elif state_attr('sensor.moutiers_en_retz_next_rain',
      '1_hour_forecast')['20 min'] == 'Pluie faible' %}
        {% set niv_pluie = 1 %}
      {% elif state_attr('sensor.moutiers_en_retz_next_rain',
      '1_hour_forecast')['20 min'] == 'Pluie modérée' %}
        {% set niv_pluie = 2 %}
      {% elif state_attr('sensor.moutiers_en_retz_next_rain',
      '1_hour_forecast')['20 min'] == 'Pluie forte' %}
        {% set niv_pluie = 3 %}
      {% endif %} 


      {% if niv_pluie > 0 %}

      1

      {% else %}

      0

      {% endif %} 
condition: []
action:
  - service: notify.mobile_app_iphone_de_stephane
    data:
      data:
        push:
          sound: alarm.caf
      message: >-
        risque de {{ state_attr('sensor.moutiers_en_retz_next_rain',
        '1_hour_forecast')['20 min'] }} dans 20mn
      title: '!! ALERTE !!'
mode: single
1 J'aime

parfait :wink:

Rien à redire !!