diff --git a/Doc/images/capture_homeassistant_capteurs.png b/Doc/images/capture_homeassistant_capteurs.png
index a1017f9..b6c79ff 100644
Binary files a/Doc/images/capture_homeassistant_capteurs.png and b/Doc/images/capture_homeassistant_capteurs.png differ
diff --git a/Doc/images/capture_homeassistant_diagnostics.png b/Doc/images/capture_homeassistant_diagnostics.png
new file mode 100644
index 0000000..258d648
Binary files /dev/null and b/Doc/images/capture_homeassistant_diagnostics.png differ
diff --git a/Doc/images/capture_homeassistant_infos_appareil.png b/Doc/images/capture_homeassistant_infos_appareil.png
index 9a0818c..a9ca4f4 100644
Binary files a/Doc/images/capture_homeassistant_infos_appareil.png and b/Doc/images/capture_homeassistant_infos_appareil.png differ
diff --git a/Doc/images/capture_homeassistant_mqtt_decouverte.png b/Doc/images/capture_homeassistant_mqtt_decouverte.png
index 74c7a12..2b3e2b8 100644
Binary files a/Doc/images/capture_homeassistant_mqtt_decouverte.png and b/Doc/images/capture_homeassistant_mqtt_decouverte.png differ
diff --git a/Firmware/README.md b/Firmware/README.md
index e863e29..526166b 100644
--- a/Firmware/README.md
+++ b/Firmware/README.md
@@ -213,11 +213,19 @@ Ainsi que la liste de ses "Capteurs" :
-On y trouve entre autres :
+Où on y trouve entre autres les infos principales de la TIC :
- **Courant** (IINST) — mesure instantanée
- **Index d'énergie** (BASE, HPHC, TEMPO, etc.) — *total increasing*. Ces index sont facilement utilisables dans le tableau de bord "Energie" (une fois associés à des prix du kWh pour chaque période tarifaire)
- **Puissance apparente** (PAPP) — mesure instantanée
- **Avertissement de surintensité** (ADPS) — alerte de surcharge
+
+Et des topics de diagnostic :
+
+
+
+
+
+Où l'on peut trouver des infos de diagnostic :
- **Tension supercondensateur** (VCAP) — mesure instantanée
- **Uptime** — temps de fonctionnement en secondes
diff --git a/Firmware/main/mqtt_manager.c b/Firmware/main/mqtt_manager.c
index 96eb7e0..acb802e 100644
--- a/Firmware/main/mqtt_manager.c
+++ b/Firmware/main/mqtt_manager.c
@@ -400,6 +400,7 @@ static void mqtt_publish_ha_discovery(esp_mqtt_client_handle_t client)
"\"dev_cla\":\"voltage\","
"\"unit_of_meas\":\"mV\","
"\"stat_cla\":\"measurement\","
+ "\"ent_cat\":\"diagnostic\","
"\"sug_dsp_prc\":0,"
"\"ic\":\"mdi:battery-heart-variant\","
"\"val_tpl\":\"{{ value_json.vcap }}\","
@@ -445,6 +446,7 @@ static void mqtt_publish_ha_discovery(esp_mqtt_client_handle_t client)
"\"dev_cla\":\"duration\","
"\"unit_of_meas\":\"s\","
"\"stat_cla\":\"total_increasing\","
+ "\"ent_cat\":\"diagnostic\","
"\"sug_dsp_prc\":0,"
"\"ic\":\"mdi:timer-outline\","
"\"val_tpl\":\"{{ value_json.uptime }}\","
diff --git a/Firmware/test/qemu/assert_mqtt.py b/Firmware/test/qemu/assert_mqtt.py
index be77803..fcc9894 100644
--- a/Firmware/test/qemu/assert_mqtt.py
+++ b/Firmware/test/qemu/assert_mqtt.py
@@ -209,6 +209,10 @@ def assert_discovery(
if not isinstance(uniq_id, str) or not uniq_id.startswith(f"linkey_{topic_mac}_"):
fail(f"Discovery component {component} has invalid uniq_id: {uniq_id!r}")
+ for component in ("vcap", "uptime"):
+ if components[component].get("ent_cat") != "diagnostic":
+ fail(f"Discovery component {component} must be diagnostic")
+
return topic_mac