Accueil > Domotique, Raspberry > Tester le fonctionnement de Domoticz en Python

Tester le fonctionnement de Domoticz en Python

Le but de cet article est de tester le fonctionnement de Domoticz sur le Raspberry en Python.

Il va tester 2 choses :

– l’existence du process Domoticz.

– l’accès au serveur Web (pour ma part j’y accède via le port 443 uniquement et non le port 8080 par défaut).

Si le process ne tourne pas ou si l’accès au serveur Web par le port 443 n’aboutit pas, je redémarre le service Domoticz et j’envoie un Email.

Voici le contenu du script en Python que j’ai nommé pifab-state.py :

#!/usr/bin/env python
# importation des librairies
import smtplib
import os
import socket

# importation des modules email
from email.mime.text import MIMEText

USERNAME = "user@gmail.com"
PASSWORD = "motdepasse"
MAILTO = "user@gmail.com"

# teste presence process domoticz
process = os.popen("ps -Af").read()
proccount = process.count("domoticz")

# teste access https
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = s.connect_ex((‘192.168.1.21’, 443))
s.close()

if proccount == 0 or result > 0:
        os.system(‘service domoticz.sh start’)
        msg = MIMEText(‘Le serveur Domoticz a redemarre’)
        msg[‘Subject’] = ‘Domoticz’
        msg[‘From’] = USERNAME
        msg[‘To’] = MAILTO
        # parametres necessaires pour utiliser gmail
        server = smtplib.SMTP(‘smtp.gmail.com:587’)
        server.ehlo_or_helo_if_needed()
        server.starttls()
        server.ehlo_or_helo_if_needed()
        server.login(USERNAME,PASSWORD)
        server.sendmail(USERNAME, MAILTO, msg.as_string())
        server.quit()

 

Ensuite j’édite le crontab en tapant la commande crontab –e et j’y ajoute la ligne suivante :

*/5 * * * * python /home/pi/programmation/pifab-state.py >/dev/null 2>/dev/null

Le script sera exécuté toutes les 5 minutes. La redirection vers /dev/null permet de ne pas tenter d’envoyer un mail.

Publicités
Catégories :Domotique, Raspberry Étiquettes : , , ,
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :