Hallo,
ich fange gerade an, mich ein wenig mit dem Designer zu beschäftigen und schon kommen die ersten Fragen. Wo krieg ich die Variablen für Datum und Uhrzeit her? Irgendwo hatte ich gelesen, „CurrentTime“ wäre für die Uhrzeit, aber wo nehm ich die her. Wie man sicher merkt, bin ich PHP-Neuling.
Gruß
Jürgen
… „CurrentTime“ ist bei Dir nicht da:confused:
Hallo Michael,
ich denke wahrscheinlich wieder völlig verkehrt, aber wenn ich unter Caption eine Variable auswählen will, kommen in der Liste nur die von mir erstellten Variablen und da ist CurrentTime nicht bei. Trage ich CurrentTime in das Eingabefeld ein, steht in diesem Bildchen mit der Uhr „CurrentTime“, aber keine Uhrzeit.
Wie gesagt, ich kenne PHP kaum und versuche „learning by doing“ , aber immer klappt das auch nicht.
Gruß
Jürgen
… in IPS unter „Variables“ sollte „CurrentTime“ stehen!
MST
Nein, die einzige Variable, die ich nicht selbst erstellt habe, ist LastTimer. Alle anderen sind von mir. Und nu…?
- F6 (Timer Wizard)
- New
- Active? 4. Discription: „CurrentTime“
- Timer Type: „Custom“
- Timer Parameter: „TRUE“
- Action Type: „Custom“
- Action Parameter: „SetValueString(„CurrentTime“, date(„d.m.y H:i“));“
- OK
fertig :rolleyes:
Die Variable „CurrentTime“ wird nun alle 60 Sekunden aktualisiert.
Siehe auch: http://www.ipsymcon.de/forum/showthread.php?t=384
Hallo Jürgen,
ich hatte mir mal für die Zeiten für den Designer ein kleines Script gebastelt, das alle 60 Sek. ausgeführt wird.
Vielleicht kannst du davon ja was verwenden oder dient dir als Anregung für eigene Ideen.
Gruß,
Doc
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : SUNRISE_SUNSET.ips.php
Trigger :
Interval : 60 Sekunden
*/
// Sonnenauf.- u. Untergang berechnen
$longitude = 6.333;
$latitude = 51.517;
$day_offset = (GetValueInteger("SUNRISE_OFFSET")+(date("I")*60))/60+1;
$night_offset = (GetValueInteger("SUNSET_OFFSET")+(date("I")*60))/60+1;
$var_sunrise = date(date_sunrise(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, 90, $day_offset));
$var_sunset = date(date_sunset(time(), SUNFUNCS_RET_STRING, $latitude, $longitude, 90, $night_offset));
SetValueString("SUNRISE", $var_sunrise);
SetValueString("SUNSET", $var_sunset);
//DAYLIGHT festlegen
if ((date("H:i") >= $var_sunrise) and (date("H:i") <= $var_sunset)) {
SetValueBoolean("DAYLIGHT", true);
} else {
SetValueBoolean("DAYLIGHT", false);
}
//Zeit ausgeben
SetValueString("TIME", date("H:i"));
// Wochentag in deutsch ausgeben
$Tag = Date("w");
$Tag1 = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
SetValueString("WEEKDAY", $Tag1[$Tag]);
// Tag
SetValueInteger("DAY", (INT)date("j"));
//Monat in deutsch ausgeben
$Monat = Date("n");
$Monat1 = array("","Januar","Februar","Mrz","April","Mai","Juni","Juli","August","September","Oktober","Novenber","Dezember");
SetValueString("MONTH", $Monat1[$Monat]);
//Jahr ausgeben
SetValueInteger("YEAR", (INT)date("Y"));
//Timestring schreiben
SetValueString("TIME_STRING", $Tag1[$Tag].", ".date("j").". ".$Monat1[$Monat]." ".date("Y")." ".date("H:i"));
?>
Auf Wunsch einiger Forenmitglieder habe ich die Änderung an „DAYLIGHT festlegen“ hier mal abgeändert.
Die Variablen „SUNRISE_OFFSET“ + „SUNSET_OFFSET“ sind Schieber im Designer ±60 Minuten, hiermit kann der Zeitpunkt für Sunsrise + Sunset individuell angepasst werden. Onchange bei diesen Variablen auf das Script nicht vergessen!
Grüße,
Doc
Vielen Dank euch beiden!
@Steiner: Hat bestens funktioniert.
@Doctor Snuggles: Danke für das script. Das meinte ich mit „learning by doing“, sehen, wie es andere machen und dann selber rumbasteln. Ich werd dein script sicherlich irgendwo brauchen können und entsprechend ändern.
Gruß
Jürgen
Hallo Doctor Snuggles,
ich bin auch Anfänger und habe soeben dein Scribt entdeckt und mir sofort mal reingezogen. Es ist genau das was ich gesucht habe. Ich habe es etwas modifiziert und muß sagen das ist erste Sahne. So langsam kapiere ich PHP-Programmierung.
Dickes Lob für deine Arbeit.
Guß Klaus:)
Hallo,
Wenn dieses Script nicht jede Minute ausgeführt wird, dann könnte der genaue Änderungszeitpunkt verpasst werden. Zu einem anderen Zeitpunkt als den Sonnenauf- Untergangszeiten wird DAYLIGHT nicht nachgeführt. Ich habe das Script leicht angepasst:
//DAYLIGHT festlegen
if (date("H:i") >= $var_sunset) {
SetValueBoolean("DAYLIGHT", false);
}
else
if (date("H:i") >= $var_sunrise) {
SetValueBoolean("DAYLIGHT", true);
}
else{
SetValueBoolean("DAYLIGHT", false);
}
Eigentlich muss auch nur dieser Teil jede Minute gerechnet werden, den Rest benötigt man nur 1 x am Tag.
Gruß
Florian
Ich hänge mich mal hier rein.
Ich hab ein Datum in dieser Art JahrMonatTag (20091201) erzeugt. Wenn dieses erreicht ist soll ein (DAtumErzeugt - DatumHeute) soll ein Skript getriggert werden. Soweit klappt alles auch ganz gut. Als ausfallsicherung, wenn REchner neugestartet werden muss, hab ich dieses Datum in eine DAtei gesschrieben und lese es da auch aus, klappt auch.
Nun möchte ich dieses Datum auch wieder in ein reguläres Datum zurückverwandeln (formatieren) Tag.Monat.Jahr. Aber dies klappt nicht. Hat da jemand eine Idee
Das ist relativ einfach.
Mit strtotime wandelst du deine Zahl in ein Unix timestamp um und anschließend die Ausgabe mit Date
$Datumberchnet = strtotime ($DAtumErzeugt));
echo (date("d.m.Y", $Datumberchnet);
// oder noch einfacher
echo (date("d.m.Y", strtotime($DAtumErzeugt)));
Viel Erfolg
Florian
So,
schupps nochmal nach oben.
Ich habe die vorgeschlagenen Änderungen hier im Script nochmal angepasst, falls es jemand so 1 zu 1 hatte.
Grüße,
Doc