Hallo guwen,
Ich habe auch KNX, aber verwende für Symcon das Skript von brownson.
Sieht nach Ausführung des Skriptes so aus:
<?
/**
* @file IPSView_CurrentDateTimeStrings.ips.php
* @author brownson
* @version
* Version 1.0, 2014-09-14 brownson: Initiale Version
*
* Skript um String Variablen mit aktuellem Datum und aktueller Uhrzeit anzulegen
* und periodisch zu aktualisieren.
*
* Konfiguration Einstellungen:
* keine
*
*/
$scriptID = $_IPS['SELF'];
$parentID = IPS_GetParent($scriptID);
$variableIDDateLong = CreateVariable('DateLong', 3, $parentID, 0, '~String', null);
$variableIDDateShort = CreateVariable('DateShort', 3, $parentID, 0, '~String', null);
$variableIDTime = CreateVariable('Time', 3, $parentID, 0, '~String', null);
SetValue($variableIDTime, CorrectNames(date('H:i')));
SetValue($variableIDDateShort, CorrectNames(date('Y-m-d')));
SetValue($variableIDDateLong, CorrectNames(date('l, d. F Y')));
CreateTimer_CyclicBySeconds ('RefreshTimer', $scriptID, 60);
function CreateTimer_CyclicBySeconds ($name, $parentId, $seconds) {
$timerId = @IPS_GetObjectIDByIdent($name, $parentId);
if ($timerId === false) {
$timerId = IPS_CreateEvent(1 /*Cyclic Event*/);
IPS_SetParent($timerId, $parentId);
IPS_SetName($timerId, $name);
IPS_SetIdent($timerId, $name);
if (!IPS_SetEventCyclic($timerId, 2 /*Daily*/, 1 /*Int*/,0 /*Days*/,0/*DayInt*/,1/*TimeType Sec*/,$seconds/*Sec*/)) {
die ("IPS_SetEventCyclic failed !!!");
}
IPS_SetEventActive($timerId, true);
echo 'Created Timer '.$name.'='.$timerId."".PHP_EOL;
}
return $timerId;
}
function CreateVariable ($name, $type, $parentId, $position=0, $profile="", $action=null) {
$variableId = @IPS_GetObjectIDByIdent($name, $parentId);
if ($variableId === false) {
$variableId = IPS_CreateVariable($type);
IPS_SetParent($variableId, $parentId);
IPS_SetName($variableId, $name);
IPS_SetIdent($variableId, $name);
IPS_SetPosition($variableId, $position);
IPS_SetVariableCustomProfile($variableId, $profile);
IPS_SetVariableCustomAction($variableId, $action);
}
return $variableId;
}
function CorrectNames($value) {
$result = $value;
$result = str_replace('Monday', 'Montag', $result);
$result = str_replace('Tuesday', 'Dienstag', $result);
$result = str_replace('Wednesday', 'Mittwoch', $result);
$result = str_replace('Thursday', 'Donnerstag', $result);
$result = str_replace('Friday', 'Freitag', $result);
$result = str_replace('Saturday', 'Samstag', $result);
$result = str_replace('Sunday', 'Sonntag', $result);
$result = str_replace('January', 'Jänner', $result);
$result = str_replace('February', 'Februar', $result);
$result = str_replace('March', 'März', $result);
$result = str_replace('April', 'April', $result);
$result = str_replace('May', 'Mai', $result);
$result = str_replace('June', 'Juni', $result);
$result = str_replace('July', 'Juli', $result);
$result = str_replace('August', 'August', $result);
$result = str_replace('September', 'September', $result);
$result = str_replace('October', 'Oktober', $result);
$result = str_replace('November', 'November', $result);
$result = str_replace('December', 'Dezember', $result);
return $result;
}
?>