42 lines
954 B
PHP
42 lines
954 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;
|
||
|
?>
|