Page 1 sur 1

Envoyer une notification sur une erreur dans les log

Publié : 02 avr. 2022, 10:47
par quady42
Bonjour à tous,
Je dispose de 2 Pi avec domoticz: Mon domoticz principal avec l'ensemble de mes fonctionnalités et un second domoticz configurer en esclave vers mon compteur EDF avec un module Télefinfo connecté dessus.
Il arrive de façon aléatoire que ce second domoticz bug (domoticz le plus souvent, car la connexion SSH fonctionne sur le PI)et que je sois obligé de le redémarrer... Mais je m'en aperçois quand il commence à faire froid dans la maison et là je me fais engueuler par la patronne.

Je souhaiterais faire envoyer une notification à mon domoticz principal lorsque j'ai ce message dans les log :
Error: domoticz esclave: Can not connect to: 192.168.1.xx:xxxx

J'ai regardé pour faire ça en blocky mais je ne sais pas comment faire pour conditionner sur un message dans les log...

Auriez-vous une idée ?

Re: Envoyer une notification sur une erreur dans les log

Publié : 02 avr. 2022, 11:17
par Keros
Je viens de déplacer ton sujet dans la section Scripts.

Je ne crois pas qu'il y ait de fonction qui permette de lire les logs. Mais je pense que tu peux contourner cette difficulté ;)

Première idée : utilisé le Pi maitre pour faire un ping sur l'esclave (il y a un plugin pour ça). c'est directement un widget qui passe à Off et là, tu fais les notifications directement que tu veux.

Deuxième idée (un petit peu plus lourde) : depuis ton Pi esclave, tu mets à jour une variable toutes les minutes en disant par exemple : "Je suis en ligne".
Du côté du Pi maître, il vérifie toutes les minutes que la variable à changé depuis les 5 dernières minutes (par exemple pour éviter les éventuelles faux négatif) : si la variable n'a pas été mise à jour, hop notification.
Par contre, en Blockly, ça risque d'être compliqué. Regarde peut-être en LUA ou DzVents. J'ai écrit des petits guides dans ma présentation dont un concernant les débuts en programmation (lien en signature). En DzVents, tu devrais avoir le lastupdate facilement, en LUA, je ne sais plus :?

Re: Envoyer une notification sur une erreur dans les log

Publié : 02 avr. 2022, 19:25
par quady42
Merci pour le retour.

Le ping n'est pas forcément la bonne solution, car très souvent le PI répond bien, le problème est souvent au niveau de domoticz car j'arrive à me connecter sur le PI esclave en SSH pour le redémarrer… :)

J'espérai qu'il existe une solution pour les lire les log...

J'ai effectivement pensé utiliser la lastupdate via LUA car je n''ai jamais touché DZevent mais il faut que je gratte un peu plus de se coter là.

Re: Envoyer une notification sur une erreur dans les log

Publié : 02 avr. 2022, 20:31
par Keros
Tu dois pouvoir le faire en LUA :
  • Avec un widget : otherdevices_lastupdate['yourotherdevicename'] = "2015-12-27 14:26:40"
  • Avec une uservariable : uservariables_lastupdate['yourvariablename'] = '2015-12-27 11:19:22'

Re: Envoyer une notification sur une erreur dans les log

Publié : 02 avr. 2022, 23:26
par hestia
bonsoir,
1/ mettre en place Monit pour commencer si pas déjà fait?
https://www.domoticz.com/wiki/Monitorin ... sing_Monit
Ce qui permettra de relancer dz si KO
2/ Vu de l'autre PI, à la place du ping appeler l'url de l'autre dz pour voir si cela répond et déclencher une alarme si pb
3/ Pour lire les log, les envoyer vers syslog et lire le fichier "grep"
4/ Et si tu as un NAS synology envoyer syslog vers le log center du NAS et déclencher une alarme sur mot clé

1/ me semble indispensable de toute façon
2/ peut être simple et pourrait être fait dans les 2 sens
3/ un peu bidouille à mon sens
4/ intéressant pour garder bcp de log et les analyser simplement, mais un peu lourd pour juste les alarmes par rapport à 2/

Re: Envoyer une notification sur une erreur dans les log

Publié : 03 avr. 2022, 16:17
par quady42
Merci à tous, dans un 1er temps, j'ai installé Monit sur mon PI esclave, effectivement ça devrait résoudre une partie de mes problèmes (il était déjà en place sur mon PI principale)...

Et je viens de faire un script lua pour vérifier mon widget jour/nuit qui remonte de mon PI esclave avec otherdevices_lastupdate si il est actif plus de 10h c'est qu'il y a 1 problème et je m'envoie une notif
J'ai mis 10h ça évite de recevoir une notif le dimanche matin à 6h30 :D