Hallo,
habe ein scipt fuer eine Lichtsteuerung.
Jedestunde6_23.py
#!/usr/bin/python
import subprocess
from subprocess import Popen
import pifacedigitalio
from time import sleep
pfd = pifacedigitalio.PiFaceDigital() # creates a PiFace Digital object
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestundeerstesMal | at 06:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 07:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 08:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 09:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 10:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 11:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 12:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 13:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 14:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 15:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 16:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 17:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 18:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 19:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 19:30 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/meteo | at 19:54 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 20:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 21:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 22:00 today"
subprocess.Popen(cmd, shell=True)
if pfd.input_pins[0].value == 0:
cmd = "echo /bin/led/jedestunde | at 23:00 today"
subprocess.Popen(cmd, shell=True)
Alles anzeigen
Ist waehrend einem reboot, if pfd.input_pins[0].value == 0: geht es, cmd`s werden alle ausgefuehrt.
Ist es waehrend einem reboot, if pfd.input_pins[0].value == 1: geht es nicht, cmd`s werden nicht ausgefuehrt.
ist in rc.local, so.
/usr/bin/python /bin/led/Jedestunde6_23.py &
Ist Alarm in der Nacht , if pfd.input_pins[0].value == 0: ausgeschaltet, funktioniert die Lichtsteuerung ab 06.00h Jedestunde6_23.py einwandfrei.
Ist jedoch der Alarm in der Nacht ein (reboot at 05.30h) wird script Jedestunde6_23.py den ganzen Tag nicht ausgefuehrt, obwohl ab 07.00h Alarm wieder ausgeschaltet wurde, also if pfd.input_pins[0].value == 0: wieder auf 0 ist.
Habe jetzt in crontab -e, um 07.02 ein, 02 7 * * * /etc/rc.local #restart at 07.02h eingefuegt.
So geht es nun, aber ist das der richtige Weg, ich denke das muss auch anderst, eleganter gehen.
Hat jemand einen Tip?
Gruss
gwaag