-
Notifications
You must be signed in to change notification settings - Fork 91
Nutzung astronomischer Daten
Grundlegende astronomische Daten werden bereits von den Systemitems bereitgestellt. Für die Nutzung in der Visualisierung und die Nutzung in KNX müssen die Daten ggf. unterschiedlich formatiert werden. In der Visualisierung genügt es, auf das Systemitem direkt zuzugreifen. KNX benötigt je nach DPT ein entsprechend vorformatiertes Item.
Sonnenaufgang {{ basic.formula('Sonnenaufgang', 'env.location.sunrise', 'time') }}
Erläuterung:
env.location.sunrise ist dabei das Systemitem, dass von SmarthomeNG fertig bereitgestellt wird. Mit time wird dann nur noch die Ausgabe formatiert - in diesem Fall wird also die bereitgestellte Angabe 2016-08-11 06:02:56.375006+02:00 umformatiert in 06:02.
[Zentral]
[[Astronomie]]
[[[Sonne]]]
[[[[Berechnung]]]]
type = bool
visu = yes
crontab = init = 1 | 30 2 * * = 1
enforce_updates = true
[[[[Aufgang]]]]
type = foo
visu = yes
eval = sh.sun.rise().astimezone(sh.tzinfo())
eval_trigger = Zentral.Astronomie.Sonne.Berechnung
knx_dpt = 10
knx_send = 0/2/10
enforce_updates = true
Erläuterung:
In diesem Beispiel verwenden wir zwei Items. Das eigentliche Item für den Sonnenaufgang ist das Zentral.Astronomie.Sonne.Aufgang - Item. Damit der Sonnenaufgang bei diesem Item überhaupt berechnet wird, muss die Berechnung erst mal ausgelöst (getriggert) werden. Diese Triggerung wird über eval_trigger = Zentral.Astronomie.Sonne.Berechnung ausgelöst. Dabei wird durch das Item Zentral.Astronomie.Sonne.Berechnung, welches im oberen Codeausschnitt zu sehen ist, eine Neuberechnung des items Aufgang ausgelöst.
Beim Item für den Aufgang könnten wir nun natürlich auch das Systemitem env.location.sunrise verwenden, dieses Item stellt den Sonnenaufgang im KNX aber nicht immer in der gewünschten Formatierung dar. Daher wird in diesem Beispiel stattdessen die eigentliche (SmarthomeNG-) Funktion sh.sun.rise() aufgerufen und in diesem Fall noch um die Zeitzone korrigiert astimezone(sh.tzinfo()). Somit erhält man die gewünschte Zeitangabe datentypkonform für den DPT 10.001 in der Form Thursday, 06:02:56.
Die Triggerung dieser Berechnung wird im Zentral.Astronomie.Sonne.Berechnung - Item durch das Attribut crontab gesteuert. In diesem Beispiel erfolgt die Berechnung ein Mal täglich um 02.30, sowie beim Systemstart.
Fehlerquellen:
Die aktuellen Release Notes und die Release Notes der zurückliegenden Versionen sind in der Dokumentation im Abschnitt Release Notes zu finden.