Dans mon potager, j'ai une petite serre qui me permet de faire pousser tous mes plants de légumes. Son ouverture n'est pas automatique mais j'ai mis en place un petit script qui permet de recevoir une notification sur mon téléphone lorsque la température intérieure de la serre atteint un certain seuil.

Dans un précédent article, je vous avais présenté comment implémenter des sondes de températures sur un Raspberry Pi. Cependant, étant donné que ma serre est située à l'autre bout de mon terrain, il m'arrive d'oublier d'ouvrir la serre le matin avant de partir bosser.

Du coup, si le soleil tape bien le matin, la température à l'intérieur de la serre monte vite. J'ai donc écrit un script Python permettant de vérifier la température intérieure et d'envoyer une notification Pushbullet si le seuil défini est dépassé.

Pour utiliser Pushbullet via Python, il faut au préalable installer le paquet adéquat :

pip install git+https://github.com/Azelphur/pyPushBullet.git

Voici le script en question :

Au début du code, trois variables sont à modifier :

  • SENSOR_ID : identifiant de la sonde dont il faut récupérer la température. Ce numéro s'obtient dans /sys/bus/w1/devices/
  • MAX_TEMP_ALLOWED : température maximale à partir de laquelle la notification se déclenche
  • PB_API_KEY : votre clé pour l'API Pushbullet (voir dans Settings, Account, Acccess Tokens)

Le script récupère la température actuelle de la sonde paramétrée et si elle est supérieure au seuil défini, la notification Pushbullet se déclenche.

Le texte présent dans la notification est modifiable dans la fonction sendNotification() (variables title et text).

Pour finir, ajoutez l'exécution de ce script dans les tâches planifiées. Pour ma part, le script se lance toutes les 30 minutes :

*/30 * * * * /path/to/alertTemperaturePushbullet.py >/dev/null 2>&1

Je suis donc informé dès que la température de la serre dépasse 45°C !