Hallo Community, ich habe mal wieder ein Problem.
Und zwar habe ich dieses Programm :
#! /usr/bin/python
# -*- coding: utf-8 -*-
#importieren der Libraries
import poplib
from email import parser
import os
import subprocess
import webiopi
import time
from time import sleep
import datetime
from time import *
GPIO = webiopi.GPIO
server = "pop.gmail.com"
benutzer = "meinbenutzer"
passwort = "meinpasswort"
abwesend = "meinname hat folgenden Standort verlassen: Privat."
anwesend = " meinnname ist an folgendem Standort angekommen: Privat."
Alarmeingang = 27
Alarmausgang = 17
Zimmerlicht = 14
zuhause = 15
uhr1 = "21:27:00"
uhr2 = "06:29:55"
uhr3 = "07:40:30"
GPIO.setFunction(Zimmerlicht, GPIO.OUT)
GPIO.setFunction(Alarmeingang, GPIO.IN)
GPIO.setFunction(Alarmausgang, GPIO.OUT)
GPIO.setFunction(zuhause, GPIO.OUT)
while True:
pop_conn = poplib.POP3_SSL(server)
pop_conn.user(benutzer)
pop_conn.pass_(passwort)
maillist = pop_conn.list()[1]
mailcount = len(maillist)
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
messages = ["\n".join(mssg[1]) for mssg in messages]
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
message['subject']
pop_conn.quit()
zeit = localtime()
jetzt = strftime("%H:%M:%S", zeit)
if uhr1 in jetzt and (GPIO.digitalRead(zuhause) == GPIO.HIGH):
GPIO.digitalWrite(Zimmerlicht, GPIO.HIGH)
if uhr2 in jetzt and (GPIO.digitalRead(zuhause) == GPIO.HIGH):
GPIO.digitalWrite(Zimmerlicht, GPIO.HIGH)
if uhr3 in jetzt:
GPIO.digitalWrite(Zimmerlicht, GPIO.LOW)
if (GPIO.digitalRead(Alarmeingang) == GPIO.LOW) and (GPIO.digitalRead(Alarmausgang) == GPIO.HIGH):
GPIO.digitalWrite(Zimmerlicht, GPIO.HIGH)
if (GPIO.digitalRead(Alarmeingang) == GPIO.LOW) and (GPIO.digitalRead(Alarmausgang) == GPIO.HIGH) and (GPIO.digitalRead(Zimmerlicht) == GPIO.HIGH):
os.system("fswebcam -r 640x480 -d /dev/video0 -v /home/pi/Alarmsystem/email/alarm.jpg")
subprocess.call('cd /home/pi/Alarmsystem/sirene && mpg123 -q sirene.mp3 && cd /home/pi/whatsapp/src && sudo python yowsup-cli -c config.example -s nummer "Meinname es wurde ein Alarm aktiviert. Ich habe dir per Mail ein Bild geschickt. Dies zeigt das unerlaubte Eintreten in dein Zimmer. - Nachricht vom Raspberry Pi - Überwachungssystem 2.0 "', shell=True)
subprocess.call("cd /home/pi/Alarmsystem/email && sudo python Alarmmail.py", shell=True)
GPIO.digitalWrite(Zimmerlicht, GPIO.LOW)
if mailcount == 1:
betreff = message['subject']
if (GPIO.digitalRead(Zimmerlicht) == GPIO.HIGH) and "Licht an" in betreff:
subprocess.call('cd /home/pi/whatsapp/src && sudo python yowsup-cli -c config.example -s nummer "Ich habe regestriert, dass das Licht bereits angeschaltet ist.- Nachricht vom Raspberry Pi - Überwachungssystem 2.0 "', shell=True)
if (GPIO.digitalRead(Alarmausgang) == GPIO.HIGH) and "Alarm an" in betreff:
subprocess.call('cd /home/pi/whatsapp/src && sudo python yowsup-cli -c config.example -s nummer "Ich habe regestriert, dass der Alarm bereits eingeschaltet ist. - Nachricht vom Raspberry Pi - Überwachungssystem 2.0 "', shell=True)
if (GPIO.digitalRead(Alarmausgang) == GPIO.LOW) and "Alarm aus" in betreff:
subprocess.call('cd /home/pi/whatsapp/src && sudo python yowsup-cli -c config.example -s nummer "Ich habe regestriert, dass der Alarm bereits ausgeschaltet ist. - Nachricht vom Raspberry Pi - Überwachungssystem 2.0 "', shell=True)
if (GPIO.digitalRead(Zimmerlicht) == GPIO.LOW) and "Licht aus" in betreff:
subprocess.call('cd /home/pi/whatsapp/src && sudo python yowsup-cli -c config.example -s nummer "Ich habe regestriert, dass das Licht bereits ausgeschaltet ist. - Nachricht vom Raspberry Pi - Überwachungssystem 2.0 "', shell=True)
if anwesend in betreff and (GPIO.digitalRead(Alarmausgang) == GPIO.HIGH):
GPIO.digitalWrite(Alarmausgang, GPIO.LOW)
GPIO.digitalWrite(zuhause, GPIO.HIGH)
if abwesend in betreff:
GPIO.digitalWrite(Zimmerlicht, GPIO.LOW)
GPIO.digitalWrite(Alarmausgang, GPIO.HIGH)
GPIO.digitalWrite(zuhause, GPIO.LOW)
if "Licht an" in betreff:
GPIO.digitalWrite(Zimmerlicht, GPIO.HIGH)
if "Licht aus" in betreff:
GPIO.digitalWrite(Zimmerlicht, GPIO.LOW)
if "Alarm an" in betreff:
GPIO.digitalWrite(Alarmausgang, GPIO.HIGH)
if "Alarm aus" in betreff:
GPIO.digitalWrite(Alarmausgang, GPIO.LOW)
if "Schicke Foto" in betreff:
GPIO.digitalWrite(Zimmerlicht, GPIO.HIGH)
os.system("fswebcam -r 640x480 -d /dev/video0 -v /home/pi/Alarmsystem/email/foto.jpg")
subprocess.call("cd /home/pi/Alarmsystem/email && sudo python Fotomail.py", shell=True)
GPIO.digitalWrite(Zimmerlicht, GPIO.LOW)
if "Zuhause" in betreff:
GPIO.digitalWrite(zuhause, GPIO.HIGH)
if "Nicht Zuhause" in betreff:
GPIO.digitalWrite(zuhause, GPIO.LOW)
if not "Licht an" in betreff:
if not "Licht aus" in betreff:
if not "Alarm an" in betreff:
if not "Alarm aus" in betreff:
if not "Schicke Foto" in betreff:
if not anwesend in betreff:
if not abwesend in betreff:
if not "Zuhause" in betreff:
if not " Nicht Zuhause" in betreff:
subprocess.call('cd /home/pi/whatsapp/src && sudo python yowsup-cli -c config.example -s nummer "Leider war dies ein unbekannter Befehl, bitte überprüfe deine Angabe und schicke einen neuen Befehl - Nachricht vom Raspberry Pi - Überwachungssystem 2.0 "', shell=True)
sleep(0.5)
Alles anzeigen
Das ist auch in der rc.local eingetragen und wird auch gestartet beim starten des PIs.
Jedoch wird das Proogramm nach einer Zeit beendet und das soll es ja jedoch nicht.
In der rc.local ist es so eingetragen:
/home/pi/Alarmsystem/hauptprogramm/zimmer.py &
Ist in dem Script ein Abschnitt, der dazu führt, dass dies nach unbestimmter Zeit beednet wird ?
Vielen Dank für eure Hilfe !