32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
// script to prevent when exterior temperature become inferior or superior to interior one
 | 
						|
class rdc_temperature_int_ext extends hook
 | 
						|
{
 | 
						|
	public $hookName = "rdc_wc_eclairage";
 | 
						|
	public $active = true;			//enable/disable hook (true => enabled)
 | 
						|
 | 
						|
	protected $devicelist = array(
 | 
						|
				METEO=> "tempc",
 | 
						|
				);
 | 
						|
 | 
						|
	// callback fonction. Is called with these 4 parameters
 | 
						|
	public function callBack(&$device, $property, $value)
 | 
						|
	{
 | 
						|
		global $indexDevices;
 | 
						|
		static $status = 0;
 | 
						|
		if ($device->properties["indoortempc"]["value"] > $value and $status === 1)
 | 
						|
		{
 | 
						|
			$status = 0;
 | 
						|
			logger(ALERT, _("Indoor temperature is superior to outdoor one"));
 | 
						|
		}elseif ($device->properties["indoortempc"]["value"] < $value and $status === 0)
 | 
						|
		{
 | 
						|
			$status = 1;
 | 
						|
			logger(ALERT, _("Indoor temperature is inferior to outdoor one"));
 | 
						|
		}
 | 
						|
		logger (INFO, sprintf(_("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $property, bool2string($value)), __FILE__ . ":" . __LINE__);
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
$hooks["rdc_temperature_int_ext"] = new rdc_temperature_int_ext();
 | 
						|
?>
 |