Redémarrage suivant conditions d'un module complémentaire

Mon problème

Perte d’informations de sondes.
Depuis toujours, je perds de temps en temps les informations liées aux équipements Enocean, ce qui nécessite le redémarrage du module complémentaire. En attendant de retrouver la root cause, sauriez-vous comment je pourrais automatiser ce redémarrage :
Si le last seen des 3 sondes de température est supérieur à 45 min, je souhaiterais redémarrer le module complémentaire en question.

Merci pour votre aide

Ma configuration


Home Assistant à jour, Enocean


Avec un appel du service Restart add-on.

service: hassio.addon_restart
data:
  addon: core_nginx_proxy

Tu peux tester dans outils de développement → Services

Merci ! Je teste ça ce soir.
Tu saurais également pour les conditions de déclenchement (température non mise à jour depuis XX minutes) ?

Hello @Arno
Tu utilises quel module complémentaire ? Enocean2mqtt ?

Oui, en effet, j’utilise désormais cette extension.
J’ai eu récemment 2 plantages (les données de température ne remontent plus, et il y a un message d’erreur que je n’ai pas conservé :face_with_raised_eyebrow:).
Un redémarrage du module résoud le problème.
Auparavant j’utilisais l’extension intégrée, et ce type de comportement arrivait également (je devais alors recharger l’extension Enocean).
Le dongle est le « classique » USB 300.

1 « J'aime »

Voici une info sur plantage obtenu :frowning:

Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.10/site-packages/enocean-0.60.1-py3.10.egg/enocean/communicators/serialcommunicator.py", line 39, in run
    self.parse()
  File "/usr/lib/python3.10/site-packages/enocean-0.60.1-py3.10.egg/enocean/communicators/communicator.py", line 64, in parse
    status, self._buffer, packet = Packet.parse_msg(self._buffer)
  File "/usr/lib/python3.10/site-packages/enocean-0.60.1-py3.10.egg/enocean/protocol/packet.py", line 155, in parse_msg
    packet = UTETeachInPacket(packet_type, data, opt_data)
  File "/usr/lib/python3.10/site-packages/enocean-0.60.1-py3.10.egg/enocean/protocol/packet.py", line 48, in __init__
    self.parse()
  File "/usr/lib/python3.10/site-packages/enocean-0.60.1-py3.10.egg/enocean/protocol/packet.py", line 389, in parse
    self.unidirectional = not self._bit_data[DB6.BIT_7]
IndexError: list index out of range

L’un de vous aurait-il déjà obtenu ce message ?
Sinon, si quelqu’un a une idée pour tester cette « non mise à jour », je suis toujours preneur.
Merci !