#!/bin/bash
# Script qui vérifie l'état de domoticz et qui relance si off

PATH=/opt/domoticz/:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

now=$(date) #récupération de la date et heure pour les logs
echo $now
#Récupération du retour de la commande de status
domoticz=$(/usr/sbin/service domoticz.sh status |egrep "inactive|failed" |wc -l)
echo "statut domoticz" $domoticz

#grep "Error: RFLink: TX time out..." /var/log/domoticz.log |tail -n 1|cut -c 1-16
#status=$(/usr/sbin/service domoticz.sh status) #On le lance

#echo $domoticz $status
rflink=$(tail -n5000 /var/log/domoticz.log|grep -y "RFXCOM: Unhandled switch command" |wc -l)
rflink2=$(tail -n5000 /var/log/domoticz.log|grep -y "RFXCOM: TX time out..." |wc -l)
#rflink2=$(grep -y "Error: RFLink: TX time out..." /var/log/domoticz.log |wc -l)
echo "Unhandled switch" $rflink
echo "Time out" $rflink2

if [ "$domoticz" -ge "1" ] # Si le service n'est pas lancé
then
 relance=$(/usr/sbin/service domoticz.sh restart) #On le lance
 echo "$now &gt;&gt; relance : $relance" #On log la lancement
else
  echo "$now &gt;&gt; Domoticz lancé" #On log l'état normal
fi

if [ "$rflink" -ge "1" ] # Si le service n'est pas lancé
then
 cat /dev/null > /var/log/domoticz.log 
 relance=$(/usr/sbin/service domoticz.sh restart) #On le lance
 echo "$now &gt;&gt; relance : $relance" #On log la lancement
fi

if [ "$rflink2" -ge "1" ] # Si le service n'est pas lancé
then
 cat /dev/null > /var/log/domoticz.log 
 relance=$(/usr/sbin/service domoticz.sh restart) #On le lance
 echo "$now &gt;&gt; relance rflink : $relance" #On log la lancement
fi

exit 0

