Danke erstmal für deine Erläuterung.
Hab’s mal so umgesetzt, wie du geschrieben hast:
<?
$LOGO_Wert = 37309 /*[Scripte\Logo Scripte\Sensoren Sonnenschutz\Sonnenaufgang\Value]*/; //Value= IntegerWert aus Logo
$Sonnenaufgang = function Uhrzeit ($LOGO_Wert);
$SetValue (30328 /* Variablen ID, wo der neue Wert rein soll*/ ,$Sonnenaufgang);
//Oder als einzeiler:
#$SetValue (30328 /* Variablen ID, wo der neue Wert rein soll*/ ,function Uhrzeit (37309 /*Hier z.B. ein GetValueInteger*/));
//Irgendwo in deinem Script muss noch die Funktion sein oder included werde.
// Rechnet eine Zeitangabe der LOGO um
function Uhrzeit($LOGO_Wert)
{
Return (str_replace(".", ":",number_format((int)dechex($LOGO_Wert)/100, 2)));
}
?>
Irgendwo fehlt noch was, wie du ja auch geschrieben hast.
Im Moment kommt folgende Fehlermeldung:
Parse error: syntax error, unexpected ‚Uhrzeit‘ (T_STRING), expecting ‚(‘ in C:\IP-Symcon\scripts\27726.ips.php on line 3
Abort Processing during Fatal-Error: syntax error, unexpected ‚Uhrzeit‘ (T_STRING), expecting ‚(‘
Error in Script C:\IP-Symcon\scripts\27726.ips.php on Line 3
Bin hier leider nicht der Experte, wäre schön, wenn’s noch ein paar Tipps geben würde.
Ich Antworte dir nochmal, gestern, muss ich gestehen, hab ich dir da ausschließlich mist geschrieben.
SetValue hat natürlich kein $ am Anfang und eine Funktion wird ohne „function“ am Anfang aufgerufen usw.
Du hast du Funktion auch nur deine Variablen ID übergeben, du musst ihr aber den Wert übergeben.
Und drauf achten das deine Variable 30328 eine String Variable sein muss, wie Joachim schon sagte.
<?
$LOGO_WertID = 37309; //Variablen ID der Integer Variable von der LOGO
$LOGO_WertValue = GetValueInteger ($LOGO_WertID); //Den Wert aus obiger Variable auslesen
$Sonnenaufgang = Uhrzeit ($LOGO_WertValue); //Die Funktion aufrufen und ihren Rückgabewert in die Variable $Sonnenaufgang schreiben
SetValueString (30328, $Sonnenaufgang); //Den Wert der $Sonnenaufgang Variable in deine neu angeläget String Variable schreiben.
return;
function Uhrzeit($LOGO_Wert)
{
Return (str_replace(".", ":",number_format((int)dechex($LOGO_Wert)/100, 2)));
}
?>