Hallo Forum,
ich hatte ja mittlerweile auf SmarthomeNG umgestellt (und auch auf das aktuelle Python). Dabei ist mir aufgefallen, dass bei mir nun der bisherige Code (auskommentiert) mit einer Fehlermeldung quittiert wird
Ich habe die Fehlermeldung jetzt nicht mehr genau im Kopf, sie bezieht sich aber auf einen Parameter isoweek...
Mit der verkürzten Version eval = sh.sun.rise() läuft es wieder, aber mir fällt Folgendes auf:
Der Sonnenuntergang wird beispielsweise mit 20:45 errechnet und in der SmartVisu angezeigt, die Umschaltung von Tag auf Nacht erfolgt aber um 21:30. Für mich wäre es unabhängig von diesem Unterschied wichtig, die Angaben so zu setzen, dass beides mit einem Offset schon früher passiert, weil ich z.B. über das Tag/Nacht-Objekt im KNX verhindern will, dass tagsüber das Flurlicht dauernd angeht, es aber z.B. ab 19:00 schon sein sollte - also Tag/Nacht nicht erst um 21:30 wechselt sondern z.B. um 19:00.
Wie löse ich das am Besten mit den integrierten Funktionen (sh.sun.rise()...), ohne eine extra Logik bauen zu müssen?
Danke und viele Grüße
Andi
ich hatte ja mittlerweile auf SmarthomeNG umgestellt (und auch auf das aktuelle Python). Dabei ist mir aufgefallen, dass bei mir nun der bisherige Code (auskommentiert) mit einer Fehlermeldung quittiert wird
Code:
[Zentral] [[Uhrzeiten]] [[[Sonne]]] [[[[Berechnung]]]] type = bool visu = yes crontab = init | 30 * * * [[[[Aufgang]]]] name = Sonnenaufgang type = foo knx_dpt = 10 knx_send = 0/2/2 visu = yes # eval = sh.sun.rise().astimezone(sh.tzinfo()).strftime("%H:%M") eval = sh.sun.rise() eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung enforce_updates = true [[[[Untergang]]]] name = Sonnenuntergang type = foo knx_dpt = 10 knx_send = 0/2/3 visu = yes # eval = sh.env.sun.set().astimezone(sh.tzinfo()).strftime("%H:%M") eval = sh.sun.set() eval_trigger = Zentral.Uhrzeiten.Sonne.Berechnung enforce_updates = true [[[[Tag]]]] name = Tag type = bool knx_dpt = 1 knx_send = 0/4/0 eval = sh.env.location.day() eval_trigger = env.location.day [[[[Nacht]]]] name = Nacht type = bool knx_dpt = 1 knx_send = 0/4/1 eval = sh.env.location.night() eval_trigger = env.location.night
Mit der verkürzten Version eval = sh.sun.rise() läuft es wieder, aber mir fällt Folgendes auf:
Der Sonnenuntergang wird beispielsweise mit 20:45 errechnet und in der SmartVisu angezeigt, die Umschaltung von Tag auf Nacht erfolgt aber um 21:30. Für mich wäre es unabhängig von diesem Unterschied wichtig, die Angaben so zu setzen, dass beides mit einem Offset schon früher passiert, weil ich z.B. über das Tag/Nacht-Objekt im KNX verhindern will, dass tagsüber das Flurlicht dauernd angeht, es aber z.B. ab 19:00 schon sein sollte - also Tag/Nacht nicht erst um 21:30 wechselt sondern z.B. um 19:00.
Wie löse ich das am Besten mit den integrierten Funktionen (sh.sun.rise()...), ohne eine extra Logik bauen zu müssen?
Danke und viele Grüße
Andi
Kommentar