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" : Capture écran HA 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 : + +

+ Capture écran HA diagnostics +

+ +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