
Variable message no se borra
Publicado por Hercross (2 intervenciones) el 05/11/2021 13:24:57
Hola buenos días, estoy empezando con Python y tengo un problema.
Básicamente tomo el valor de temperatura de un sensor, y mando un email con el valor.
Todo bien, funciona todo, pero cada vez que mando un email, en el campo del mensaje, se me suma lo anterior con lo nuevo, por ejemplo, me manda un email con "La temp = 20ºC", hasta aquí todo bien, después de un tiempo, me vuelve a mandar un email con "La temp=20ºCLa temp=20ºC" y después "La temp=20ºCLa temp=20ºCLa temp=20ºC", no me lo borra sino que lo añade..
Este es mi código:
Que puedo estar haciendo mal?
Gracias
Básicamente tomo el valor de temperatura de un sensor, y mando un email con el valor.
Todo bien, funciona todo, pero cada vez que mando un email, en el campo del mensaje, se me suma lo anterior con lo nuevo, por ejemplo, me manda un email con "La temp = 20ºC", hasta aquí todo bien, después de un tiempo, me vuelve a mandar un email con "La temp=20ºCLa temp=20ºC" y después "La temp=20ºCLa temp=20ºCLa temp=20ºC", no me lo borra sino que lo añade..
Este es mi código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
while True:
try:
# Print the values to the serial port
message = " "
temperature_c = dhtDevice.temperature
humidity = dhtDevice.humidity
temp = float("{:.1f}".format(temperature_c))
print(temp)
print(
"Temp: {:.1f} ºC Humidity: {}% ".format(
temperature_c, humidity
)
)
if temp == float("20.0"):
print("Temperatura igual a 20ºC")
message = "Temperatura de 20ºC"
elif temp < float("20.0"):
print("Temperatura inferior a 20ºC")
message = "Temperatura inferior a 20ºC"
else:
print("Temperatura superior a 20ºC")
message = "Temperatura superior a 20ºC"
msg.attach(MIMEText(message, 'plain'))
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(msg['From'], password)
server.sendmail(msg['From'], msg['To'], msg.as_string())
server.quit()
Que puedo estar haciendo mal?
Gracias
Valora esta pregunta


0