Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Beitrag von Black » 02.05.2019, 07:55

Basierend auf meinem Thread viewtopic.php?f=31&t=50492 über die Möglichkeit, Zeitmodule in Programmen extern über ein Script zu verändern, zeige ich hier nun mal eine der Möglichkeiten auf:

Astrozeitsteuerung:
Angabe von offset Sonneaufgang
Angabe frühestens öffnen

Angabe von offset Sonnenuntergang
Angabe spätestens schliessen

gesetzt wird eine Systemvariable Astrotag, welche in weiteren Programmen dann z.B. zur Rolladensteuerung benutzt werden kann.

natürlich kommt diese Lösung dann ohne das verbiegen der geographischen Koordinaten aus.

Zuerst braucht es eine Systemvariable, die vom dem Programm mit dem zeitmodul gesetzt wird. Ich empfehle folgendes:

Astro1.jpg
Dann ein kleines WebUi

Astro2.jpg
Das WebUI programm sollte selbsterklärend sein

dann brauchen wir noch ein Programm, triggern am besten irgendwann nach mitternacht, welches die neue zeit für das Astrozeitmudul berechnet und dieses läd
Astro3.jpg
. Die meisten werden ja ein Aktionsprogramm Mitternacht haben, welches dort einmal die täglichen berechnungen und Einstellungen vornimmt.

Code: Alles auswählen

!- Flexibles Astro Zeit Programm mit Zeitmodul
!- Kommt ohne Verbiegung der Ortskoordinaten aus
!- Copyright by Black in Mai 2019
!--------------------------------------------------
!- WICHTIG
!- Das Programm muss vom Aufbau her dem WEBUI Programm entsprechen, welches von mir in dem Thread im Homematik-forum beschrieben wurde
!- Das Zeitmodul muss in Rule 0, Condition 0 , Singlecondition 0 sein
!- Condition bzw Singlecondition sind anpassbar (nur wenns wirklich gebraucht und man weiss was man tut

integer SunriseOffset = -30; !- Offset Sonnenaufgang in Minuten !!! (Minus = vor Sonnenaufgang)
integer SunsetOffset  =  30; !- Offset Sonnenunetergang in Minuten !!!! (Minus = vor Sonnenunetergang)
string  LimitTag      = "05:30"; !- Kein öffnen vor dieser urzeit , keine Sekunden, zeit SOOO schreiben
string  LimitNacht    = "22:15"; !- Spätenstens Nacht um diese uhrzeit
object oPRG= dom.GetObject (ID_PROGRAMS).Get ("ZEIT_00_Astrozeit");  !- hier den Programmnamen mit dem zeitmodul eintragen, welches geändert werden soll

!- Ab hier nix mehr verändern
!----------------------------
if (!oPRG) {WriteLine ("Na toll, wenigstens der Programmname sollte sichtig sein: Abbruch"); quit; }
object oZM= oPRG.Rule().RuleCondition (0).CndSingleCondition (0);
if (oZM.LeftValType () == ivtCurrentDate) { !- Wir sind ein Zeitmodul
   oZM = dom.GetObject (oZM.RightVal1 () );
   integer s= (system.SunriseTime ("%M").ToInteger () + SunriseOffset + system.SunriseTime ("%H").ToInteger ()*60).Max (30) ;
   integer limit= (LimitTag.StrValueByIndex (":",1).ToInteger () + LimitTag.StrValueByIndex (":",0).ToInteger ()*60).Max (s);
   time tZeit= "2007-01-01 00:00:00".ToTime ()+ limit*60;
   oZM.Time (tZeit); !- Damit ist der Tagbeginn schon mal gesetzt
   s= (system.SunsetTime ("%M").ToInteger () + SunsetOffset + system.SunsetTime ("%H").ToInteger ()*60).Min (1430) ;
   limit= ((LimitNacht.StrValueByIndex (":",1).ToInteger () + LimitNacht.StrValueByIndex (":",0).ToInteger ()*60).Min (s))-limit;
   oZM.CalDuration ((limit*60).Max (10).ToInteger () );  !- Dauer berechnet und gesetzt  (Tagdauer mindestens 10 Minuten, falls jemand Müll konfiguriert hat
   dom.RTUpdate (2);
   WriteLine ("Zeitmodul gesetzt");
} else { WriteLine ("Kein zeitmodul da, wo es sein sollte: Abbruch "); quit; }     
Dieses Script sollte dafür nun sorgen, das zweimal am Tag dieses zeitmodul nun zu den berechneten und addierten / Limitierten Zeiten triggert.
Die SystemVariable wird dann für qweitere Aktionen wie Rollosteuerung verwendet.

gruss, Black
Zuletzt geändert von Black am 01.05.2020, 20:20, insgesamt 5-mal geändert.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Howto - AstroSteuerung flexibel mit Offset / spätestens, frühestens

Beitrag von Black » 02.05.2019, 07:56

Als Addon kann man natürlich Bedingungen schaffen, die zusätzlich noch diese zeiten verändern:

z.B. Ein Addon für Wochenende:

Code: Alles auswählen

!- Addon für Wochenende:
if (localtime.Weekday () & 96) {  !- Limit für Samstag Sonntag
   string  LimitTag      = "08:30"; !- Kein öffnen vor dieser urzeit , keine Sekunden, zeit SOOO schreiben
   string  LimitNacht    = "22:15"; !- Spätenstens Nacht um diese uhrzeit
}  
Dieses dann an deiser Stelle eingefügt limitiert die AstrozeitFunktion dann auf frühenstens 8:30 Tag und spätesnens 22.15 nacht

Code: Alles auswählen

!- Flexibles Atro Zeit Programm mit Zeitmodul
!- Kommt ohne verbiegung der Ortskoordinaten aus
!- Black in Mai 2019
!--------------------------------------------------
!- WICHTIG
!- Das programm muss vom Aufbau her dem WEBUI entsprechen, welches von mir in dem thread im Homematik-forum beschrieben wurde
!- Das zeitmodul muss in RUle 0, Condition 0 , Singlecondition 0 sein
!- Condition bzw Singlecondition sind anpassbar (nur wenns wirklich gebraucht und man weiss was man tut

integer SunriseOffset = -30; !- Offset Sonnenaufgang (Minus = vor Sonnenaufgang)
integer SunsetOffset  =  30; !- Offset Sonnenunetergang (Minus = vor Sonnenunetergang)
string  LimitTag      = "05:30"; !- Kein öffnen vor dieser urzeit , keine Sekunden, zeit SOOO schreiben
string  LimitNacht    = "22:15"; !- Spätenstens Nacht um diese uhrzeit
!- Addon für Wochenende:
if (localtime.Weekday () & 96) {  !- Limit für Samstag Sonntag
   string  LimitTag      = "05:30"; !- Kein öffnen vor dieser urzeit , keine Sekunden, zeit SOOO schreiben
   string  LimitNacht    = "22:15"; !- Spätenstens Nacht um diese uhrzeit
}
object oPRG= dom.GetObject (ID_PROGRAMS).Get ("ZEIT_00_Astrozeit");  !- hier den Programmnamen mit dem zeitmodul eintragen, welches geändert werden soll

!- Ab hier nix mehr verändern
!----------------------------       
Black

Jetzt arbeite ich aber ertsmal weiter an dem Tool, was derartige Lösungen erst ersichtlich und möglich macht
Zuletzt geändert von Black am 27.04.2020, 21:01, insgesamt 2-mal geändert.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Howto - AstroSteuerung flexibel mit Offset / spätestens, frühestens

Beitrag von Black » 02.05.2019, 13:15

einen Platzhalter brauche ich noch
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

demaxo
Beiträge: 39
Registriert: 21.07.2019, 18:50
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Beitrag von demaxo » 29.02.2020, 15:56

Hallo.

Ich taste mich langsam an meine Homematic-Steuerung ran. Dein hier vorgestelltes Script ist genau das, was ich für meine Rollosteuerung benötige. Folgende Fragen habe ich dazu:

In deinem ersten Beitrag schreibst du:

"Dann ein kleines WebUI...das WebUI sollte selbsterklärend sein."

Ist es für mich leider nicht: Was genau muss ich bei der Einstellung derWenn- Bedingung dann im Zeitmodul auswählen?

Weitere Frage: Gibt es eine Möglichkeit, die durch dein Script ermittelten Werte für Tagesbeginn und Tagesende in jeweils eine Systemvariable zu schreiben und so sichtbar zu machen? Ich würde diese Werte gern erstmal ansehen, bevor ich meine inzwischen endlich (nur mit Standard-Astrozeit, ohne Offset usw.) funktionierende Rollosteuerung auf diese Werte umstelle.

Danke und Grüße aus dem Norden
Jens

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Beitrag von Black » 29.02.2020, 21:45

Yap, in dem Programm Zeit_00_Astrozeit das zeitmodus wird von dem Script, welches das Programm um Mitternacht aufruft, werden die Zeiten Im zeitmodul dul das Script verändert.

das Zeitmodul muss so aussehen:
Zeit00.JPG

Nach dem Aufruf des Mitternachtsprogramm wird die Zeitspanne jeweils neu gesetzt.
an der Stelle kannst du das auch überprüfen, wenn du das Programm Zeit_00_Astrozeit aufmachst und im zeitprogramm nachschaust, wirst du dort jeden Tag eine andere (die für den Tag aktuell berechnete und eingetragene eigentlich Astrozeit finden)

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

demaxo
Beiträge: 39
Registriert: 21.07.2019, 18:50
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Beitrag von demaxo » 29.02.2020, 22:53

Hallo.

Alles klar, das funktioniert jetzt. Danke.

Jetzt nochmal meine zweite Frage: Kann man die berechneten Werte in zwei Variablen schreiben und so, z.B. auf der Startseite, anzeigen?

Mit den originalen Sonnenauf- und -untergangszeiten ginge das ja z.B. mit diesem Script:

dom.GetObject('Variable Sonnenaufgang').State(system.SunriseTime("%H:%M"));
dom.GetObject('Variable Sonnenuntergang').State(system.SunsetTime("%H:%M"));

Danke und Grüße aus dem Norden
Jens

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Beitrag von Black » 29.02.2020, 23:24

ist nicht schwierig:

An die zeiten kommst du so:
Zeit00_1.JPG
Anstatt der Writelines in dem Bild nimmst du dann ein dom.GetObject (ID_SYSTEM_VARIABLES).Get ("DeineTagZeit").State (tZeit.Format ("%H:%M"));
und
dom.GetObject (ID_SYSTEM_VARIABLES).Get ("DeineNachtZeit").State ((tZeit+(limit*60)).Format ("%H:%M"));

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

demaxo
Beiträge: 39
Registriert: 21.07.2019, 18:50
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Beitrag von demaxo » 01.03.2020, 00:34

Hallo,

besten Dank für die Hilfe, das funktioniert super. Ich denke, jetzt bekomme ich meine Jalousiensteuerung genau so hin wie ich sie brauche.

Schönen Abend noch.

Danke und Grüße aus dem Norden
Jens

Sammydk
Beiträge: 123
Registriert: 04.10.2019, 11:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 4 Mal
Danksagung erhalten: 8 Mal

Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Beitrag von Sammydk » 16.03.2020, 14:11

Hallo Black,
bin genau auf der Suche nach solch einer Funktion, leider verstehe ich aber nicht die Zeiten in dem das Zeit_00_Astrozeit umschaltet, hier werden bei mir immer nur die Zeiten für LimitTag oder LimitNacht gewählt ohne die Offsetzeiten.
Leider ist die Scriptsprache bei mir noch nicht vertraut, so das ich nur wenig angepasst habe, um die Werte zu sehen die ich benötige. Wenn ich hier nichts falsch gemacht habe benötige ich noch ein zweites Zeitprogram in dem die Zeiten so gesetzt werden incl. der Offsetzeiten.
Kannst Du mir hier helfen?
!- Flexibles Atro Zeit Programm mit Zeitmodul
!- Kommt ohne verbiegung der Ortskoordinaten aus
!- Black in Mai 2019
!- viewtopic.php?f=31&t=50498
!--------------------------------------------------
!- WICHTIG
!- Das programm muss vom Aufbau her dem WEBUI entsprechen, welches von mir in dem thread im Homematik-forum beschrieben wurde
!- Das zeitmodul muss in RUle 0, Condition 0 , Singlecondition 0 sein
!- Condition bzw Singlecondition sind anpassbar (nur wenns wirklich gebraucht und man weiss was man tut

integer SunriseOffset = 3600; !- Offset Sonnenaufgang in Sekunden (Minus = vor Sonnenaufgang)
integer SunsetOffset = 3600; !- Offset Sonnenunetergang in Sekunden (Minus = vor Sonnenunetergang)
string LimitTag = "07:15"; !- Kein öffnen vor dieser urzeit , keine Sekunden, zeit SOOO schreiben
string LimitNacht = "22:00"; !- Spätenstens Nacht um diese uhrzeit
!- Addon für Wochenende:
if (currenttime.Weekday () & 96) { !- Limit für Samstag Sonntag
string LimitTag = "08:00"; !- Kein öffnen vor dieser urzeit , keine Sekunden, zeit SOOO schreiben
string LimitNacht = "22:05"; !- Spätenstens Nacht um diese uhrzeit
}
object oPRG= dom.GetObject (ID_PROGRAMS).Get ("ZEIT_00_Astrozeit"); !- hier den Programmnamen mit dem zeitmodul eintragen, welches geändert werden soll

!- Ab hier nix mehr verändern
!----------------------------
if (!oPRG) {WriteLine ("Na toll, wenigstens der Programmname sollte sichtig sein: Abbruch"); quit; }
object oZM= oPRG.Rule().RuleCondition (0).CndSingleCondition (0);
if (oZM.LeftValType () == ivtCurrentDate) { !- Wir sind ein Zeitmodul
oZM = dom.GetObject (oZM.RightVal1 () );
integer s= (system.SunriseTime ("%M").ToInteger () + SunriseOffset + system.SunriseTime ("%H").ToInteger ()*60).Max (30) ;
integer limit= (LimitTag.StrValueByIndex (":",1).ToInteger () + LimitTag.StrValueByIndex (":",0).ToInteger ()*60).Max (s);
time tZeit= "2007-01-01 00:00:00".ToTime ()+ limit*60;
oZM.Time (tZeit); !- Damit ist der Tagbeginn schon mal gesetzt
s= (system.SunsetTime ("%M").ToInteger () + SunsetOffset + system.SunsetTime ("%H").ToInteger ()*60).Min (1430) ;
limit= ((LimitNacht.StrValueByIndex (":",1).ToInteger () + LimitNacht.StrValueByIndex (":",0).ToInteger ()*60).Min (s))-limit;
dom.GetObject ("AstroTagzeit").State (tZeit.Format ("%H:%M"));
dom.GetObject ("AstroNachtzeit").State ((tZeit+(limit*60)).Format ("%H:%M"));
dom.GetObject ("AstroRolloAUF").State ((tZeit+SunriseOffset).Format ("%H:%M"));
dom.GetObject ("AstroRolloZU").State ((tZeit+(limit*60)+SunsetOffset).Format ("%H:%M"));
WriteLine (tZeit.Format ("%H:%M"));
WriteLine ((tZeit+(limit*60)).Format ("%H:%M"));
WriteLine ((tZeit+SunriseOffset).Format ("%H:%M"));
WriteLine ((tZeit+(limit*60)+SunsetOffset).Format ("%H:%M"));
oZM.CalDuration ((limit*60).Max (10).ToInteger () ); !- Dauer berechnet und gesetzt (Tagdauer mindestens 10 Minuten, falls jemand Müll konfiguriert hat
dom.RTUpdate (2);
!- WriteLine ("Zeitmodul gesetzt");
} else { WriteLine ("Kein zeitmodul da, wo es sein sollte: Abbruch "); quit; }
Zuletzt geändert von Sammydk am 25.03.2020, 12:48, insgesamt 1-mal geändert.
2* Intel NUC7i3BNH Proxmox V8.1.3 Kernel 6.5.11-6 Raspberrymatic 3.75.6.20240316, HB-RF-ETH, 2* IOBroker, InfluxDB V1.83, InfluxDB V2.4.0, Grafana V9.2.2, ALEXA, ESP32-CAM (WASSERUHR) mit"AI-on-the-edge", Gasuhr ESPEASY, Stromzähler Tasmota, PV Wasserheizung mit ESPEasy)
--------------------------------------------
587 Kanäle in 83 Geräten:
1x HmIP-PMFS, 1x HmIP-SMO-A-2, 2x HM-RC-19, 2x HM-Sen-EP, 2x HM-RC-P1, 1x HM-Dis-WM55, 1x HM-Dis-EP-WM55, 1x HmIP-WRCD, 2x HmIP-RC8, 6x HM-Sec-SCo, 6x HMIP-SWDO, 2x HmIP-HAP, 1x HmIP-MOD-OC8, 1x HmIP-RCV-50, 8x HM-CC-RT-DN, 2x HM-TC-IT-WM-W-EU, 6x HmIP-eTRV-2, 1x HM-CC-VG-1, 3x HmIP-HEATING, 1x HmIP-STHD, 1x HmIP-WTH-2, 2x HmIP-RGBW, 2x HmIP-SLO, 2x HmIP-STHO, 4x HmIP-BROLL, 2x HmIP-FROLL, 1x RPI-RF-MOD, 10x HMIP-PS, 1x HMIP-PSM, 1x HmIP-PCBS, 3x HmIP-FSI16, 1x HM-LC-Sw1-FM, 1x HmIP-SWDM, 1x HmIP-FCI1, 1x HmIP-BSM
--------------------------------------------

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens

Beitrag von Black » 16.03.2020, 16:02

du verrennst dich da...

Basis ist die Astrozeit Sonnenaufgang und Sonnenuntergang

dann gibts die beiden Offsetzeiten:

Code: Alles auswählen

integer SunriseOffset = 60; !- Offset Sonnenaufgang in Minuten (Minus = vor Sonnenaufgang)
integer SunsetOffset = 60; !- Offset Sonnenunetergang in Minuten (Minus = vor Sonnenunetergang)
wenn du also eine halbe Stunde vor Sonnenaufgang Astro tag hättest und gerne eine Stunde nach Sonnenuntergang Astronacht lauten die Einstellungen

Code: Alles auswählen

integer SunriseOffset = -30; !- Offset Sonnenaufgang in Minuten (Minus = vor Sonnenaufgang)
integer SunsetOffset = 60; !- Offset Sonnenunetergang in Minuten (Minus = vor Sonnenunetergang)

das ganze läuft dann durch einen Limiter.

Code: Alles auswählen

string LimitTag = "07:15"; !- Kein öffnen vor dieser urzeit , keine Sekunden, zeit SOOO schreiben
string LimitNacht = "22:00"; !- Spätenstens Nacht um diese uhrzeit
LimitTag... wenn Sonnenaufgrag +/- Offsetkorrektur vor Limittag liegt, wird dieser wert ignoriert (frühestens tag). Heisst wenn die Sonne im Sommer um 4 aufgeht, du dann aber noch Nacht haben willst, würde er dier mit dieser Einstellung erst um 7.15 die Rollos öffnen... umgekeht im Winter, wenn da um 8.30 astrotag ist, bewirkt die 7.15 nichts, weil da noch kein Tag ist.

Limit Nacht ist das gleiche, hier wird spätestens um Limitnacht geschlossen...

heisst im Winter bei 16.30 Sonnenuntergang bewirkt limit nacht nix, weil es ist ja shcon nacht an dem limitpunikt. Im Sommer kann um 22.00 aber noch helle sein, hier greift dann der Limiter und schliesst spätestens um 22.00 Uhr.

Black
Zuletzt geändert von Black am 03.04.2020, 08:50, insgesamt 6-mal geändert.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“