Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
Moderator: Co-Administratoren
-
- Beiträge: 123
- Registriert: 04.10.2019, 11:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 9 Mal
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
Danke für die Erklärung,
das habe ich so erst mal nicht verstanden, jetzt wird es klar.
Dann auf ein Neues.
Gruß Sammydk
das habe ich so erst mal nicht verstanden, jetzt wird es klar.
Dann auf ein Neues.
Gruß Sammydk
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
--------------------------------------------
--------------------------------------------
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
--------------------------------------------
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
Bei mir wird der Sonnenaufgang (Astrotag) um genau zwölf Stunden versetzt gesetzt - also z.B. auf 18:51 wenn Sonnenaufgang in der Web-UI mit aktuell
6:51 Uhr angezeigt wird.
Gruß Holger
6:51 Uhr angezeigt wird.
Gruß Holger
- Black
- Beiträge: 5552
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 435 Mal
- Danksagung erhalten: 1097 Mal
- Kontaktdaten:
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
Setz mal dein Script mit deinen einstellungen hier rein bitte und einen screenshot von den einstellungen von deinem zeitmodul
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
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
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
Das Skript habe ich 1:1 wie das von sammydk genommen und die Systemvariable als Zeichenkette erstellt.
Und das Zeitmodul in ZEIT_00_Astrozeit sieht so aus:
Gruß
Holger
Code: Alles auswählen
!- Flexibles Astro Zeit Programm mit Zeitmodul
!- Kommt ohne verbiegung der Ortskoordinaten aus
!- Black in Mai 2019
!- viewtopic.php?f=31&t=50498
! - https://homematic-forum.de/forum/viewtopic.php?f=31&t=50498&hilit=zeitmodul+black
!--------------------------------------------------
!- 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: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 richtig 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= "2020-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; }
Gruß
Holger
Zuletzt geändert von alchy am 02.04.2020, 21:39, insgesamt 4-mal geändert.
Grund: Code in Codetags posten
Grund: Code in Codetags posten
- Black
- Beiträge: 5552
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 435 Mal
- Danksagung erhalten: 1097 Mal
- Kontaktdaten:
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
den offset in minuten angeben, nicht in sekunden... dann müsste es passen
integer SunriseOffset = 3600; !- Offset Sonnenaufgang in Sekunden (Minus = vor Sonnenaufgang)
integer SunsetOffset = 3600; !- Offset Sonnenunetergang in Sekunden (Minus = vor Sonnenunetergang)
wenn du eine Stunden Offset haben willst ist die Zahl 60
da müsste sammydk auch mal gucken, weil die 3600 sind mal definitiv falsch... bei Beiträgen von mir oder auch vielen anderen ist der erste Threat immer das aktuelle Script oder Programm.
Edit: ich hab im ersten treat im Kommentar angepasst: Offset ist in Minuten anzugeben.
Black
integer SunriseOffset = 3600; !- Offset Sonnenaufgang in Sekunden (Minus = vor Sonnenaufgang)
integer SunsetOffset = 3600; !- Offset Sonnenunetergang in Sekunden (Minus = vor Sonnenunetergang)
wenn du eine Stunden Offset haben willst ist die Zahl 60
da müsste sammydk auch mal gucken, weil die 3600 sind mal definitiv falsch... bei Beiträgen von mir oder auch vielen anderen ist der erste Threat immer das aktuelle Script oder Programm.
Edit: ich hab im ersten treat im Kommentar angepasst: Offset ist in Minuten anzugeben.
Black
Zuletzt geändert von Black am 01.04.2020, 20:06, insgesamt 4-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
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
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
Perfekt - das war es !
Herzlichen Dank für die schnelle Aufklärung
Holger
Herzlichen Dank für die schnelle Aufklärung
Holger
- Black
- Beiträge: 5552
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 435 Mal
- Danksagung erhalten: 1097 Mal
- Kontaktdaten:
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
Script geändert aufgrund einer Ungereimtheit von currenttime in localtime !!!
bitte korrigieren bei Einsetzen des Scriptes.
Thnx, Black
bitte korrigieren bei Einsetzen des Scriptes.
Thnx, 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
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
-
- Beiträge: 30
- Registriert: 11.04.2015, 20:52
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
Hallo zusammen,
ich habe angefangen Ordnung in meine Scripte zu bringen un möchte meine Rolladensteuerung vereinfachen. Ich würde gerne das Script einsetzen, aber noch ein Limit für Abends auf nicht vor 18:00 Uhr einbauen. Kann mir jemand sagen wie ich das in dem Script umsetzen müsste ?
Vielen Dank im Voraus.
Jörg
ich habe angefangen Ordnung in meine Scripte zu bringen un möchte meine Rolladensteuerung vereinfachen. Ich würde gerne das Script einsetzen, aber noch ein Limit für Abends auf nicht vor 18:00 Uhr einbauen. Kann mir jemand sagen wie ich das in dem Script umsetzen müsste ?
Vielen Dank im Voraus.
Jörg
_____________________________________________
RaspBerryMatic auf RaspBerry PI3B+
Homematic 25 Geräten
IoBroker
RaspBerryMatic auf RaspBerry PI3B+
Homematic 25 Geräten
IoBroker
- Black
- Beiträge: 5552
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 435 Mal
- Danksagung erhalten: 1097 Mal
- Kontaktdaten:
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
ja, das kann man erweitern in etwa so:
Black
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
string LimitNachtEarliest= "22:18"; !- Wert ist Optional Kein Schliessen vor dieser uhrzeit , keine Sekunden, zeit SOOO schreiben wenn nicht verwendet Leerstring schreiben
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 richtig 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) ;
if (LimitNachtEarliest) {
s= (LimitNachtEarliest.StrValueByIndex (":",1).ToInteger () + LimitNachtEarliest.StrValueByIndex (":",0).ToInteger ()*60).Max (s);
}
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; }
Zuletzt geändert von Black am 08.07.2020, 10:09, insgesamt 1-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
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
-
- Beiträge: 30
- Registriert: 11.04.2015, 20:52
Re: Howto - AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
@Back, Vielen Dank für die schnelle Antwort!
Schönes Wochenende...
Schönes Wochenende...
_____________________________________________
RaspBerryMatic auf RaspBerry PI3B+
Homematic 25 Geräten
IoBroker
RaspBerryMatic auf RaspBerry PI3B+
Homematic 25 Geräten
IoBroker