Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
wieso geht das nicht.
ich möchte erreichen dass wochentags diese Logik ausgeführt wird bei Sonnenaufgang aber nicht vor 8 Uhr.
ohne die Angabe "< sunrise" ist alles O.K.
wenn das geht, hast Du glück! In der Anleitung ist beschrieben, dass
Code:
crontab = 8:00 < sunrise
funktioniert, also eine Uhrzeit kleiner als eine andere! Bei einer einfachen 8 ist nicht klar, ob es sich um Stunden oder Minuten handelt. Insofern ist das was Du oben geschrieben hast nicht definiert, genau so wie Deine Ursprungsfrage.
Dein Problem kannst Du lösen, indem Du eine Logik per crontab triggerst und in der Logik mit einem if auf sunrise prüfst.
hast recht, ich hab nicht genau hingeschaut und dachte, es wären die ersten 4 Minuten nach 8, die er triggern wollte und nicht die Werktage um 8.
Auf Tag prüfen ist viel besser und einfacher.
sorry mein Beispiel war aus der Doku abgeleitet muss natürlich korrekt wie in #5 spezifiziert werden.
aber Dein Vorschlag mit dem IF ist gut. dann muss ich allerdings entweder einen time.sleep() einbauen oder die Logik mehrfach selbst aufrufen, sonst bleiben um 8 die Rollos unten und nichts weiter; sie sollen natürlich dann beim Sonnenaufgang hochgehen, wenn der nach 8 ist, wie jetzt im Winter.
Gruß Wil
PS: ich kann ja dann meine Logik hier posten, wenn sie funktioniert.
Init SmartHome.py 1.0-45-g02cf972+
2016-01-16 20:13:01 INFO Main Start SmartHome.py 1.0-45-g02cf972+
2016-01-16 20:13:01 INFO Main Init Scheduler
2016-01-16 20:13:01 INFO Main Init Plugins
2016-01-16 20:13:05 INFO Main Init Items
2016-01-16 20:13:07 INFO Main Start Plugins
2016-01-16 20:13:07 INFO Main Start Logics
2016-01-16 20:13:08 ERROR Main Error parsing crontab: 9:00
2016-01-16 20:13:08 ERROR Main Error parsing crontab: 8:00 < sunrise
in der Logik habe ich jetzt Folgendes implementiert:
Code:
# put the blinds up
logger.info("Logik: Morgens")
import time
now = time.localtime()
if (now.tm_wday > 4 and now.tm_hour == 9) or (now.tm_hour < 9 and now.tm_wday < 5):
logger.info("Rollladen hoch")
....
Habe das mittlerweile um Feiertage erweitert. In den beiden Logiken ist jetzt folgende Abfragen:
Code:
logger.info("Logik: Morgens")
import time
now = time.localtime()
if (now.tm_hour == 9 and ( shtime.is_holiday(shtime.today()) or now.tm_wday > 4) ) or (now.tm_hour < 9 and now.tm_wday < 5 and not(shtime.is_holiday(shtime.today())) ):
Zuletzt geändert von bmx; 22.05.2021, 08:28.
Grund: html codes durch < und > ersetzt
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar