Sobald ich das Timer Event ausführe in einem Script bekomme ich Kernel-Fehlermeldungen
Nehme ich Timer Event wieder raus, alles OK
Was mache ich oder ist hier falsch?
So ab und an werden auch die Daten nicht ausgewertet, welche vom EDIP eingehen.
Daten im COM und Regvariable sind einwandfrei und aktuell, nur das Script wird nicht immer ausgeführt.
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : edip_test.ips.php
Trigger :
Interval :
*/
if($IPS_SENDER == "TimerEvent")
{
//Display und Beleuchtung ausschalten
COMPort_SendText(40079, chr(27)."DA".chr(27)."YH".chr(0));
IPS_SetScriptTimer("edip_test", 0);
exit;
}
IPS_SetScriptTimer("edip_test", 120);
//Hauptmenü zeigen
COMPort_SendText(40079, chr(27)."MT".chr(1));
//Uhrzeit schreiben
COMPort_SendText(40079, chr(27)."ZC".chr(120).chr(2).GetValueString("TIME_STRING").chr(0));
//Display einschalten und dimmen
COMPort_SendText(40079, chr(27)."DE");
COMPort_SendText(40079, chr(27)."YH".chr(30));
//Werte formatieren und ins Display schreiben
$Temp = GetValueFloat("ks300_temp_ist");
$Temp = number_format($Temp, 1, ".", ".");
COMPort_SendText(40079, chr(27)."ZR".chr(150).chr(33)."$Temp".chr(0));
$Feuchte = GetValueInteger("ks300_luftfeuchte");
$Feuchte = number_format($Feuchte, 1, ".", ".");
COMPort_SendText(40079, chr(27)."ZR".chr(150).chr(43)."$Feuchte".chr(0));
$Wind = GetValueFloat("ks300_wind_ist");
$Wind = number_format($Wind, 1, ".", ".");
COMPort_SendText(40079, chr(27)."ZR".chr(150).chr(53)."$Wind".chr(0));
$Regen = GetValueInteger("ks300_regenmenge");
$Regen = number_format($Regen, 1, ".", ".");
COMPort_SendText(40079, chr(27)."ZR".chr(150).chr(63)."$Regen".chr(0));
//Meldungen ins Display schreiben und bei Alarm Buzzer für ..ms einschalten
$Alarm = GetValueBoolean("Alarm");
If ($Alarm)
{
COMPort_SendText(40079, chr(27)."YS".chr(25));
}
COMPort_SendText(40079, chr(27)."ZL".chr(58).chr(103).GetValueString("Alarmtext").chr(0));
COMPort_SendText(40079, chr(27)."ZL".chr(58).chr(115).GetValueString("Batterie_Meldung").chr(0));
exit;
?>
Daten von EDIP
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Daten_Edip.ips.php
Trigger :
Interval :
*/
//Buffer auslesen
$daten = GetValueString("edip_daten");
$eingabe = substr($daten, -1);
//echo ("$eingabe");
switch ($eingabe)
{
//Touchtaste-Hauptmenü startet Runscript
case "M";
IPS_RunScript("edip_test");
break;
//Touchfeld startet Runscript
case "E":
IPS_RunScript("edip_test");
break;
//Touchtaste Wetter startet TM-Wetter
case "W":
COMPort_SendText(40079, chr(27)."MT".chr(20));
break;
//Touchtaste Heizung startet TM-Heizung
case "H":
COMPort_SendText(40079, chr(27)."MT".chr(21));
break;
}
?>