Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified Doc/images/capture_homeassistant_capteurs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Doc/images/capture_homeassistant_diagnostics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Doc/images/capture_homeassistant_infos_appareil.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Doc/images/capture_homeassistant_mqtt_decouverte.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 9 additions & 1 deletion Firmware/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -213,11 +213,19 @@ Ainsi que la liste de ses "Capteurs" :
<img src="../Doc/images/capture_homeassistant_capteurs.png" width="300" alt="Capture écran HA capteurs">
</p>

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 :

<p align="center">
<img src="../Doc/images/capture_homeassistant_diagnostics.png" width="300" alt="Capture écran HA diagnostics">
</p>

Où l'on peut trouver des infos de diagnostic :
- **Tension supercondensateur** (VCAP) — mesure instantanée
- **Uptime** — temps de fonctionnement en secondes

Expand Down
2 changes: 2 additions & 0 deletions Firmware/main/mqtt_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}\","
Expand Down Expand Up @@ -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 }}\","
Expand Down
4 changes: 4 additions & 0 deletions Firmware/test/qemu/assert_mqtt.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down
Loading