Ich häng mal ein Script an, welches Temp und Ventilpos auswertet.
Den Rest denk dir weg
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : TM_Fhts.ips.php
Trigger : Variable Fhts true/false
Interval :
*/
require "44124.ips.php";
//Schaltzustand abfragen
$Zustand = GetValue(52706 /*[.eDIP\Fhts]*/);
$Umschaltung = GetValue(26241 /*[.eDIP\Umschaltung_S_W_H_A]*/);
//wenn Schaltzustand false, Script verlassen(beenden)
if ($Zustand == false)
return;
//Schriftart Geneva10 auf INVREPL setzen
XBee_SendText($XBee, chr(27)."ZF".chr(4));
XBee_SendText($XBee, chr(27)."ZV".chr(5));
//Aktuelle Zeit anzeigen
$Zeit = GetValueString("TIME");
XBee_SendText($XBee, chr(27)."ZL".chr(25).chr(28)."$Zeit".chr(0));
XBee_SendText($XBee, chr(27)."ZL".chr(37).chr(27)."~:~".chr(0));
if ($Umschaltung == true)
return;
//Ventilpositionen abfragen
$Ven1 = GetValueFloat("ankleide_ventil_pos");
$Ven2 = GetValueFloat("bad_ventil_pos");
$Ven3 = GetValueFloat("buero_ventil_pos");
$Ven4 = GetValueFloat("kueche_ventil_pos");
//Temperaturwerte abfragen
$Temp1 = GetValueFloat("ankleide_temp_ist");
$Temp2 = GetValueFloat("ankleide_temp_soll");
$Temp3 = GetValueFloat("bad_temp_ist");
$Temp4 = GetValueFloat("bad_temp_soll");
$Temp5 = GetValueFloat("buero_temp_ist");
$Temp6 = GetValueFloat("buero_temp_soll");
$Temp7 = GetValueFloat("kueche_temp_ist");
$Temp8 = GetValueFloat("kueche_temp_soll");
//Ventilpositionswerte formatieren und nach Display schreiben
$Ven4 = number_format($Ven4, 0, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(100).chr(40)."$Ven4".chr(0));
$Ven2 = number_format($Ven2, 0, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(100).chr(50)."$Ven2".chr(0));
$Ven1 = number_format($Ven1, 0, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(100).chr(60)."$Ven1".chr(0));
$Ven3 = number_format($Ven3, 0, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(100).chr(70)."$Ven3".chr(0));
//Temperaturwerte formatieren und nach Display schreiben
if ($Temp8 == 5.5)
{
XBee_SendText($XBee, chr(27)."ZR".chr(210).chr(40)."off".chr(0));
}
else
{
$Temp8 = number_format($Temp8, 1, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(210).chr(40)."$Temp8".chr(0));
}
if ($Temp4 == 5.5)
{
XBee_SendText($XBee, chr(27)."ZR".chr(210).chr(50)."off".chr(0));
}
else
{
$Temp4 = number_format($Temp4, 1, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(210).chr(50)."$Temp4".chr(0));
}
if ($Temp2 == 5.5)
{
XBee_SendText($XBee, chr(27)."ZR".chr(210).chr(60)."off".chr(0));
}
else
{
$Temp2 = number_format($Temp2, 1, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(210).chr(60)."$Temp2".chr(0));
}
if ($Temp6 == 5.5)
{
XBee_SendText($XBee, chr(27)."ZR".chr(210).chr(70)."off".chr(0));
}
else
{
$Temp6 = number_format($Temp6, 1, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(210).chr(70)."$Temp6".chr(0));
}
$Temp7 = number_format($Temp7, 1, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(160).chr(40)."$Temp7".chr(0));
$Temp3 = number_format($Temp3, 1, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(160).chr(50)."$Temp3".chr(0));
$Temp1 = number_format($Temp1, 1, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(160).chr(60)."$Temp1".chr(0));
$Temp5 = number_format($Temp5, 1, ".", ".");
XBee_SendText($XBee, chr(27)."ZR".chr(160).chr(70)."$Temp5".chr(0));
//Abfrage Betriebsart
$SW = GetValue(39749 /*[.eDIP\FHTs_Sommer_Winter]*/);
if ($SW) {
XBee_SendText($XBee, chr(27)."MN".chr(11));
}
else {
XBee_SendText($XBee, chr(27)."MN".chr(12));
}
$HA = GetValue(14282 /*[.eDIP\FHTs_Hand_Auto]*/);
if ($HA) {
XBee_SendText($XBee, chr(27)."MN".chr(13));
}
else {
XBee_SendText($XBee, chr(27)."MN".chr(14));
}
?>