C'est quoi cette erreur Error: handleWrite ?

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

C'est quoi cette erreur Error: handleWrite ?

Message par marcus_54 »

Bonjour,

Pouvez vous me renseigner sur l'erreur qui apparaît actuellement chez moi :

Error: handleWrite: Exception thrown: 'write: Broken pipe [system:32]'

Merci
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: C'est quoi cette erreur Error: handleWrite ?

Message par Keros »

Tu peux nous en dire un peu plus :
  • Quelle est la fréquence de cette erreur ?
  • Est-ce qu'il y a quelque chose qui ne fonctionne plus ?
  • Est-ce que cette erreur remonte suite à une action ?
  • Qu'est-ce qui tourne dans ton DomoticZ ?
  • As-tu essayé de désactiver l'un après l'autre tes plugins, tes scripts, etc ...
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: C'est quoi cette erreur Error: handleWrite ?

Message par marcus_54 »

Bonjour
La fréquence de l'erreur est aléatoire, j'en ai eu quelques-unes ce matin, la de 13 à 14h il y en a eu un gros paquet au moins une cinquantaine...
Pour ce qui est des choses qui ne fonctionnaient plus...je n'ai pas fait de tour complet, mais j'avais remarqué que le détecteur de qualité de l'air ne s'actualisait plus, il est géré par MQTTMapper, je l'ai désactivé, mais j'ai encore l'erreur...
C'est arrivé comme ça sans action de ma part
(peut être que si je redémarrais domoticz ça pourrait résoudre le problème, mais je préférerais savoir ce qui est en cause pour éviter que cela ce reproduise)
Sinon dans l'ensemble domoticz, fonctionne bien.

Comment est-ce que l'on active le log détaillé ?
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
pierrotori
Messages : 821
Inscription : 29 févr. 2016, 12:11

C'est quoi cette erreur Error: handleWrite ?

Message par pierrotori »

dans paramètres/autres tout en bas il y a dzvents mettre debug everything
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: C'est quoi cette erreur Error: handleWrite ?

Message par marcus_54 »

J'étais déjà dans ce mode

Bizarrement, cette erreur est partie comme elle est venue sans trop d'explications...

Pour la petite histoire (loi de Murphy :mrgreen: )

Durant cet été, loin de chez moi la carte Raspberry plante... De retour de vacances avec un peu de galère, c'est réparé.

Vacances de Toussaint, 3 jours après être parti de la maison, le réseau de capture de température DS18B20 se bloque à 0... De retour, je le débranche, je le rebranche, tout refonctionne...

Vacances de Noël, 5 jours après être parti de la maison, rebelote, le réseau de capteurs de température se bloque à 0....
De retour, je le débranche, je le rebranche, tout refonctionne...

Curieux de de voir si ça va se répéter aux vacances de février, c'est dans 5 semaines.

Et dire que durant pratiquement une dizaine d'années avec DomoticZ et Raspberry PI j'ai eu 0 emmerde ;)
Dernière modification par Keros le 05 janv. 2025, 10:06, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
lost
Messages : 1511
Inscription : 12 nov. 2016, 11:01

Re: C'est quoi cette erreur Error: handleWrite ?

Message par lost »

Cette erreur ne peut venir que de 2 fonctions présentes dans ce fichier source de Domoticz:
hardware/plugins/PluginTransports.cpp

void CPluginTransportTCP::handleWrite(const std::vector<byte>& pMessage)
Ou sa version connection sécurisée (TLS):
void CPluginTransportTCPSecure::handleWrite(const std::vector<byte>& pMessage)

C'est dans les 2 cas un write de la librairie boost utilisée qui cause l'exception:
boost::asio::write()

Et au vu de ce qui est retourné par cette fonction:
'write: Broken pipe [system:32]'

Il y a tentative d'envoyer des données dans une connection réseau qui est tombée.

Note côté en-tête du PluginTransports.cpp:

Code : Tout sélectionner

//
//	Domoticz Plugin System - Dnpwwo, 2016
//
#ifdef ENABLE_PYTHON
(...)
#endif
C'est donc dans le code lié au réseau destiné aux plugins python...
marcus_54
Messages : 425
Inscription : 28 févr. 2018, 12:15

Re: C'est quoi cette erreur Error: handleWrite ?

Message par marcus_54 »

Bonjour
Cela semble très cohérent.
J'ai un plugin WLED qui est un plugin en python qui gère des bandes de LED RGB en wifi.
https://github.com/frustreermeneer/domoticz-wled-plugin

Ce bandeau de LED est mis hors tension pour la nuit et sur certaines périodes d'inactivité.
A mon avis il a dû être mis hors tension à un moment particulier ce qui a généré cette erreur car en général j'ai tout un paquet d'erreurs autre qui concerne Wled quand il est hors tension.

Code : Tout sélectionner

2025-01-06 05:47:09.164 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 05:52:09.205 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 05:57:09.198 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 06:02:09.158 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 06:07:09.187 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 06:12:09.199 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 06:17:09.210 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 06:22:09.192 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 06:27:09.176 Error: WLED: No transport, write directive to 'JSONConn' ignored.
2025-01-06 06:30:04.842 Error: WLED: Call to function 'onCommand' failed, exception details:
2025-01-06 06:30:04.847 Error: WLED: Traceback (most recent call last):
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 174, in _new_conn
2025-01-06 06:30:04.847 Error: WLED: conn = connection.create_connection(
2025-01-06 06:30:04.847 Error: WLED: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 96, in create_connection
2025-01-06 06:30:04.847 Error: WLED: raise err
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 86, in create_connection
2025-01-06 06:30:04.847 Error: WLED: sock.connect(sa)
2025-01-06 06:30:04.847 Error: WLED: OSError: [Errno 113] No route to host
2025-01-06 06:30:04.847 Error: WLED:
2025-01-06 06:30:04.847 Error: WLED: During handling of the above exception, another exception occurred:
2025-01-06 06:30:04.847 Error: WLED:
2025-01-06 06:30:04.847 Error: WLED: Traceback (most recent call last):
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 704, in urlopen
2025-01-06 06:30:04.847 Error: WLED: httplib_response = self._make_request(
2025-01-06 06:30:04.847 Error: WLED: ^^^^^^^^^^^^^^^^^^^
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 399, in _make_request
2025-01-06 06:30:04.847 Error: WLED: conn.request(method, url, **httplib_request_kw)
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 239, in request
2025-01-06 06:30:04.847 Error: WLED: super(HTTPConnection, self).request(method, url, body=body, headers=headers)
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3.11/http/client.py", line 1282, in request
2025-01-06 06:30:04.847 Error: WLED: self._send_request(method, url, body, headers, encode_chunked)
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3.11/http/client.py", line 1328, in _send_request
2025-01-06 06:30:04.847 Error: WLED: self.endheaders(body, encode_chunked=encode_chunked)
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3.11/http/client.py", line 1277, in endheaders
2025-01-06 06:30:04.847 Error: WLED: self._send_output(message_body, encode_chunked=encode_chunked)
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3.11/http/client.py", line 1037, in _send_output
2025-01-06 06:30:04.847 Error: WLED: self.send(msg)
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3.11/http/client.py", line 975, in send
2025-01-06 06:30:04.847 Error: WLED: self.connect()
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 205, in connect
2025-01-06 06:30:04.847 Error: WLED: conn = self._new_conn()
2025-01-06 06:30:04.847 Error: WLED: ^^^^^^^^^^^^^^^^
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 186, in _new_conn
2025-01-06 06:30:04.847 Error: WLED: raise NewConnectionError(
2025-01-06 06:30:04.847 Error: WLED: urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f781d1e90>: Failed to establish a new connection: [Errno 113] No route to host
2025-01-06 06:30:04.847 Error: WLED:
2025-01-06 06:30:04.847 Error: WLED: During handling of the above exception, another exception occurred:
2025-01-06 06:30:04.847 Error: WLED:
2025-01-06 06:30:04.847 Error: WLED: Traceback (most recent call last):
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/requests/adapters.py", line 489, in send
2025-01-06 06:30:04.847 Error: WLED: resp = conn.urlopen(
2025-01-06 06:30:04.847 Error: WLED: ^^^^^^^^^^^^^
2025-01-06 06:30:04.847 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 788, in urlopen
2025-01-06 06:30:04.848 Error: WLED: retries = retries.increment(
2025-01-06 06:30:04.848 Error: WLED: ^^^^^^^^^^^^^^^^^^
2025-01-06 06:30:04.848 Error: WLED: File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 592, in increment
2025-01-06 06:30:04.848 Error: WLED: raise MaxRetryError(_pool, url, error or ResponseError(cause))
2025-01-06 06:30:04.848 Error: WLED: urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.0.26', port=80): Max retries exceeded with url: /win/win&A=25 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f781d1e90>: Failed to establish a new connection: [Errno 113] No route to host'))
Domoticz 2024.7
Domoticz sur RPI 4B+ : MQTT; MQTTMapper; Zigbee; RFlink DIY 433; Téléinfo; DS18B20; Capteur; compteur eau wmbusmeter, NanoLeaf...
Répondre