Die beiden Items werden derzeit ja als env-Items automatisch bereitgestellt. Leider ist es so, dass wahrscheinlich jeder gerne was Anderes darunter versteht, wann "Tag" und wann "Nacht" sein soll. Im smarthome.py ist der Beginn des Tages mit sh.sun.rise(-6) hinterlegt - also bis zum Ende der bürgerlichen Dämmerung (in /usr/local/smarthome/lib/env/location.py).
Ich habe mir nun damit beholfen, zwei neue Items zu ergänzen - brightness (Helligkeit) und darkness (Dunkelheit) und dazu die beiden Dateien ergänzt:
location.conf
Mit sh.sun.rise(6) erhalte ich ungefähr bei der Uhrzeit das Hell- oder Dunkelitem, wenn es bei mir in der Wohnung tatsächlich so wird.
Jetzt ist das aber keine saubere Lösung, wenn ich im Source rumbastele. Viel besser wäre es m.E., wenn man den Parameter (6) als Attribut/Wert übergeben könnte und diesen in der smarthome.conf ähnlich wie lat, lon hinterlegen könnte (am Besten wahlweise als Grad- oder Minutenangabe). Dann kann ich darüber ganz einfach einstellen, wann bei mir Tag oder Nacht o.ä. sein soll.
Ich fange jetzt auch mal an Python zu lernen, aber das müsste doch wohl eher jemand des Kernteams in den Source integrieren, oder? Oder wäre es geschickter, die ganzen astronomischen Berechnungen aus dem Source raus und in ein Plugin rein zu nehmen?
Viele Grüße
Andi
Ich habe mir nun damit beholfen, zwei neue Items zu ergänzen - brightness (Helligkeit) und darkness (Dunkelheit) und dazu die beiden Dateien ergänzt:
Code:
# lib/env/location.py ... # setting day and night day = sh.sun.rise(-6).day != sh.sun.set(-6).day sh.env.location.day(day) sh.env.location.night(not day) [COLOR=#008000] # setting brightness and darkness brightness = sh.sun.rise(6).day != sh.sun.set(6).day sh.env.location.brightness(brightness) sh.env.location.darkness(not brightness)[/COLOR]
Code:
[env] [[location]] [[[day]]] type = bool [[[night]]] type = bool [COLOR=#008000] [[[brightness]]] type = bool [[[darkness]]] type = bool[/COLOR]
Jetzt ist das aber keine saubere Lösung, wenn ich im Source rumbastele. Viel besser wäre es m.E., wenn man den Parameter (6) als Attribut/Wert übergeben könnte und diesen in der smarthome.conf ähnlich wie lat, lon hinterlegen könnte (am Besten wahlweise als Grad- oder Minutenangabe). Dann kann ich darüber ganz einfach einstellen, wann bei mir Tag oder Nacht o.ä. sein soll.
Ich fange jetzt auch mal an Python zu lernen, aber das müsste doch wohl eher jemand des Kernteams in den Source integrieren, oder? Oder wäre es geschickter, die ganzen astronomischen Berechnungen aus dem Source raus und in ein Plugin rein zu nehmen?
Viele Grüße
Andi
Kommentar