Anzeige von Sonnenaufgang/Sonnenuntergang
Moderator: Co-Administratoren
Anzeige von Sonnenaufgang/Sonnenuntergang
Es ist vielleicht ganz informativ sich die Zeiten für Sonnenaufgang und Sonnenuntergang anzeigen zu lassen. Besonders dann, wenn man in Makros mit diesen internen Variablen arbeitet und kontrollieren möchte, ob zu den entsprechenden Zeiten die Aktion ausgeführt wird.
Man erzeugt zwei Objekte vom Typ Zeichen und klickt 'Bildschirmeingabe möglich' weg. Da die Bezeichnungen der Objekte wie oben im Titel sein sollen, muss man für die Objekte andere Namen wählen. Ich habe sie SoAg und SoUg genannt. In den jeweiligen Makros steht dann nur die Zuordnung:
SoAg:=Sonnenaufgang bzw. SoUg:=Sonnenuntergang
Ausführungsintervall: bei Tageswechsel
Damit bei Ausführungsunterbrechungen die Information sofort wieder zur Verfügung steht, werden die beiden Makros auch im *INIT-Makro ausgeführt mit
AUFRUFEN(SoAg)
AUFRUFEN(SoUg)
Visualisieren kann man die Info z.B. in der Garten-Ansicht.
Man erzeugt zwei Objekte vom Typ Zeichen und klickt 'Bildschirmeingabe möglich' weg. Da die Bezeichnungen der Objekte wie oben im Titel sein sollen, muss man für die Objekte andere Namen wählen. Ich habe sie SoAg und SoUg genannt. In den jeweiligen Makros steht dann nur die Zuordnung:
SoAg:=Sonnenaufgang bzw. SoUg:=Sonnenuntergang
Ausführungsintervall: bei Tageswechsel
Damit bei Ausführungsunterbrechungen die Information sofort wieder zur Verfügung steht, werden die beiden Makros auch im *INIT-Makro ausgeführt mit
AUFRUFEN(SoAg)
AUFRUFEN(SoUg)
Visualisieren kann man die Info z.B. in der Garten-Ansicht.
Hallo kafibo,
das ist wohl korrekt. Zunächst sieht man auch nichts. Die Zeiten ändern sich mit dem Beginn eines neuen Tages. Deshalb reicht es aus, wenn das Makro einmal bei Tageswechsel ausgeführt wird, also um 0 Uhr. Wenn du bis nach Mitternacht gewartet hast, liegt der Fehler woanders. Der Name des Objektes ist SoAg und die Bezeichnung Sonnenaufgang, damit dieser Name in der Rahmenüberschrift angezeigt wird. Das andere Objekt entsprechend. Die Objekte dürfen nicht Sonnenaufgang bzw. -untergang heissen, weil die internen Variablen auch diesen Namen haben. Damit man nun nicht bis Mitternacht warten muss um die Zeiten zu sehen, und auch bei einem Neustart der Ausführung, die Zeiten gleich wieder angezeigt werden, rufe ich die Objektmakros einmalig beim Starten der Ausführung im *INIT-Makro auf. Siehe mein Beispiel. Damit die korrekten Zeiten angezeigt werden, müssen natürlich die ersten beiden Ziffern der Postleitzahl des Standortes angegeben werden (Einstellungen-Lasche Allgemein). Das habe ich noch vergessen.
Grüße von NatNac
das ist wohl korrekt. Zunächst sieht man auch nichts. Die Zeiten ändern sich mit dem Beginn eines neuen Tages. Deshalb reicht es aus, wenn das Makro einmal bei Tageswechsel ausgeführt wird, also um 0 Uhr. Wenn du bis nach Mitternacht gewartet hast, liegt der Fehler woanders. Der Name des Objektes ist SoAg und die Bezeichnung Sonnenaufgang, damit dieser Name in der Rahmenüberschrift angezeigt wird. Das andere Objekt entsprechend. Die Objekte dürfen nicht Sonnenaufgang bzw. -untergang heissen, weil die internen Variablen auch diesen Namen haben. Damit man nun nicht bis Mitternacht warten muss um die Zeiten zu sehen, und auch bei einem Neustart der Ausführung, die Zeiten gleich wieder angezeigt werden, rufe ich die Objektmakros einmalig beim Starten der Ausführung im *INIT-Makro auf. Siehe mein Beispiel. Damit die korrekten Zeiten angezeigt werden, müssen natürlich die ersten beiden Ziffern der Postleitzahl des Standortes angegeben werden (Einstellungen-Lasche Allgemein). Das habe ich noch vergessen.
Grüße von NatNac
-
- Beiträge: 103
- Registriert: 10.12.2006, 13:39
- Wohnort: bei Frankfurt
Nein, gibt's nicht, könnte man aber in PHP realisieren. Die Formel dafür findest Du z.B. unter http://avila.star-shine.ch/astro/berechnungen.html
Gruß
Stefan Hendricks (ehemaliger HomeMatic-Forum Betreiber)
Stefan Hendricks (ehemaliger HomeMatic-Forum Betreiber)
DL:=SoUg - SoAg
alle drei Variablen als UHR.
DL (z.B. DayLength) wird in Std:Min:sec ausgegeben.
Was heißt visualisieren? Ich denke Du meinst die Ausgabe der Variablen in einer Anzeige? Dann Anzeige:=DL
Grafisch geht nix in Studio, außer vielleicht einem unskalierten Balken (der sagt nur nicht viel aus, da kannst Du gleich aus dem Fenster gucken obs hell ist oder nicht )
Viel Erfolg!
alle drei Variablen als UHR.
DL (z.B. DayLength) wird in Std:Min:sec ausgegeben.
Was heißt visualisieren? Ich denke Du meinst die Ausgabe der Variablen in einer Anzeige? Dann Anzeige:=DL
Grafisch geht nix in Studio, außer vielleicht einem unskalierten Balken (der sagt nur nicht viel aus, da kannst Du gleich aus dem Fenster gucken obs hell ist oder nicht )
Viel Erfolg!
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen
Hi Sanys,
vielen Dank für die schnelle Antwort.
Ja ich meinte die Stunden und Minuten der Tageslänge als Uhr angezeigt.
Aber so einfach scheint es doch nicht zu gehen. Wenn ich mir DL ausgeben lasse steht da nur die Zeit des SoUg. Ich hab also ein Objekt mit Zeichen angelegt, habe als Makro DL:=SoUg - SoAg eingetragen, dann wird die Zeit des SoUg ausgegeben. Wenn ich die Zeile Anzeige:=DL hinzufüge, dann kommt "unbekannter Bezeichner -> Anzeige".
Da mache ich bestimmt etwas falsch, oder?
vielen Dank für die schnelle Antwort.
Ja ich meinte die Stunden und Minuten der Tageslänge als Uhr angezeigt.
Aber so einfach scheint es doch nicht zu gehen. Wenn ich mir DL ausgeben lasse steht da nur die Zeit des SoUg. Ich hab also ein Objekt mit Zeichen angelegt, habe als Makro DL:=SoUg - SoAg eingetragen, dann wird die Zeit des SoUg ausgegeben. Wenn ich die Zeile Anzeige:=DL hinzufüge, dann kommt "unbekannter Bezeichner -> Anzeige".
Da mache ich bestimmt etwas falsch, oder?
Gruß
Ernie
Ernie
... wie schon beschrieben: SoAg, SoUg und DL MÜSSEN als Variable vom Typ UHR definiert sein. Habe die Definition von DL gerade mal gelöscht, dann bekomme ich die selbe Fehlermeldung. Also, Variable definieren und Tageslänge ablesen.
Viel Erfolg!
Sanys
Viel Erfolg!
Sanys
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen