Hallo,
Ich habe ein Script das Zeitgesteuertes alle 10 Minuten von 7 bis 24 Uhr aufgerufen wird. Ab 24 Uhr müsste ich einen Thermostat umschalten. D.h. Es wäre schön zu wissen das dieser Aufruf vom Script der letzte ist .. Geht das irgendwie. Oder Alternativ, wie formuliert man den Else Zweig für die Bedingung "Script alle 10 Minuten von 7 bis 24 Uhr", der dann von 24 bis 7 Uhr aufgerufen wird ohne das ganze wieder als vollständigen If hinzuschreiben weil ich sonst bei einer Änderung an zwei Stellen anpacken muss.
Danke und schönen Abend
Gesendet von meinem iPad mit Tapatalk
Wenn Zeitgesteuertes Scripts das letzte Mal aufgerufen wird
Moderator: Co-Administratoren
-
- Beiträge: 26
- Registriert: 20.09.2013, 22:55
Re: Wenn Zeitgesteuertes Scripts das letzte Mal aufgerufen w
Hi,
Ich habe hier ein Script das mir den Zeitpunkt wann eine Variable gesetzt worden ist ausgibt und einen Zeitraum vergleicht.
Du müsstest einfach nur die Uhrzeit vergleichen
Gesendet von iPhone mit Tapatalk
Ich habe hier ein Script das mir den Zeitpunkt wann eine Variable gesetzt worden ist ausgibt und einen Zeitraum vergleicht.
Du müsstest einfach nur die Uhrzeit vergleichen
Code: Alles auswählen
.
time timestamp = system.Date("%Y-%m-%d %H:%M:%S").ToTime();
var LastWas = dom.GetObject("pocketControlPushMessage");
var Was = LastWas.Variable();
time Wann2 = LastWas.Timestamp();
integer diff = timestamp.ToInteger() - Wann2.ToInteger();
WriteLine(diff);
if(diff>200)
{
WriteLine(diff);
WriteLine(Wann2)
dom.GetObject("pocketControlPushMessage").State(dom.GetObject("Tankstelle_BFT_e5").Value().ToString(2)#" Euro / von "#dom.GetObject("Tankstelle_Aktualisierung").Value());
if(Was == 0)
{
}
}
Ich hoffe es hilft dir ein wenig.
Gruß Lars
Gesendet von iPhone mit Tapatalk
- Sammy
- Beiträge: 9172
- Registriert: 09.09.2008, 20:47
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 174 Mal
Re: Wenn Zeitgesteuertes Scripts das letzte Mal aufgerufen w
@Admin
da es hier nicht um Informationen zum Forum geht, bitte verschieben in den korrekten Bereich.
da es hier nicht um Informationen zum Forum geht, bitte verschieben in den korrekten Bereich.
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
Re: Wenn Zeitgesteuertes Scripts das letzte Mal aufgerufen w
Nachdem Apps die letzte Ausführungszeit eines Skripts ausgeben denke ich, dass es auch eine Funktion dafür gibt
-
- Beiträge: 1184
- Registriert: 09.01.2016, 17:42
- Wohnort: Sauerland
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Wenn Zeitgesteuertes Scripts das letzte Mal aufgerufen w
Klar gibt es das:wepuc hat geschrieben:Nachdem Apps die letzte Ausführungszeit eines Skripts ausgeben denke ich, dass es auch eine Funktion dafür gibt
Das hier ist von Alchy:
Code: Alles auswählen
string sID;
string sLIST = "letzte Verwendung eines Programmes";
object oTmp;
foreach (sID, dom.GetObject(ID_PROGRAMS).EnumUsedIDs()) {
oTmp = dom.GetObject(sID);
if(oTmp){ sLIST = sLIST #"\n" #oTmp.Name() # " : " #oTmp.ProgramLastExecuteTime(); }
}
!hier WriteLine oder aber speichern in Systemvariablen oder Versenden von Mail ....
WriteLine(sLIST);
Code: Alles auswählen
string message = "<font color='blue'>Letzte Verwendung eines Programmes" #"\n"</font>.";
message = message #dom.GetObject("PRG PUSH Temperatur Wohnzimmer").ProgramLastExecuteTime() # "\t" # "PRG PUSH Temperatur Wohnzimmer" # "\n";
WriteLine(message);
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Wenn Zeitgesteuertes Scripts das letzte Mal aufgerufen w
Als erstes vielleicht mal die Begrifflichkeiten klären.
Geht es um eine Programmausführung oder Scriptausführung?
Das System speichert die Programmausführung ja schon in einem Zeitstempel, der unter anderem mittels der Funktion .ProgramLastExecuteTime() ausgelesen werden kann.
Obiges Script mal noch mal angepasst:
Wird im Programm ein Script aufgerufen, könnte man am Ende des Scriptes aber auch die aktuelle Systemzeit in eine Variable speichern, um den Durchlauf des Scriptes zu speichern.
Möglich ist vieles, kommt ja auf den TE an, was er wirklich will.
Alchy
Geht es um eine Programmausführung oder Scriptausführung?
Das System speichert die Programmausführung ja schon in einem Zeitstempel, der unter anderem mittels der Funktion .ProgramLastExecuteTime() ausgelesen werden kann.
Obiges Script mal noch mal angepasst:
Code: Alles auswählen
object sec = dom.GetObject( ID_PROGRAMS );
string i;
string slist = "";
foreach(i,sec.EnumUsedIDs()) {
var item=dom.GetObject(i);
var ltime = item.ProgramLastExecuteTime();
if (!ltime == "1970-01-01 01:00:00") { WriteLine ("Programm: "#item.Name() #" letztmalig " #ltime #" gestartet"); }
}
Wird im Programm ein Script aufgerufen, könnte man am Ende des Scriptes aber auch die aktuelle Systemzeit in eine Variable speichern, um den Durchlauf des Scriptes zu speichern.
Möglich ist vieles, kommt ja auf den TE an, was er wirklich will.
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.
Re: Wenn Zeitgesteuertes Scripts das letzte Mal aufgerufen w
danke Alchy, erneut ein kompetenter Beitrag.