Mqtt - "Est devenu inconnu, est devenu indisponible"

Bonjour,

Mon problème

J’ai un esp32 programmé en C++ qui publie dans le topic elec/actuLK des messages réguliers qui me servent en quelque sorte de console lors des essais ou pour me prévenir ponctuellement de certains événements. Je vois bien les messages arriver dans HA mais entre deux messages voulus, j’ai des centaines de fois les deux lignes « Est devenu indisponible » puis « Est devenu inconnu ». Parfois c’est le dernier message voulu qui réapparaît plusieurs fois.


J’ai refait la même installation sur un autre esp32 et un autre topic actuPZ, c’est pareil.
Dans Home assistant :

J’ai pensé à un pb de wifi, j’ai donc placé la box à 1m de l’esp32, puis changé de point d’accès. C’est toujours pareil.
Je ne détecte aucun problème de wifi dans le reste de mon installation.

Auriez vous une piste, qu’est ce que je peux chercher ?
Merci d’avance

Pour info :

dans mqtt.yaml sous sensor:
  - name: "Dernière actuLK"
    state_topic: "elec/actuLK"
    unique_id: "dernactuLK"
    qos: 0

sur l’esp32, voici ma fonction :

void publiActu(const char *messActu)
{
    if (!clientMQTT.connected()) return;
    char mess[30];
    strcpy(mess, TOPIC_PUBLISH);
    strcat(mess, "actuLK");
    clientMQTT.publish(mess, messActu,false) //retain=false
}

Ma configuration


[center]## System Information

version core-2025.12.4
installation_type Home Assistant OS
dev false
hassio true
docker true
container_arch aarch64
user root
virtualenv false
python_version 3.13.9
os_name Linux
os_version 6.12.47-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content failed to load: timeout
GitHub Web failed to load: timeout
HACS Data failed to load: timeout
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 2501
Downloaded Repositories 3
Home Assistant Cloud
logged_in false
can_reach_cert_server failed to load: unreachable
can_reach_cloud_auth failed to load: timeout
can_reach_cloud failed to load: timeout
Home Assistant Supervisor
host_os Home Assistant OS 16.3
update_channel stable
supervisor_version supervisor-2025.12.3
agent_version 1.7.2
docker_version 28.3.3
disk_total 57.3 GB
disk_used 6.9 GB
nameservers 192.168.1.254, 2001:861:5c85:b880:d25a:ff:fe7a:a8c
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board rpi3-64
supervisor_api ok
version_api failed to load: timeout
installed_addons File editor (5.8.0), Duck DNS (1.26.0), Let’s Encrypt (5.4.9), Advanced SSH & Web Terminal (22.0.3), Samba Backup (5.2.0), Mosquitto broker (6.5.2)
Dashboards
dashboards 2
resources 2
views 13
mode storage
Network Configuration
adapters lo (disabled), enu1u1 (enabled, default, auto), docker0 (disabled), hassio (disabled), veth8c41bea (disabled), veth4b6f5c7 (disabled), veth187cac7 (disabled), vethdae743e (disabled), veth0744d70 (disabled), veth7c3c21c (disabled), vethb746b6c (disabled), vethf9ec800 (disabled), veth1442450 (disabled)
ipv4_addresses lo (127.0.0.1/8), enu1u1 (192.168.1.16/24), docker0 (172.30.232.1/23), hassio (172.30.32.1/23), veth8c41bea (), veth4b6f5c7 (), veth187cac7 (), vethdae743e (), veth0744d70 (), veth7c3c21c (), vethb746b6c (), vethf9ec800 (), veth1442450 ()
ipv6_addresses lo (::1/128), enu1u1 (2001:861:5c85:b880:b1f1:beda:e0a6:e1d1/64, fe80::b06c:bcdd:f83b:4cbf/64), docker0 (fe80::e410:32ff:feca:c397/64), hassio (fe80::cc87:28ff:fedf:e5b8/64), veth8c41bea (fe80::647f:44ff:fe93:c3ee/64), veth4b6f5c7 (fe80::cce9:feff:fe2e:cdee/64), veth187cac7 (fe80::9c6d:2bff:fe2e:f51a/64), vethdae743e (fe80::1ca5:7eff:fe76:f2d9/64), veth0744d70 (fe80::d079:a9ff:fede:daf2/64), veth7c3c21c (fe80::cc63:94ff:fef1:97e6/64), vethb746b6c (fe80::f48e:a6ff:feb8:6a6a/64), vethf9ec800 (fe80::54b1:15ff:fe2c:c772/64), veth1442450 (fe80::2454:beff:fe77:235a/64)
announce_addresses 192.168.1.16, 2001:861:5c85:b880:b1f1:beda:e0a6:e1d1, fe80::b06c:bcdd:f83b:4cbf
Recorder
oldest_recorder_run 9 décembre 2025 à 20:19
current_recorder_run 20 décembre 2025 à 14:14
estimated_db_size 338.98 MiB
database_engine sqlite
database_version 3.49.2
[/center] Comment récupérer ma configuration : Dans votre HA, Menu latéral `Paramètres` > `Système` > `Corrections` puis les trois petits points en haut a droite > `Informations Système` puis une fois en bas `Copier` ___

et ton module ne rebooterait pas ?

Non j’y avais pensé, d’ailleurs les esp envoie justement un message à chaque démarrage. Et ce message je ne le vois pas apparaître anormalement.
Les deux instants affichés dans la copie d’écran « Dans 2 secondes » sont toujours synchronisés, est ce un indice ?

Hello,

Du coup de l’autre côté de la chaine, rien dans les logs du broker mqtt?

cdt

Ce qui me surprend c est qu après avoir tout redémarré : HA + esp32 je n’ai plus de messages superflus depuis 4h
Voici le contenu journal du broker

from 172.30.32.2:48354 on port 1883.
2025-12-21 12:47:36: Client <unknown> closed its connection.
2025-12-21 12:49:36: New connection from 172.30.32.2:48942 on port 1883.
2025-12-21 12:49:36: Client <unknown> closed its connection.
2025-12-21 12:51:36: New connection from 172.30.32.2:50924 on port 1883.
2025-12-21 12:51:36: Client <unknown> closed its connection.
2025-12-21 12:53:36: New connection from 172.30.32.2:54374 on port 1883.
2025-12-21 12:53:36: Client <unknown> closed its connection.
2025-12-21 12:54:49: Saving in-memory database to /data//mosquitto.db.
2025-12-21 12:55:36: New connection from 172.30.32.2:42654 on port 1883.
2025-12-21 12:55:36: Client <unknown> closed its connection.
time="2025-12-21T12:55:42+01:00" level=error msg="http request error: Post \"http://127.0.0.1:80/superuser\": EOF"

ca c’est l’exemple type d’un moment où tout baigne.
un client se connecte, lit ce qu’il doit lire, ecrit ce qu’il doit écrire et se déconnecte sans probleme.
c’est tout le reste qui peut signaler qu’il y a un probleme.

Depuis le journal du broker, je trouve au moment précis de l’apparition d’un message « Est devenu indisponible » 16:54:36 :

2025-12-21 16:45:38: Client <unknown> closed its connection.
2025-12-21 16:47:38: New connection from 172.30.32.2:36138 on port 1883.
2025-12-21 16:47:38: Client <unknown> closed its connection.
2025-12-21 16:49:38: New connection from 172.30.32.2:50266 on port 1883.
2025-12-21 16:49:38: Client <unknown> closed its connection.
2025-12-21 16:51:38: New connection from 172.30.32.2:58432 on port 1883.
2025-12-21 16:51:38: Client <unknown> closed its connection.
2025-12-21 16:53:38: New connection from 172.30.32.2:42572 on port 1883.
2025-12-21 16:53:38: Client <unknown> closed its connection.
[15:54:37] INFO: Service restart after closing
[16:54:38] INFO: Starting mosquitto MQTT broker...
2025-12-21 16:54:38: Warning: Mosquitto should not be run as root/administrator.
2025-12-21 16:54:38: mosquitto version 2.0.22 starting
2025-12-21 16:54:38: Config loaded from /etc/mosquitto/mosquitto.conf.
2025-12-21 16:54:38: Loading plugin: /usr/share/mosquitto/go-auth.so
2025-12-21 16:54:38:  ├── Username/password checking enabled.
2025-12-21 16:54:38:  ├── TLS-PSK checking enabled.
2025-12-21 16:54:38:  └── Extended authentication not enabled.
2025-12-21 16:54:38: Opening ipv4 listen socket on port 1883.
2025-12-21 16:54:38: Opening ipv6 listen socket on port 1883.
2025-12-21 16:54:38: Opening websockets listen socket on port 1884.
2025-12-21 16:54:38: Opening ipv4 listen socket on port 8883.
2025-12-21 16:54:38: Opening ipv6 listen socket on port 8883.
2025-12-21 16:54:38: Opening websockets listen socket on port 8884.
2025-12-21 16:54:38: mosquitto version 2.0.22 running
2025-12-21 16:54:41: New connection from 192.168.1.9:65374 on port 1883.
2025-12-21 16:54:41: New connection from ::1:36214 on port 1883.
2025-12-21 16:54:41: New client connected from 192.168.1.9:65374 as esp_pzem (p2, c1, k15, u'mqtt7400').
2025-12-21 16:54:41: Client <unknown> disconnected due to protocol error.
[16:54:46] INFO: Successfully send discovery information to Home Assistant.
2025-12-21 16:54:46: New connection from 192.168.1.16:60755 on port 1883.
2025-12-21 16:54:46: New client connected from 192.168.1.16:60755 as 0aZDtYi9KDG3lQhSCRA2r4 (p2, c1, k60, u'mqtt7400').
[16:54:49] INFO: Successfully send service information to the Supervisor.
2025-12-21 16:55:34: New connection from 192.168.1.8:54939 on port 1883.
2025-12-21 16:55:35: New client connected from 192.168.1.8:54939 as esp_linky (p2, c1, k15, u'mqtt7400').
2025-12-21 16:55:38: New connection from 172.30.32.2:56106 on port 1883.
2025-12-21 16:55:38: Client <unknown> closed its connection.

Visiblement le broker redémarre à cet instant, ce qui justifierait l’apparition du message, mais je ne sais vraiment pas pourquoi.

Bonjour,
J’ai profité des quelques jours de vacances pour remplacer mon bon vieux raspberry pi 3 par un tout aussi vieux HP prodesk 400 G3 avec 4go de ram.
Mes déconnexions ont disparu, rien a changé du côté de HA puisque j’ai recupéré ma dernière sauvegarde, rien a changé non plus sur les ESP32, le wifi est identique.
Donc je ne saurai pas d’où venaient ces déconnexions.
Merci à ceux qui m’ont proposé de l’aide.
Bonnes fêtes à tous

Re,

Le pi3 ça devient léger suivant ce qui est utilisé pour HA en même temps, 4Go de ram, ça devrait être mieux que 1Go pour le coup :wink:

Bon noel :santa_claus:

cdt