Statistiques | MQTT

Mon problème

Bonjour,

Je récupère avec MQTT des infos depuis ma chaudière Viessmann.
J’ai créé les sensors dans un fichier yaml.
Voici un extrait du contenu :

 - platform: mqtt
    name: infos_chaudiere_consigne_temperature_reduit
    state_topic: "/chaudiere_viessmann/etat"
    value_template: '{{value_json.infos_chaudiere_consigne_temperature_reduit}}'
    json_attributes_topic: "/chaudiere_viessmann/etat"
    device_class: temperature
    unit_of_measurement: °C
    icon: mdi:thermometer

  - platform: mqtt
    name: infos_chaudiere_consigne_temperature_party
    state_topic: "/chaudiere_viessmann/etat"
    value_template: '{{value_json.infos_chaudiere_consigne_temperature_party}}'
    json_attributes_topic: "/chaudiere_viessmann/etat"
    device_class: temperature
    unit_of_measurement: °C
    icon: mdi:thermometer

  - platform: mqtt
    name: infos_chaudiere_regime_eco
    state_topic: "/chaudiere_viessmann/etat"
    value_template: '{{value_json.infos_chaudiere_regime_eco}}'
    json_attributes_topic: "/chaudiere_viessmann/etat"
    device_class: temperature
    unit_of_measurement: °C
    icon: mdi:thermometer

Les données sont des attributs du message JSON soumis à MQTT.
Je n’arrive pas à récupérer ces informations dans les statistiques.
Car il est indiqué que ces données n’ont pas de ‹ identity_id ›.
Voici ce que j’ai indiqué en ‹ recorder ›

recorder:
  purge_keep_days: 60
  include:
    entity_globs:
      - sensor.teleinfo_*
      - sensor.universal_binary_sensor_air_temperature_*
      - sensor.motion_sensor_air_temperature
    entities:
        - sensor.infos_chaudiere_temp_ambiante
        - sensor.infos_chaudiere_temp_corps
        - sensor.infos_chaudiere_temp_ecs
        - sensor.infos_chaudiere_temp_sonde
        - sensor.infos_chaudiere_temp_fumees
        

Voici une recherche sur la table ‹ states ›, on peut voir que ces infos MQTT y sont stockées:

"4"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"4"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:08:18.901963"		"4"
"18"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"18"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:09:18.991102"	"4"	"15"
"27"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"27"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:10:19.039211"	"18"	"22"
"36"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"36"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:11:19.124593"	"27"	"29"
"46"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"46"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:12:19.261660"	"36"	"36"
"59"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"59"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:13:19.294476"	"46"	"43"
"70"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"70"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:14:19.419515"	"59"	"50"
"80"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"80"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:15:19.448571"	"70"	"57"
"93"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"93"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:16:19.525191"	"80"	"64"
"103"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"103"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:17:19.602325"	"93"	"71"
"113"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"113"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:18:19.676764"	"103"	"78"
"127"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"127"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:19:19.763103"	"113"	"85"
"137"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"137"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:20:19.877881"	"127"	"92"
"146"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"146"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:21:19.893420"	"137"	"99"
"156"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"156"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:22:20.042504"	"146"	"106"
"170"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"170"	"2022-04-09 08:56:18.007302"	"2022-04-09 09:23:20.096599"	"156"	"113"
"175"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"175"	"2022-04-09 09:23:20.108350"	"2022-04-09 09:23:20.108350"	"170"	"113"
"180"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"180"	"2022-04-09 09:23:20.108350"	"2022-04-09 09:24:20.155847"	"175"	"120"
"191"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"191"	"2022-04-09 09:23:20.108350"	"2022-04-09 09:25:21.255592"	"180"	"127"
"196"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"196"	"2022-04-09 09:25:21.268292"	"2022-04-09 09:25:21.268292"	"191"	"127"
"205"	"sensor.infos_chaudiere_temp_ambiante"	"20.1"		"205"	"2022-04-09 09:25:21.268292"	"2022-04-09 09:26:21.324360"	"196"	"134"
"210"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"210"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:26:21.335941"	"205"	"134"
"215"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"215"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:27:20.424600"	"210"	"141"
"225"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"225"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:28:20.460022"	"215"	"148"
"239"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"239"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:29:20.575441"	"225"	"155"
"252"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"252"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:30:20.660672"	"239"	"163"
"261"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"261"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:31:20.685147"	"252"	"170"
"275"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"275"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:32:20.775197"	"261"	"177"
"284"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"284"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:33:20.829059"	"275"	"184"
"294"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"294"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:34:20.937984"	"284"	"191"
"304"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"304"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:35:21.004318"	"294"	"198"
"313"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"313"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:36:21.135450"	"304"	"205"
"327"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"327"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:37:21.207890"	"313"	"212"
"337"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"337"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:38:21.265434"	"327"	"219"
"349"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"349"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:39:21.375254"	"337"	"226"
"364"	"sensor.infos_chaudiere_temp_ambiante"	"20.2"		"364"	"2022-04-09 09:26:21.335941"	"2022-04-09 09:40:21.400791"	"349"	"233"

la table ‹ statistics › en totalité :

"1"	"2022-04-09 10:00:10.085599"	"2022-04-09 09:00:00.000000"	"21.1864216828576"	"21.12"	"21.25"				"1"
"2"	"2022-04-09 10:00:10.087803"	"2022-04-09 09:00:00.000000"	"16.8663914826182"	"16.81"	"16.87"				"2"
"3"	"2022-04-09 10:00:10.088250"	"2022-04-09 09:00:00.000000"	"21.2659269329151"	"21.18"	"21.37"				"3"
"4"	"2022-04-09 10:00:10.088584"	"2022-04-09 09:00:00.000000"	"12.3759084819727"	"11.87"	"13.0"				"4"
"5"	"2022-04-09 10:00:10.088861"	"2022-04-09 09:00:00.000000"	"21.6909090909091"	"21.5"	"21.8"				"5"
"6"	"2022-04-09 10:00:10.089125"	"2022-04-09 09:00:00.000000"	"490.20750627284"	"410.0"	"660.0"				"6"
"7"	"2022-04-09 10:00:10.089383"	"2022-04-09 09:00:00.000000"					"61154.67"	"0.38300000000163"	"7"
"8"	"2022-04-09 10:00:10.089683"	"2022-04-09 09:00:00.000000"	"1824.36513512243"	"460.0"	"2530.0"				"8"
"9"	"2022-04-09 10:00:10.089983"	"2022-04-09 09:00:00.000000"					"41314.038"	"1.59199999999692"	"9"

Les données MQTT n’y figurent pas. De plus les données antérieures n’y sont pas . Les states commencent
à cette date/heure : 2022-04-09 10:00:10.085599. je ne comprends pas pourquoi.

Voici la table statistics_meta:

"1"	"sensor.universal_binary_sensor_air_temperature_3"	"recorder"	"°C"	"1"	"0"
"2"	"sensor.universal_binary_sensor_air_temperature_4"	"recorder"	"°C"	"1"	"0"
"3"	"sensor.universal_binary_sensor_air_temperature_5"	"recorder"	"°C"	"1"	"0"
"4"	"sensor.universal_binary_sensor_air_temperature_6"	"recorder"	"°C"	"1"	"0"
"5"	"sensor.motion_sensor_air_temperature"	"recorder"	"°C"	"1"	"0"
"6"	"sensor.teleinfo_1"	"recorder"	"W"	"1"	"0"
"7"	"sensor.teleinfo_1_total"	"recorder"	"kWh"	"0"	"1"
"8"	"sensor.teleinfo_2"	"recorder"	"W"	"1"	"0"
"9"	"sensor.teleinfo_2_total"	"recorder"	"kWh"	"0"	"1"

Aucune info ne concerne les données MQTT !

Mon (es) problème(s), pour résumer :
→ comment stocker les infos MQTT pour avoir un historique ?
→ pourquoi les states stockées ne sont pas historisées ?

Toute aide bienvenue.

A+
Bernard

Ma configuration


System Health

version: core-2022.4.1
installation_type: Home Assistant OS
dev: false
hassio: true
docker: true
user: root
virtualenv: false
python_version: 3.9.9
os_name: Linux
os_version: 5.10.103-v8
arch: aarch64
timezone: Europe/Paris

GitHub API: ok
GitHub Content: ok
GitHub Web: ok
GitHub API Calls Remaining: 5000
Installed Version: 1.24.0
Stage: running
Available Repositories: 1004
Downloaded Repositories: 13

logged_in: false
can_reach_cert_server: ok
can_reach_cloud_auth: ok
can_reach_cloud: ok

host_os: Home Assistant OS 7.6
update_channel: stable
supervisor_version: supervisor-2022.03.5
docker_version: 20.10.9
disk_total: 237.7 GB
disk_used: 9.7 GB
healthy: true
supported: true
board: rpi4-64
supervisor_api: ok
version_api: ok
installed_addons: Samba share (9.5.1), File editor (5.3.3), Duck DNS (1.14.0), SSH & Web Terminal (10.1.1), MariaDB (2.4.0), Mosquitto broker (6.0.1), Node-RED (11.1.1), Z-Wave JS (0.1.55)

dashboards: 13
resources: 10
views: 35
mode: storage


Salut,

Je pense que dans tes sensors il manque le « state_class: measurement » c’est ça qui active les longterm statistics.
Je t’ai mis les 2 liens à ce sujet.

Sinon 2 petits détails:

  • Ton setup de recorder 60 jours c’est beaucoup quand même. Ok tu limites le nombre d’entittés que tu ajoutes maintenant car tu n’a que ce besoin là, mais tu risque de revenir avec des soucis de stabilité, de mise à jour et/ou de lenteur.
  • Pour tes tables statistiques on ne sais pas ce que t’a fait, peut-être as tu réinitialisé quelque chose? Faut aussi voir quel type d’agrégats sont utilisés pour ces capteurs? Ou alors ils on été créés qu’aujourd’hui? La table statistics ne garde pas les même nombre de valeurs que la table states.

Merci pour ces infos.
Je regarde cela de plus près demain.
A+
Bernard