[Kaminofen] Holz nachlegen

Im Kachelofen das Holz nachlegen, daß wird leider oft vergessen.
Wenn man eine Stelle für den Temperatur-Fühler findet, die nicht so sehr die Wärme speichert,
sondern den aktuellen Zustand des Feuers wiederspiegelt, dann hat sich folgendes Skript bewährt.
Dabei müssen die Temperaturen noch den eigenen Bedürfnissen angepasst werden.
Der Zusand des Kamin wird in der Variable „Kamin_Betrieb“ abgelegt und kann
entsprechend mit dem Designer Visualisiert werden oder akustisch gemeldet werden (Anlage: by Linguatec)
Im „Schlafengehen-Skript“ sollte dies nicht vergessen werden: „SetValueInteger(„Kamin_Betrieb“, 0);“

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : Kamin.ips.php
Trigger  : Kamin (Temperatur) // 5 Minuten
Interval : 
*/

$t_kamin = GetValueFloat("Kamin");                 // Kamin-Temp.
$t_flur = GetValueFloat("IN_FS10_Temp_Flur");      // Umgebungs-Temp.
$t_nachlegen = GetValueFloat("Kamin_T_nachlegen"); // Temp. bei Meldung
$betrieb = GetValueInteger("Kamin_Betrieb");       // Kaminm-Status
$schlafen = GetValueBoolean("Flag_Schlafen");

//echo "Temp: $t_kamin
";
//echo "Betrieb: $betrieb
";

// Kamin wurde angezündet, wenn Kamin-Temp über Umgebungs-Temp.
if (($betrieb == 0) and ($t_kamin > $t_flur + 3) and ($schlafen == False) ){   // 3 Grad über Umgebungstemp.
   SetValueInteger("Kamin_Betrieb", 1);
   SetValueFloat("Kamin_T_nachlegen", $t_kamin); // Temp. Minimal setzen
   DXMedia_Open(62704, IPS_GetKernelDir()."sounds\\kamin_an.mp3");
   DXMedia_SetVolume(62704, 30);
   DXMedia_Play(62704);
}

// Kamin brennt nun richtig (ab 45 Grad)
if ((($betrieb == 1) or ($betrieb == 3)) and ($t_kamin >= 45)){
   SetValueFloat("Kamin_T_nachlegen", 45); // Temp. Minimal setzen
   SetValueInteger("Kamin_Betrieb", 2);
}

// Kamin droht während der Aufheizphase auszugehen
if (($betrieb == 1) and ($t_kamin  < $t_nachlegen)){
   SetValueFloat("Kamin_T_nachlegen", $t_kamin);  // Temp. merken, wann nachgelegt
   DXMedia_Open(62704, IPS_GetKernelDir()."sounds\\kamin_nicht_an.mp3");
   DXMedia_SetVolume(62704, 30);
   DXMedia_Play(62704);
}

// Kamin droht auszugehen / Meldung, wenn er weiter abkühlt
if ((($betrieb == 2) or ($betrieb == 3)) and ($t_kamin  < $t_nachlegen)){
   //echo "Holz nachlegen";
   SetValueInteger("Kamin_Betrieb", 3);
   SetValueFloat("Kamin_T_nachlegen", $t_kamin);  // Temp. merken, wann nachgelegt
   DXMedia_Open(62704, IPS_GetKernelDir()."sounds\\holz_nachlegen.mp3");
   DXMedia_SetVolume(62704, 30);
   DXMedia_Play(62704);
}

// Kamin ausgebrannt / unter 40 Grad ist nur noch wenig Glut
if (($betrieb == 3 ) and ($t_kamin < 40)){
  SetValueInteger("Kamin_Betrieb", 4);
}

// Kamin abgekühlt / wenn fast Umgebungs-Temp erreicht
if (($betrieb == 4 ) and ($t_kamin <=  $t_flur + 3)){
  SetValueInteger("Kamin_Betrieb", 0);
}

?>

MST

kamin.zip (195 KB)