Programm zu bestimmter Uhrzeit in Systemvariablen starten
Moderator: Co-Administratoren
-
- Beiträge: 127
- Registriert: 14.12.2011, 20:48
- Wohnort: nähe Erfurt
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 1 Mal
Programm zu bestimmter Uhrzeit in Systemvariablen starten
Hallo und guten Tag.
Ich benötige eure Hilfe, ich habe in einer Systemvariablen eine Uhrzeit abgelegt (jeden Tag eine andere) und möchte gern ein Programm Starten wenn die aktuelle Zeit und die der Systemvariablen gleich sind.
Leider will mir das nicht gelingen.
Es wird sicher nur über ein Script gehen bin da aber noch nicht so fit drin.
MfG XBiT
Ich benötige eure Hilfe, ich habe in einer Systemvariablen eine Uhrzeit abgelegt (jeden Tag eine andere) und möchte gern ein Programm Starten wenn die aktuelle Zeit und die der Systemvariablen gleich sind.
Leider will mir das nicht gelingen.
Es wird sicher nur über ein Script gehen bin da aber noch nicht so fit drin.
MfG XBiT
Re: Programm zu bestimmter Uhrzeit in Systemvariablen starte
Du brauchst ein regelmäßig - also alle paar Minuten - laufendes Programm, welches den Wert der Systemvariablen abfragt, mit der aktuellen Uhrzeit vergleicht und dann irgendwas macht. Hier mal ein bisschen Code für den Uhrzeitvergleich - in der Systemvariablen "Weckzeit" vom Typ Zeichenkette wird sowas wie "20:17" erwartet:
Code: Alles auswählen
string zeit;
integer std;
integer min;
integer h;
integer m;
boolean zeitok = false;
if(dom.GetObject("Weckzeit")){
zeit = dom.GetObject("Weckzeit").Value();
! Zeitformat prüfen
std = zeit.Substr(0,2).ToInteger();
min = zeit.Substr(3,2).ToInteger();
if(std && min){
if((zeit.Substr(2,1) == ":") && (std < 24) && (min < 60)){
zeitok =true;
h = system.Date("%H").ToInteger();
m = system.Date("%M").ToInteger();
}
}
!Zeit ist syntaktisch korrekt, also prüfen, ob die Weckzeit erreicht ist
if(zeitok){
if((h > std) || ((h == std) && (m >= min))){
WriteLine("Gehtlos!");
}
}
else{
WriteLine("Ungültige Weckzeit")
}
}
WriteLine("___fertig___");
83 Kanäle in 50 Geräten:
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS
82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS
82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O
-
- Beiträge: 127
- Registriert: 14.12.2011, 20:48
- Wohnort: nähe Erfurt
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 1 Mal
Re: Programm zu bestimmter Uhrzeit in Systemvariablen starte
Guten Tag.
1000 Dank Goglo werde heute Nachmittag das Script verwenden und testen, aber von der Beschreibung ist es das was ich brauch.
MfG
XBiT
1000 Dank Goglo werde heute Nachmittag das Script verwenden und testen, aber von der Beschreibung ist es das was ich brauch.
MfG
XBiT
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Programm zu bestimmter Uhrzeit in Systemvariablen starte
Hallo zusammen
Das Problem dürfte aber noch sein, dass "Gehtlos" nun bis Mitternacht bei jedem Ablauf des Skripts ausgeführt wird, also - wie vorgeschlagen - alle paar Minuten. - Das müsste man noch abfangen, indem man eine zweite Variable "HeuteErledigt" auf true setzt, diese bei jedem Durchgang am Anfang des Skripts abfrägt und bei Tageswechsel wieder umschaltet.
Viele Grüsse
Bümpi
Das Problem dürfte aber noch sein, dass "Gehtlos" nun bis Mitternacht bei jedem Ablauf des Skripts ausgeführt wird, also - wie vorgeschlagen - alle paar Minuten. - Das müsste man noch abfangen, indem man eine zweite Variable "HeuteErledigt" auf true setzt, diese bei jedem Durchgang am Anfang des Skripts abfrägt und bei Tageswechsel wieder umschaltet.
Viele Grüsse
Bümpi
Re: Programm zu bestimmter Uhrzeit in Systemvariablen starte
Oh ja, Buempi, das stimmt. Mein Anwendung des Skripts ist das morgendliche Einschalten der Espressomaschine und langsames Hochdimmen des Lichts im Schlafzimmer. Das soll nur passieren, wenn eine Systemvariable "Wecker" wahr ist. Die muss noch bei "gehtlos" auf "falsch" gesetzt werden.
83 Kanäle in 50 Geräten:
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS
82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS
82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O
-
- Beiträge: 12926
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1602 Mal
- Danksagung erhalten: 222 Mal
Re: Programm zu bestimmter Uhrzeit in Systemvariablen starte
ok, wecken wollte ich auch per ccu nur habe ich einen anderen weg genommen, da schon einige "systemvariablen" sprich fs20 zeitschalter da waren spiele ich die weckzeit einfach in die ccu in form eines systemvariablen-triggers ein.. den rest macht dann die ccu .
-------
!!! 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 !!!
wer schreibfehler findet darf sie behalten.
!!! 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 !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 34
- Registriert: 02.10.2017, 13:53
Programm zu bestimmter Uhrzeit in Systemvariablen starten
Hallo zusammen,
ich habe gerade das anliegende Skript von Goglo gefunden, welches eine SV mit der aktuellen Uhrzeit abgleicht und sofern Uhrzeit erreicht oder überschritten ist, einen Hinweis gibt (als writeline). Soweit so gut.
Kann mann das ganze erweitern / ändern, dass genau diese Uhrzeit (nur = / nicht größer) abgefragt wird. Beispiel um 19.41 Uhr soll ein anderes Programm gestartet werden (Beispiel "Programm 123") oder eine SV wird geändert (z. B. "Start")...
Danke für die Hilfe & Danke an den Skriptschreiber Goglo !!
Gruß, Jörg !
Hier das Skript:
ich habe gerade das anliegende Skript von Goglo gefunden, welches eine SV mit der aktuellen Uhrzeit abgleicht und sofern Uhrzeit erreicht oder überschritten ist, einen Hinweis gibt (als writeline). Soweit so gut.
Kann mann das ganze erweitern / ändern, dass genau diese Uhrzeit (nur = / nicht größer) abgefragt wird. Beispiel um 19.41 Uhr soll ein anderes Programm gestartet werden (Beispiel "Programm 123") oder eine SV wird geändert (z. B. "Start")...
Danke für die Hilfe & Danke an den Skriptschreiber Goglo !!
Gruß, Jörg !
Hier das Skript:
Code: Alles auswählen
string zeit;
integer std;
integer min;
integer h;
integer m;
boolean zeitok = false;
if(dom.GetObject("Weckzeit")){
zeit = dom.GetObject("Weckzeit").Value();
! Zeitformat prüfen
std = zeit.Substr(0,2).ToInteger();
min = zeit.Substr(3,2).ToInteger();
if(std && min){
if((zeit.Substr(2,1) == ":") && (std < 24) && (min < 60)){
zeitok =true;
h = system.Date("%H").ToInteger();
m = system.Date("%M").ToInteger();
}
}
!Zeit ist syntaktisch korrekt, also prüfen, ob die Weckzeit erreicht ist
if(zeitok){
if((h > std) || ((h == std) && (m >= min))){
WriteLine("Gehtlos!");
}
}
else{
WriteLine("Ungültige Weckzeit")
}
}
WriteLine("___fertig___");
Zuletzt geändert von alchy am 21.03.2019, 20:23, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
Grund: Code in Codetags posten
-
- Beiträge: 34
- Registriert: 02.10.2017, 13:53
Programm zu bestimmter Uhrzeit in Systemvariablen starten
Hallo zusammen,
ich habe gerade das anliegende Skript von Goglo gefunden, welches eine SV mit der aktuellen Uhrzeit abgleicht und sofern Uhrzeit erreicht oder überschritten ist, einen Hinweis gibt (als writeline). Soweit so gut.
Kann mann das ganze erweitern / ändern, dass genau diese Uhrzeit (nur = / nicht größer) abgefragt wird. Beispiel um 19.41 Uhr soll z. B. die SV "Jalousiestart" auf z. B. Start geändert (ansonsten Stop). Wenn nicht 19.41 dann soll die SV Jalousiestart auf "Stop" stehen.
Danke für die Hilfe & Danke an den Skriptschreiber Goglo !!
Gruß, Jörg !
Hier das Skript:
ich habe gerade das anliegende Skript von Goglo gefunden, welches eine SV mit der aktuellen Uhrzeit abgleicht und sofern Uhrzeit erreicht oder überschritten ist, einen Hinweis gibt (als writeline). Soweit so gut.
Kann mann das ganze erweitern / ändern, dass genau diese Uhrzeit (nur = / nicht größer) abgefragt wird. Beispiel um 19.41 Uhr soll z. B. die SV "Jalousiestart" auf z. B. Start geändert (ansonsten Stop). Wenn nicht 19.41 dann soll die SV Jalousiestart auf "Stop" stehen.
Danke für die Hilfe & Danke an den Skriptschreiber Goglo !!
Gruß, Jörg !
Hier das Skript:
Code: Alles auswählen
string zeit;
integer std;
integer min;
integer h;
integer m;
boolean zeitok = false;
if(dom.GetObject("Weckzeit")){
zeit = dom.GetObject("Weckzeit").Value();
! Zeitformat prüfen
std = zeit.Substr(0,2).ToInteger();
min = zeit.Substr(3,2).ToInteger();
if(std && min){
if((zeit.Substr(2,1) == ":") && (std < 24) && (min < 60)){
zeitok =true;
h = system.Date("%H").ToInteger();
m = system.Date("%M").ToInteger();
}
}
!Zeit ist syntaktisch korrekt, also prüfen, ob die Weckzeit erreicht ist
if(zeitok){
if((h > std) || ((h == std) && (m >= min))){
WriteLine("Gehtlos!");
}
}
else{
WriteLine("Ungültige Weckzeit")
}
}
WriteLine("___fertig___");
Zuletzt geändert von alchy am 21.03.2019, 20:52, insgesamt 2-mal geändert.
Grund: Code in Codetags & Threads zusammengeführt & Titel angepasst
Grund: Code in Codetags & Threads zusammengeführt & Titel angepasst
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Programm zu bestimmter Uhrzeit in Systemvariablen starten
Kannst du mir mal verraten, warum du einen neuen Thread eröffnest, wenn du hier exakt dasselbe schreibst?
Alchy
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.
-
- Beiträge: 34
- Registriert: 02.10.2017, 13:53
Re: Programm zu bestimmter Uhrzeit in Systemvariablen starten
ich wusste nicht ob das gelesen wird.
sorry, kann ich das löschen?
sorry, kann ich das löschen?