Sonnenaufgang -untergang für beliebige Tage berechnen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Hoytron
Beiträge: 14
Registriert: 24.03.2016, 14:52
Hat sich bedankt: 1 Mal

Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von Hoytron » 20.12.2017, 20:34

Hallo liebe Community,

zum Thema Sonnenaufgang und Untergang gibt es ja schon viele Threads und Diskusionen. Aber hierzu habe ich keine Lösung gefunden:
Gibt es eine Möglichekeit in einem Homematic Skript die Sonnenaufgangszeit und Sonnenuntergangszeit für einen beliebigen Tag im Jahr zu berechnen?

Mir ist lediglich eingefallen, das Datum per Skript (keine Ahnung wie das dann geht?!) zu verstellen, dann per system.sunrisetime() die Zeiten auslesen und danach das Datum wieder zurück zu stellen.
Ist aber nicht so schön, da das unter Umständen Seiteneffekte verursachen kann.

EDIT:
Ich benötige letztendlich die Sunrise und Sunset Zeiten der Tage 21.07 und 21.12
Sind an diesen Tagen (für einen bestimmten Ort) die Zeiten jedes Jahr identisch, sodass ich diese im Skipt als Konstante fest definieren kann?

Vielen Dank für eure Hilfe!

Viele Grüße
Hoytron

manfredh
Beiträge: 4157
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 79 Mal
Danksagung erhalten: 301 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von manfredh » 20.12.2017, 20:54

Ich habe keine Lösung für deine Frage.

Dennoch interessiert mich, wozu du diese Daten brauchst.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

dondaik
Beiträge: 12957
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1639 Mal
Danksagung erhalten: 224 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von dondaik » 20.12.2017, 20:58

die lösung könnte sein die entsprechende www-seite für diese tage auszulesen oder das prg selber zu schreiben... die daten hängen auch etwas von der genauigkeit der routinen ab :-) www und ccu werden da auch Differenzen zeigen ..
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

alchy
Beiträge: 10768
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 675 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von alchy » 20.12.2017, 21:22

Hoytron hat geschrieben:Gibt es eine Möglichekeit in einem Homematic Skript die Sonnenaufgangszeit und Sonnenuntergangszeit für einen beliebigen Tag im Jahr zu berechnen?
Um deine Frage mal zu beantworten: ja
BadenPower hatte mal eine Lösung dazu gepostet >> H I E R <<
Du kannst das aber auch z.B. >hiermit< lösen.

Darf man fragen, was du vor hast?

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

dondaik
Beiträge: 12957
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1639 Mal
Danksagung erhalten: 224 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von dondaik » 20.12.2017, 21:31

am 21.07 verbleiben 163 tage bis jahresende und 21.12 ist winteranfang ;-) :-) .....
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

Hoytron
Beiträge: 14
Registriert: 24.03.2016, 14:52
Hat sich bedankt: 1 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von Hoytron » 20.12.2017, 21:43

@ manfredh

ich habe ein Skript geschrieben, dass grob gesagt folgendes macht:

Der Nutzer kann für den längsten und kürzesten Tag im Jahr eine jeweils eine Uhrzeit angeben, wann an diesen Tagen die Rolladen im ganzen Haus sich öffnen und abends wieder schließen sollen.
Anhand dieser Daten berechne ich dann den Abstand zur Sonnenaufgangs- und Sonnenuntergangszeit berechnet. Anschließend wird über den Jahresverlauf hinweg zwischen den beiden Werten (Abstand zum Sonnenaufgang am kürzesten Tag und Abstand zum Sonnenaufgang am hellsten Tag) der Abstand zu den Sonnenaufgangszeiten der einzelnen Tage linear interpoliert. Gleiches parallel für den Sonnenuntergang.
Damit werden dann die Rolladenzeiten für den aktuellen Tag berechnet.

Hintergrund:
Ich habe festgestellt, dass im Sommer die Rolladen erst nach Sonnenaufgang im Winter aber schon vor Sonnenaufgang aufgehen sollen... Und eine feste Verschiebung auch nicht so gut passt.
Das ganze kann man dann am Touchscreen über Mediola individuell konfigurieren und anpassen.

@dondaik
Danke für deine Einschätzung. Auf selbst schreiben hatte ich eigentlich keine Lust.
Abruf aus dem www gefällt mir nicht so gut, da ich bis jetzt alles so konfiguriert habe, dass das ganze SmartHome (abgesehen von der Sprachsteuerung) offline funktioniert.

Einzige Möglichkeit die mir noch einfällt, ist eine kleine Webseite lokal zu hosten, welche z.B. mit der sun.js Libary die Werte berechnet und dann per XML Api die Werte in die CCU schreibt...
Da ich sowieso schon eine Website geschrieben habe, die in einem Diagramm die Zeiten im Jahresverlauf darstellt, und diese in Mediola dargestellt wird, würde bei jedem anzeigen dieser Seite die Werte an die CCU übermittelt. (Ausgehend davon, dass mindestens einmal im Jahr die passene Seite in Mediola aufgrufen wird)
Ist aber auch keine so schöne Lösung, aber für mich im Moment schneller zu realisieren, als das selbst zu schreiben. Wobei das selbstschreiben dann wohl die sinnvollste Lösung ist.

Hoytron
Beiträge: 14
Registriert: 24.03.2016, 14:52
Hat sich bedankt: 1 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von Hoytron » 20.12.2017, 21:48

Danke alchy für deine schnelle Antwort!

Dann sind wol meine gerade angedachten Lösungen hinfällig.. :D

Mit dem skript ist mir mega geholfen!
Da ich mich mit den Berechnungen von Sonnenständen ect. noch überhaupt nicht auskenne, ist das leichter als mich da einzuarbeiten.

Einzige Frage die mir noch bleibt: Ändern sich die Auf- und Untergangszeiten an den gleichen Tagen von Jahr zu Jahr überhaupt?

alchy
Beiträge: 10768
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 675 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von alchy » 20.12.2017, 22:12

Sonnenauf- und untergangszeiten sollten für einen Ort nicht von Jahr zu Jahr gleich sein. :wink:
ISt der Unterschied interessant? Das musst du wissen.
Die von mir verlinkte Website bietet den Export eine csv Datei an, wo sehr viele Zeiten angeboten werden.
Diese kann dann einmal täglich ausgelesen alle möglichen Triggerzeiten (bürgerlichen, nautische, usw.) für die CCU bereitstellen.
vielleicht findest du Zeiten, die besser passen als der Sonnenaufgang / untergang.

Du stellst also fest, das die Zeiten der Sonne nicht stimmen für deine Rollosteuerungen. Woran? Ist nicht hell schon hell?
Warum also mit Zeiten arbeiten statt mit dem Wert der dich interessiert - der Helligkeit?


Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Hoytron
Beiträge: 14
Registriert: 24.03.2016, 14:52
Hat sich bedankt: 1 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von Hoytron » 20.12.2017, 22:36

Habe mir gerade die Unterschiede mit hilfe der Website über die nächsten 15 jahre angesehen.
-> Resultat der Unterschied von meist weniger als 1 Minuten spielt somit keine Rolle. Da hast du recht. Also eine Konstante wohl die schnellste Lösung. Hätte ich mir eigentlich auch vorher schon ansehen können :oops:

Die anderen Dämmerungswerte, haben leider die gleichen Eigenschaften wie ein Sonnenauf-/untergangswert.
Und da ich selbst das Objekt nicht bewohne, will ich über die Mediola App einige Konfigurationsparameter und verschiedene Varianten ermöglichen.
Die Helligkeit habe ich auch schon in betracht gezogen, aber im Moment (noch) keinen Helligkeitssensor auf dem Dach.

Xel66
Beiträge: 14297
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 601 Mal
Danksagung erhalten: 1529 Mal

Re: Sonnenaufgang -untergang für beliebige Tage berechnen

Beitrag von Xel66 » 21.12.2017, 09:44

Hoytron hat geschrieben: Hintergrund:
Ich habe festgestellt, dass im Sommer die Rolladen erst nach Sonnenaufgang im Winter aber schon vor Sonnenaufgang aufgehen sollen...
Das was sie sollen, legst ja Du fest. Wenn Du festlegst, dass sie z.B. 20 Minuten nach Sonnenaufgang hochlaufen sollen, dann tun sie das entsprechend der Berechnung immer gleich (20 Minuten nach dem täglich berechneten Sonnenaufgang). Dein Problem ist vermutlich, dass sich die Dämmerung im Sommerhalbjahr auf Grund des steileren Sonnenwinkels anders verhält als im Winter (aka bürgerliche Dämmerung). Somit ist nicht die Aufgangszeit das Grundproblem, sondern die Helligkeit.

Dann wäre es vielleicht zielführender ein Zeitfenster um den Sonnenaufgang zu definieren (z.B. mit den Maximalwerten des einmalig berechneten Unterschiedes, den Du täglich berechnen willst) und die Rollladen dann über einen Helligkeitssensor zu steuern. An trübereren Tagen müsstest Du dann zum Ende des Zeitraums zwangsauslösen. Ich habe mal vor längerer Zeit, eine Tabelle mit berechneten Sonnenstands- und Dämmerungswerten aus dem Internet für die nächst größere Nachbarstadt befüllt und für relevante Tage die Daten markiert (habe ich vor längerer Zeit schon mal hier im Forum bei einem ähnlichen Thema eingestellt). Die maximale Schwankungsbreite der bürgerlichen Dämmerung (wird an der Differenz zum Sonnenwinkel festgemacht) im Abstand zur Sonnenaufgangszeit beträgt ganze 12 Minuten. Ob diese 12 Minuten gerade im Sommer so relevant sind, bleibt dahingestellt.

Ich würde nicht wollen, dass meine Rollladen gerade im Sommer zu diesen Zeiten in der Nähe des Sonnenaufgangs ihre Stellung verändern (kurz nach 5:00 Uhr). Obwohl ich leise Motoren verwendet habe und die ganze Chose auf Gummi gelagert ist, nimmt man es trotzdem akustisch wahr. Im Wonterhalbjahr wäre eine solche Steuerung mir zu spät. Meine Aufstehzeiten sind in den seltensten Fällen mit dem Sonnenaufgang kongruent. Insofern ist die Steuerung sowieso ereignis- bzw. zeitabhängig. Also kommt eine sonnenstandsabhänigige Steuerung sowieso maximal in der Übergangszeit zum Tragen. Aber jeder, wie er will.

Ich habe auch einen Anwendungsfall für den Sonnenstand. Bei mir fährt die Markise eine halbe Stunde vor Sonnenuntergang ein (dann verschwindet die Sonne schon hinter dem Nachbarhaus). Ich habe es bei mir so gelöst, dass ich täglich die Sonnenuntergangszeit abzüglich dieser halben Stunde in einen CUxD-Timer schreibe und meine Aktionen auf diesen Timer triggere. Mit einer ähnlichen Lösung könntest Du Dein Freigabefenster für die von mir vorgeschlagene helligkeitsabhängige Steuerung definieren. Diese Lösung ist vielleicht einfacher umzusetzen und zu warten.

Gruß Xel66
Dateianhänge
Sonnenverlauf HN.jpg
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“