Lancer une action suite à une erreur.

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.
pigloox
Messages : 78
Inscription : 18 janv. 2016, 16:12

Lancer une action suite à une erreur.

Message par pigloox »

Bonjour,

Petite question, savez vous si il est possible actuellement de lancer un script suivant une erreur remontée par Domoticz.

En fait je voudrais lancer un script par rapport à cette erreur :

Code : Tout sélectionner

Error: Error accessing automatic backup directories
Peu importe la méthodesi ça marche.
Merci de votre aide
Raspberry PI 3 & Raspbian 9 (Stretch) sur disque dur, Domoticz Beta Release,
RFX433E + USB Teleinfo + Zwave Stick
Modules Chacon DI-O, Fibaro, Qubino et sondes de températures
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: Lancer une action suite à une erreur.

Message par Chrominator »

Tu ne dis pas d'où vient cette erreur (script perso ou Domoticz lui-même), mais dans ce dernier cas si ça concerne la sauvegarde automatique faite dans /home/pi/domoticz/backups/, je me préoccuperais d'abord à ta place de savoir pourquoi j'ai le message (carte sd pleine, système de fichiers corrompu, carte défaillante...).
Programmer quelque-chose sur une base aussi peu stable ne sert à rien.

Si c'est un script perso, tu auras certainement le loisir d'intercepter le code retour de la fonction qui provoque le message.

Si c'est Domoticz qui envoie le message, ne reste pas dans cet état trop longtemps et trouve la cause avant qu'il ne soit trop tard.
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
pigloox
Messages : 78
Inscription : 18 janv. 2016, 16:12

Re: Lancer une action suite à une erreur.

Message par pigloox »

En fait je sais d'ou provient cette erreur :

Mon système est sur un raspberry et je fait la sauvegarde de ma base de donnée sur un disque réseau car pour moi faire une sauvegarde sur le même support ça peut être risqué.
Domoticz enregistre lui même cette sauvegarde sur le disque en reseau car le dossier backup est créé en "lien symbolique".

Ca fonctionne bien sauf dans le cas d'un redémarrage du raspberry, à mon avis, la partie réseau n'étant pas opérationnelle lors du montage des volumes, le montage du disque réseau est zappé, du coup domoticz ne peux plus faire sa sauvegarde d'où l'erreur.

Afin de palier à ça, je voulais déclencher un "mount" si cette erreur était présente.

J'espère m'être fait comprendre
Raspberry PI 3 & Raspbian 9 (Stretch) sur disque dur, Domoticz Beta Release,
RFX433E + USB Teleinfo + Zwave Stick
Modules Chacon DI-O, Fibaro, Qubino et sondes de températures
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Lancer une action suite à une erreur.

Message par vil1driver »

Salut,

j'utilise ceci pour relancer mosquitto quand domoticz ne parvient plus à s'y connecter.
tu peux probablement t'en inspirer

script_time_mqttRestart.lua

Code : Tout sélectionner

--[[

 domoticz/scripts/lua/script_time_mqttRestart.lua
 
 chaque minute,
 parcours les 3 dernières minutes de logs et relance mosquitto si down
 
--]]


-- chargement des modules
dofile('/home/pi/domoticz/scripts/lua/modules.lua')

local debug = true  -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir

local msg = "broker allready started"
for n, line in ipairs(lastLogEntry()) do
	if string.match(line['message'], "MQTT: Subscribed") then
		msg = "broker allready started"
		break
	elseif string.match(line['message'], "MQTT: Failed to start") then
		msg = "broker down > restarting"
		os.execute('su - vil1driver -c "/usr/sbin/mosquitto -c /etc/mosquitto/conf.d/monitor.conf -d" &')
		break
	end  
end
log(msg,debug)
commandArray = {}
return commandArray
nécessite la création d'un fichier modules.lua dans votre dossier lua (voir ma signature)

résultat
2017-03-10 09:51:00.394 (rfxcom) Lighting 2 (radiateur douche)
2017-03-10 09:51:04.014 Error: MQTT: Failed to start
2017-03-10 09:51:23.489 (rfxcom) Lighting 2 (radiateur douche)
2017-03-10 09:51:26.092 Hardware Monitor: Fetching data (System sensors)
2017-03-10 09:51:46.287 User: Admin initiated a switch command (488/led_2/Off)
2017-03-10 09:51:46.233 (Zwave) Light/Switch (mv bureau)
2017-03-10 09:51:46.352 EventSystem: Script event triggered: /home/vil1driver/domoticz/scripts/lua/script_device_sendTwice.lua
2017-03-10 09:51:46.296 (rfxcom) Lighting 1 (led_2)
2017-03-10 09:51:46.402 (rfxcom) Temp (salon)
2017-03-10 09:51:47.353 (rfxcom) Lighting 1 (led_2)
2017-03-10 09:51:56.115 Hardware Monitor: Fetching data (System sensors)
2017-03-10 09:51:57.475 (Zwave) Light/Switch (mv bureau)
2017-03-10 09:52:00.462 EventSystem: Script event triggered: /home/vil1driver/domoticz/scripts/lua/script_time_chauffageDouche_PID.lua
2017-03-10 09:52:00.521 LUA: broker down > restarting
2017-03-10 09:52:00.476 (rfxcom) Lighting 2 (radiateur douche)
2017-03-10 09:52:22.618 (rfxcom) Lighting 2 (radiateur douche)
2017-03-10 09:52:26.145 Hardware Monitor: Fetching data (System sensors)
2017-03-10 09:52:26.483 MQTT: Connecting to 192.168.22.100:1883
2017-03-10 09:52:26.584 MQTT: re-connected to: 192.168.22.100:1883
2017-03-10 09:52:26.684 MQTT: Subscribed

2017-03-10 09:52:36.229 (rfxcom) Temp + Humidity (salle de bain)
2017-03-10 09:52:55.825 (rfxcom) Temp + Humidity (chambre)
2017-03-10 09:52:56.171 Hardware Monitor: Fetching data (System sensors)
2017-03-10 09:53:00.073 EventSystem: Script event triggered: /home/vil1driver/domoticz/scripts/lua/script_time_chauffageDouche_PID.lua
2017-03-10 09:53:00.168 LUA: broker allready started
2017-03-10 09:53:00.077 (rfxcom) Lighting 2 (radiateur douche)
enjoy :mrgreen:
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
sphinxou
Messages : 231
Inscription : 03 déc. 2016, 13:37

Re: Lancer une action suite à une erreur.

Message par sphinxou »

bonsoir

à quoi sert le break ??

merci
Domoticz 4.9700/ rfxcom /sonde diy/raspberry pi3+HDD/cirusms/contact de porte diy
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Lancer une action suite à une erreur.

Message par vil1driver »

Sert à lui dire, pas la peine de lire les lignes suivantes, celle que tu cherches est trouvée ;)

Sortir prématurément de la boucle for

Léger gain de temps
Dernière modification par vil1driver le 23 janv. 2018, 21:02, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
sphinxou
Messages : 231
Inscription : 03 déc. 2016, 13:37

Re: Lancer une action suite à une erreur.

Message par sphinxou »

merci

pour toi ceci est bon :

Code : Tout sélectionner

local msg = "detection d'erreur d'envoie de SMS"
for n, line in ipairs(lastLogEntry()) do
   if string.match(line['message'], "Error opening url: 192.168.1.2:1200/SMS&GRP=PATJUL&MSG=la%20porte%20d'entrer%20est%20ouverte") then
   smsput('ADMIN',"error")   
   break      
   end
end
log(msg,debug)
commandArray = {}
return commandArray
Domoticz 4.9700/ rfxcom /sonde diy/raspberry pi3+HDD/cirusms/contact de porte diy
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Lancer une action suite à une erreur.

Message par vil1driver »

Par exemple oui..

Mais tu est le mieux placé pour valider son bon fonctionnement
Dernière modification par vil1driver le 23 janv. 2018, 21:09, modifié 1 fois.
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
sphinxou
Messages : 231
Inscription : 03 déc. 2016, 13:37

Re: Lancer une action suite à une erreur.

Message par sphinxou »

je rajoute oui

merci pour ton aide
Domoticz 4.9700/ rfxcom /sonde diy/raspberry pi3+HDD/cirusms/contact de porte diy
sphinxou
Messages : 231
Inscription : 03 déc. 2016, 13:37

Re: Lancer une action suite à une erreur.

Message par sphinxou »

par contre comment tu fait pour les 3 dernières minute ??
Domoticz 4.9700/ rfxcom /sonde diy/raspberry pi3+HDD/cirusms/contact de porte diy
Répondre