nach dem ich nun seit heute morgen 09:00 meinen Urlaub mit meinem ersten Python Skript verbringe und nicht weiterkomme, so möchte ich euch gerne um Rat fragen.
Bitte seit nachsichtig ich bin neu in Python, das Thema hab ich generell schon etwas länger auf dem Schirm, der Ursprungs Thread ist hier:
https://knx-user-forum.de/forum/support ... e-py/page2
Es geht um ein Smarthome, im welchen ein Skript eine Aktion zwischen zwei bestimmten Uhrzeiten nur Mo. - Fr. ausführen soll. Später kommt noch hinzu, das die Aktion nur 1x pro Tag ausgeführt werden soll.
Wenn ich den Code ausführe dann funktioniert alles:
Code: Alles auswählen
#!/usr/bin/env python3
# zirkulation_test.py
import time
now = time.strftime("%H:%M:%S")
if sh.Lampen.Flur_unten.Deckenlampe.schalten():
now = time.strftime("%H:%M:%S")
timewindow1_ok = ("06:00:00") <= now < ("22:00:00")
if timewindow1_ok:
sh.Lampen.Flur_oben.Deckenlampe.schalten('on')
time.sleep(5)
sh.Lampen.Flur_oben.Deckenlampe.schalten('off')
time.sleep(2)
Nun möchte ich dies in der nächsten Stufe aber auf die Tage: Mo-Fr beschränken - also nicht am Wochenende.
Hierzu sollte folgender Code dienen, welcher aber aktuell nicht funktioniert:
Code: Alles auswählen
#!/usr/bin/env python3
# zirkulation_test.py
import time
import datetime
now = time.strftime("%H:%M:%S")
day = time.strftime("%a")
if not any([char == day for char in ["Mon","Tue","Wed","Thu","Fri"]]):
print ("Es ist Wochenende")
else:
print (day)
print (now)
if sh.Lampen.Flur_unten.Deckenlampe.schalten():
now = time.strftime("%H:%M:%S")
timewindow1_ok = ("06:00:00") <= now < ("22:00:00")
if timewindow1_ok:
sh.Lampen.Flur_oben.Deckenlampe.schalten('on')
time.sleep(5)
sh.Lampen.Flur_oben.Deckenlampe.schalten('off')
time.sleep(2)
Viele Grüße
Jannis