# nécessite la bibliothèque pyserial :
# pip3 install pyserial dans la console

from serial import Serial
from time import sleep
import smtplib
from email.mime.text import MIMEText

port_serie = Serial(port="COM2", baudrate=9600, timeout=1, writeTimeout=1)

chaine = ""
messageEnvoye = False  # prendra la valeur True quand un message aura été envoyé

def envoyerMessage(chaine):
    message_elec = MIMEText("La température a dépassé la valeur d'alerte (mesure à "+chaine+"°C)")    
    message_elec['Subject'] = "Message Domotique"
    message_elec['From'] = 'xxx@free.fr'                         
    message_elec['To'] = 'yyy@sfr.com'
    serveur = smtplib.SMTP('smtp.free.fr:587')                  
    serveur.starttls()
    try:
        serveur.login('login','mdp')
        serveur.send_message(message_elec)
        serveur.quit()
        print('Le mail a été envoyé')
    except smtplib.SMTPException:
        print("Erreur d'identification")


if port_serie.isOpen():
    while True:
        ligne = port_serie.readline()
        chaine = str(ligne,"utf-8").strip('\r\n')
        sleep(1)
        print(chaine)
        if ((chaine < '18') and (messageEnvoye == False)) :
            envoyerMessage(chaine)
            messageEnvoye = True
        elif ((chaine >= '28') and (messageEnvoye == True)):
            messageEnvoye = False
            
        
