42 lines
		
	
	
		
			955 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			955 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
class availability
 | 
						|
{
 | 
						|
	// by default all devices are listening for availability
 | 
						|
 | 
						|
	// callback fonction. Is called with these 3 parameters
 | 
						|
	// $device 	-> calling device
 | 
						|
	// $param 	-> parameter passed by mqtt
 | 
						|
	// $value 	-> value of the parameter
 | 
						|
	public function callBack($device, $param, $value)
 | 
						|
	{
 | 
						|
		switch($param)
 | 
						|
		{
 | 
						|
			case "availability":			// theorically can't be other, but ....
 | 
						|
				if ($device->availability != $value)
 | 
						|
				{
 | 
						|
					//echo "==========>>>>>> Availability $value" . EOL;
 | 
						|
					if (!empty($device->availability))
 | 
						|
					{
 | 
						|
						$log = WARNING;
 | 
						|
					}else
 | 
						|
					{
 | 
						|
						$log = INFO;
 | 
						|
					}
 | 
						|
					$device->availability = $value;
 | 
						|
					logger($log, sprintf(_("Device: %s/%s is %s"), $topic, $fn , $value));
 | 
						|
				}
 | 
						|
			break;
 | 
						|
		}
 | 
						|
		echo _("notification received from MQTT") . EOL;
 | 
						|
		//echo $param . "=> " . $value . EOL;
 | 
						|
	}
 | 
						|
	public function getHook()
 | 
						|
	{
 | 
						|
		return array($this,"callback");
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
$hooks["availability"] = new availability;
 | 
						|
?>
 |