Hallo liebe Boardmitglieder,
so langsam finde ich mich in python ein.
Ich habe auch schon verschiedene Programme am laufen, die in Python geschrieben sind.
Aktuell habe ich eine Mischung aus Hausautomatisierung und Alarmserver für mein Feuerwehrhobby am laufen.
Ich habe nur ein Problem.
Mein kleiner Raspberry Pi schaltet über 433Mhz eine Funksteckdose bei Alarm am Funkmelder an.
Die Steckdose bleibt auch nach Wunsch 2 min an. Hier hängt später dann eine Steckerlampe dran um im Schlafzimmer automatisch Licht bei Alarm zu haben.
Was mir jetzt jedoch fehlt ist ein Befehl um diese kleine Zusatzprogramm/Modul nur in den Nachstunden laufen zu lassen.
Zeitfenster z.B. 23:00-07:00 Uhr und nach Winter/Sommer entsprechend abänderbar.
Egal mit welchen Begriffen ich gesucht, habe, ich komme einfach nicht in die Richtung des Zeitfensters wie ich hier auf der Suche bin.
Wäre super wenn ihr mir etwa auf die Sprünge helfen könntet
Danke
Ausgabe nur in Zeitfenster (Lampenschaltung von - bis)
Das sollte doch mit dem datetime Modul recht einfach zu lösen sein.
Du kannst z.B. mit die aktuelle Stunde abfragen und nur wenn diese in dem von dir gewünschten Intervall liegt, wird das Signal eben an die Steckdose gesendet.
Du kannst z.B. mit
Code: Alles auswählen
datetime.now().hour
Code: Alles auswählen
from datetime import datetime, time
now = datetime.now()
now_time = now.time()
if now_time >= time(23,30) and now_time <= time(06,30):
print "yes, within the interval"
Ich habe nur das Problem, egal wo ich mit if eine Abfrage finde, es wird immer nur mit Print gearbeitet.
Kann ich nach einer if-Bedingung keine Systemparamter weiter geben?
Leider bleibt mein Programm immer mit Fehler stehen.
Code: Alles auswählen
#!/usr/bin/python
import os
import time
from datetime import datetime, time
now = datetime.now()
now_time = now.time()
if now_time >= time(18,30) and now_time <= time(18,50):
os.system("sudo /home/pi/raspberry-remote/./send 01001 4 1")
time.sleep(120)
os.system("sudo /home/pi/raspberry-remote/./send 01001 4 0")
Wobei ich damals im Gegensatz zu heute keinen Sinn in den Programmen sah.
Wenn ich jetzt das richtig verstanden habe wird oben abgefragt, ob die Zeit zwischen 18:30 und 18:50Uhr liegt. Wenn ja, dann wird der Befehl darunter ausgeführt.
Nur leider funktioniert mein Code dann mit os.system nicht mehr. Denn ein print"os.system("sudo.....)"usw macht doch auch keinen Sinn, oder?
Aktuell kreiseln ziemlich viele Fragezeichen über meinen Kopf. Selbst in meinen Python Buch finde ich nichts dazu.