Visualiser min et max de tout l'historique d'un capteur de température

Bonjour la communauté,

Je sèche sur un problème qui parait assez simple mais je n’ai pas trouvé de réponse jusqu’à maintenant.

Je cherche à afficher la température minimale et maximale d’un capteur avec la date et l’heure (format : 10 janv. 2023 10:11) sur l’ensemble de l’historique.

J’ai trouvé beaucoup de réponse pour un affichage sur les dernières 24h mais pas sur l’ensemble de l’historique.

J’ai essayé avec la carte statistique de base et aussi mini-graph-card mais :

  • je n’arrive pas à afficher la date et l’heure sur le premier
  • sur le deuxième il ne veut pas prendre en compte tout l’historique.

Merci d’avance pour votre aide.

Bj

tu crois crée des sensors

sensor:
  - platform: min_max
    name: Température Minimale
    entity_id: sensor.votre_capteur_temperature
    type: min
    attribute: temperature
  - platform: min_max
    name: Température Maximale
    entity_id: sensor.votre_capteur_temperature
    type: max
    attribute: temperature

ensuite

sensor:
  - platform: template
    sensors:
      temperature_min_formatted:
        friendly_name: "Température Minimale Formatée"
        value_template: "{{ state_attr('sensor.temperature_minimale', 'min_value') | float | round(1) }}"
        attribute_templates:
          date_time: "{{ state_attr('sensor.temperature_minimale', 'min_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}"
      temperature_max_formatted:
        friendly_name: "Température Maximale Formatée"
        value_template: "{{ state_attr('sensor.temperature_maximale', 'max_value') | float | round(1) }}"
        attribute_templates:
          date_time: "{{ state_attr('sensor.temperature_maximale', 'max_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}"
1 « J'aime »

Merci je vais tester ça.

J’ai dû modifier le code pour le premier bloc car home assistant ne l’acceptait pas et j’ai bien les deux premiers sensors qui retourne une température.
Les deux autres sensors formatées sont « indisponible » quand à eux.

sensor:
  - platform: min_max
    name: Température Minimale
    entity_ids: 
    - sensor.capteur_balcon_temperature
    type: min
  - platform: min_max
    name: Température Maximale
    entity_ids: 
    - sensor.capteur_balcon_temperature
    type: max
  - platform: template
    sensors:
      temperature_min_formatted:
        friendly_name: "Température Minimale Formatée"
        value_template: "{{ state_attr('sensor.temperature_minimale', 'min_value') | float | round(1) }}"
        attribute_templates:
          date_time: "{{ state_attr('sensor.temperature_minimale', 'min_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}"
      temperature_max_formatted:
        friendly_name: "Température Maximale Formatée"
        value_template: "{{ state_attr('sensor.temperature_maximale', 'max_value') | float | round(1) }}"
        attribute_templates:
          date_time: "{{ state_attr('sensor.temperature_maximale', 'max_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}"

Toujours pas trouvé de solution pour mon problème.

Bonjour,
il y a pas un soucis d’indexion ?

exemple de la doc:

# Example configuration.yaml entry
sensor:
  - platform: min_max
    entity_ids:
      - sensor.kitchen_temperature
      - sensor.living_room_temperature
      - sensor.office_temperature

Comme la montré @Nothing , avec une seul entité pas besoin d’aller a la ligne.

Merci pour votre réponse.
Avec la solution de Nothing j’ai ça comme erreur avec la vérification de config.

et en corrigeant les deux espaces manquant pas d’erreur à la vérif de config mais erreur dans les logs.

Enregistreur: homeassistant.components.template.template_entity
Source: components/template/template_entity.py:199
intégration: Template (documentation, problèmes)
S'est produit pour la première fois: 17:56:47 (4 occurrences)
Dernier enregistrement: 17:56:47

TemplateError('ValueError: Template error: float got invalid input 'None' when rendering template '{{ state_attr('sensor.temperature_minimale', 'min_value') | float | round(1) }}' but no default was specified') while processing template 'Template<template=({{ state_attr('sensor.temperature_minimale', 'min_value') | float | round(1) }}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.temperature_min_formatted'
TemplateError('ValueError: Template error: as_timestamp got invalid input 'None' when rendering template '{{ state_attr('sensor.temperature_minimale', 'min_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}' but no default was specified') while processing template 'Template<template=({{ state_attr('sensor.temperature_minimale', 'min_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}) renders=4>' for attribute 'date_time' in entity 'sensor.temperature_min_formatted'
TemplateError('ValueError: Template error: float got invalid input 'None' when rendering template '{{ state_attr('sensor.temperature_maximale', 'max_value') | float | round(1) }}' but no default was specified') while processing template 'Template<template=({{ state_attr('sensor.temperature_maximale', 'max_value') | float | round(1) }}) renders=4>' for attribute '_attr_native_value' in entity 'sensor.temperature_max_formatted'
TemplateError('ValueError: Template error: as_timestamp got invalid input 'None' when rendering template '{{ state_attr('sensor.temperature_maximale', 'max_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}' but no default was specified') while processing template 'Template<template=({{ state_attr('sensor.temperature_maximale', 'max_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}) renders=4>' for attribute 'date_time' in entity 'sensor.temperature_max_formatted'

et

Enregistreur: homeassistant.helpers.event
Source: helpers/template.py:575
S'est produit pour la première fois: 17:56:47 (4 occurrences)
Dernier enregistrement: 17:56:47

Error while processing template: Template<template=({{ state_attr('sensor.temperature_minimale', 'min_value') | float | round(1) }}) renders=2>
Error while processing template: Template<template=({{ state_attr('sensor.temperature_minimale', 'min_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}) renders=2>
Error while processing template: Template<template=({{ state_attr('sensor.temperature_maximale', 'max_value') | float | round(1) }}) renders=2>
Error while processing template: Template<template=({{ state_attr('sensor.temperature_maximale', 'max_time') | as_timestamp | timestamp_custom('%d %b %Y %H:%M') }}) renders=2>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2037, in forgiving_float_filter
    return float(value)
           ^^^^^^^^^^^^
TypeError: float() argument must be a string or a real number, not 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 573, in async_render
    render_result = _render_with_context(self.template, compiled, **kwargs)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2364, in _render_with_context
    return template.render(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 1301, in render
    self.environment.handle_exception()
  File "/usr/local/lib/python3.12/site-packages/jinja2/environment.py", line 936, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "<template>", line 1, in top-level template code
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2040, in forgiving_float_filter
    raise_no_default("float", value)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1668, in raise_no_default
    raise ValueError(
ValueError: Template error: float got invalid input 'None' when rendering template '{{ state_attr('sensor.temperature_minimale', 'min_value') | float | round(1) }}' but no default was specified

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 699, in async_render_to_info
    render_info._result = self.async_render(
                          ^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 575, in async_render
    raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: ValueError: Template error: float got invalid input 'None' when rendering template '{{ state_attr('sensor.temperature_minimale', 'min_value') | float | round(1) }}' but no default was specified

Faut deux sensors enfaite ( j’avais pas fait attention dans la doc )

entity_ids list | string REQUIRED

At least two entities to monitor. The unit of measurement of the first entry will be the one that’s used. All entities must use the same unit of measurement.

Sinon pour les min/max, on peut les faire directement du UI: Link to Integrations: add integration – My Home Assistant

Faut mettre une valeur par defaut, change | float en | float(0) dans les templates.

Edit:
par le UI, avec une seul entité c’est bon.