Bonjour,
Mon problème
J’ai intégré un capteur de température/hygrométrie zigbee dans home assistant via zigbee2mqtt.
De ce capteur je ne souhaite qu’exploiter les valeurs de température et d’humidité pour alimenter deux graphes dans un dashboard.
Ca fonctionne mais les graphes obtenus ont des « trous » et en analysant les messages MQTT je pense avoir trouvé la cause que j’explique plus loin.
Je me demande donc si il y un moyen simple de contourner le problème où si je dois utiliser un template comme ci-dessous pour chaque type de capteur afin d’éviter cela ?
- platform: template
sensors:
temp_serre_temperature:
friendly_name: "Custom Temp_serre_temperature"
unit_of_measurement: °C
value_template: >
{% if states('sensor.temp_serre_temperature') != 'unknown' %}
{{ (states('sensor.temp_serre_temperature')) }}
{%- endif %}
Je ne dois pas être le premier à intégrer des capteurs via zigbee2mqtt donc merci d’avance pour vos lumières !
Explication
Lorsque le capteur actualise ses valeures, il envoi un paquet via zigbee pour chaque catégorie de mesure (temperature, humidité et pression), soit 3 paquets dans la même seconde.
A réception de chacun de ces messages zigbee génère et envoi un message MTQTT en positionnant la bonne variable avec la valeur réceptionnée, mais positionne à null toutes les autres. (cf : debug ci-dessous)
De ce fait si par exemple la valeur température est le 3ème paquet reçus, mon graphe d’humidité à un trou car sa dernière valeure est « null ».
Zigbee2MQTT:debug 2023-08-29 11:32:56: Received Zigbee message from 'Temp_serre', type 'attributeReport', cluster 'msRelativeHumidity', data '{"measuredValue":7632}' from endpoint 1 with groupID 0
Zigbee2MQTT:debug 2023-08-29 11:32:56: Received Zigbee message from 'Temp_serre', type 'attributeReport', cluster 'msPressureMeasurement', data '{"measuredValue":1001,"scale":-1,"scaledValue":10010}' from endpoint 1 with groupID 0
Zigbee2MQTT:info 2023-08-29 11:32:56: MQTT publish: topic 'zigbee2mqtt/Temp_serre', payload '{"battery":null,"humidity":76.32,"last_seen":"2023-08-29T09:32:56.264Z","linkquality":18,"pressure":null,"temperature":null,"voltage":null}'
Zigbee2MQTT:info 2023-08-29 11:32:56: MQTT publish: topic 'zigbee2mqtt/Temp_serre', payload '{"battery":null,"humidity":null,"last_seen":"2023-08-29T09:32:56.264Z","linkquality":18,"pressure":1001,"temperature":null,"voltage":null}'
Zigbee2MQTT:debug 2023-08-29 11:37:58: Received Zigbee message from 'Temp_serre', type 'attributeReport', cluster 'msTemperatureMeasurement', data '{"measuredValue":2689}' from endpoint 1 with groupID 0
Zigbee2MQTT:info 2023-08-29 11:37:58: MQTT publish: topic 'zigbee2mqtt/Temp_serre', payload '{"battery":null,"humidity":null,"last_seen":"2023-08-29T09:37:58.414Z","linkquality":15,"pressure":null,"temperature":26.89,"voltage":null}'
Ma configuration
[center]## System Information
version | core-2023.6.3 |
---|---|
installation_type | Home Assistant Container |
dev | false |
hassio | false |
docker | true |
user | root |
virtualenv | false |
python_version | 3.11.4 |
os_name | Linux |
os_version | 5.10.103-v8+ |
arch | aarch64 |
timezone | Europe/Paris |
config_dir | /config |
Home Assistant Community Store
GitHub API | ok |
---|---|
GitHub Content | ok |
GitHub Web | ok |
GitHub API Calls Remaining | 4844 |
Installed Version | 1.31.0 |
Stage | running |
Available Repositories | 1277 |
Downloaded Repositories | 24 |
Home Assistant Cloud
logged_in | false |
---|---|
can_reach_cert_server | ok |
can_reach_cloud_auth | ok |
can_reach_cloud | ok |
Dashboards
dashboards | 2 |
---|---|
resources | 16 |
views | 31 |
mode | storage |
Recorder
oldest_recorder_run | 25 août 2023 à 15:24 |
---|---|
current_recorder_run | 29 août 2023 à 10:53 |
estimated_db_size | 74.70 MiB |
database_engine | sqlite |
database_version | 3.41.2 |