Hallo zusammen,
mit in verschiedenen Scripten checke ich zyklisch Werte und schalte dann im boolsche Variablen. Bei vielen dieser zyklischen Checks ändert sich die Variable nicht, nur der Zeitstempel wird erneuert.
Am Ende dieses Scriptes möchte ich dann eine Mail mit den Statusinformationen versenden, jedoch nur bei Variablenänderung. Wie kann ich abfragen ob eine Variablenänderung erfolgt ist?
Das ganze geht natürlich auch über einen Event an der Variable, ich möchte das jedoch gerne im Script erledigen.
Wie erledigt Ihr so etwas? Welche Steuerzeichen kann ich für das Formatieren des Mailtextes verwenden?
Meine Lösung und die Frage - Gehts auch eleganter?:
$VarLastChange = IPS_GetVariable(14240 /*[35 Heizungssteuerung\Heizung]*/ );
$delta_t = time()-($zuletztON['$VarLastChange']); // Wann wurde die Variable geändert?
if ($delta_t <= 2 && $VarLastChange) // eben geändert vor Sekunden && True
{
SMTP_SendMailEx(39811 /*[30 Systemverwaltung\Mailversand\E-Mail senden (SMTP)]*/, "mailadresse", "IPS Info Heizbetrieb ein (Schwelle 15 °C) !", "Heizbetrieb ist freigegeben / Schwelle 15°C, gemittelte Temp: $ATgemittelt1224 °C, Außentemp: $AT °C, Wohnzimmertemperatur: $WZ °C ");
}
if ($delta_t <= 2 && !$VarLastChange) // eben geändert vor Sekunden && False
{
SMTP_SendMailEx(39811 /*[30 Systemverwaltung\Mailversand\E-Mail senden (SMTP)]*/, "mailadresse", "IPS Info Heizbetrieb ein (Schwelle 15 °C) !", "Heizbetrieb ist freigegeben / Schwelle 15°C, gemittelte Temp: $ATgemittelt1224 °C, Außentemp: $AT °C, Wohnzimmertemperatur: $WZ °C ");
}
?>
Herzlichen Dank für Tips, Stromer