[Bash] Script pour connaitre l'état d'un poele PALAZZETTI + Alerte SMS

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Viand0x
Messages : 19
Inscription : 07 nov. 2016, 01:27

[Bash] Script pour connaitre l'état d'un poele PALAZZETTI + Alerte SMS

Message par Viand0x »

Bonjour,
Je continue de tester et approfondir la connexion box. J'ai écrit un script pour Domoticz qui me log tous les changements d'état poêle et qui m'envoie un SMS si le niveau de pellet est trop bas.

Prérequis : connexion box opérationnelle, domoticz (linux) sur le réseau local, abonnement Free Mobile.

Il y a 3 choses à modifier : l'adresse IP du poele, l'adresse IP de Domoticz et les identifiants pour SMS

Le script est le suivant. Il faut créer le fichier etat_poele.sh, copier le script dedans, lui donner les droits d'éxécution et ensuite le mettre dans le crontab : @reboot /home/pi/etat_poele.sh > /dev/null

Code : Tout sélectionner

#!/bin/bash

# Initialisation des variables
statut=0
var_stat=0
oldstatut=0

# Le programme tourne en boucle : 

while true;
do 

# On récupère la variable du statut :
var_stat=$(curl -s "http://192.168.XXX.XXX/sendmsg.php?cmd=get+stat" | jq '. | ."Status".STATUS')
# La commande n'est pas très réactive, on attend 10 sec
sleep 10

# On traduit le code du statut par sa signification

case $var_stat in
                                "0")
                                        statut="Le%20poële%20est%20éteind"
                                        ;;
                                "1")
                                        statut="Le%20poële%20est%20éteind%20selon%20la%20programmation"
                                        ;;
                                "2")
                                        statut="Vérification"
                                        ;;
                                "3")
                                        statut="Préchauffage"
                                        ;;
                                "4")
                                        statut="Chargement%20de%20pellets"
                                        ;;
                                "5")
                                        statut="Test%20d'allumage"
                                        ;;
                                "6")
                                        statut="En%20chauffe"
                                        ;;
                                "9")
                                        statut="Refroidissement%20du%20fluide%20caloporteur"
                                        ;;
                                "10")
                                        statut="Arrêt%20de%20la%20flamme"
                                        ;;
                                "11")
                                        statut="Brûlage%20des%20derniers%20pellets"
                                        ;;
                                "12")
                                        statut="Refroidissement"
										;;
								"253")
										statut="Pellet%20bas"
esac

# On vérifie si le statut a changé depuis la dernière fois

if [ $statut != $oldstatut ]
# Dans ce cas on envoi la variable vers le compteur domoticz :
then
curl -s "http://192.168.XXX.XXX:8080/json.htm?type=command&param=udevice&idx=54&nvalue=0&svalue=$statut" 
fi

# On test si la variable est "Pellet bas"

if [ $var_stat = "253" ]

# Dans ce cas on envoi un SMS
then
curl -sk "https://smsapi.free-mobile.fr/sendmsg?user=USERFREE&pass=PASSFREE&msg=Attention%20niveau%20de%20pellets%20bas!"
fi
# On passe le nouveau statut en ancien statut

oldstatut=$statut

# On attent 45 secondes avant de relancer
sleep 45

done
mickaelr30
Messages : 210
Inscription : 29 août 2015, 15:57

Re: Script pour connaitre l'état d'un poele PALAZZETTI + Alerte SMS

Message par mickaelr30 »

salut,
un petit hors sujet : tu arrive à mettre en marche le poêle j'ai créé un bouton avec en commande ON : http://192.168.1.xx/sendmsg.php?cmd=CMD%20ON
et OFF : http://192.168.1.xx/sendmsg.php?cmd=CMD%20OFF
chez moi la commande OFF fonctionne bien mais le ON ne marche jamais
Domoticz + Imperihome + Mydomoathome
1-wire : 12 DS18b20 + 3 DS2413
Z-Wave : 8 FGR221 + 3 FGS222 + 3 FGSD002
téléinfo : 2 modules ( consommation + production)
Mysensors+2 éclairages ws2812 et WLED
2 caméra IP +1 raspberry piscine + 1 nuc domoticz
Viand0x
Messages : 19
Inscription : 07 nov. 2016, 01:27

Re: Script pour connaitre l'état d'un poele PALAZZETTI + Alerte SMS

Message par Viand0x »

Je n'ai pas testé cette fonction, je n'en ai pas l'utilité, chez moi le poele est notre seule source de chauffage, donc je ne l'arrête jamais (enfin si quand il fait chaud dehors!)
Répondre