38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
|
<?php
|
||
|
|
||
|
class <name_of_class>
|
||
|
{
|
||
|
public $hookName = <public name of the hook>;
|
||
|
public $active = true; enable/disable hook (true => enabled)
|
||
|
|
||
|
private $devicelist = array(<ieee address or constant defined in config/devices_constants.php>) => <property of the device to watch>);
|
||
|
|
||
|
// assigne the function to the sensors devices
|
||
|
function __construct()
|
||
|
{
|
||
|
global $indexDevices;
|
||
|
if ($this->active === true)
|
||
|
{
|
||
|
foreach ($this->devicelist as $ieeeAddress => $property)
|
||
|
{
|
||
|
$indexDevices[$ieeeAddress]->$property["functions"][] = array($this,"callback");
|
||
|
}
|
||
|
}
|
||
|
// put here your code to init the class
|
||
|
}
|
||
|
|
||
|
// callback fonction. Is called with these 3 parameters
|
||
|
// $device -> calling device
|
||
|
// $property -> property of the device (given by mqtt)
|
||
|
// $value -> value of the property
|
||
|
public function callBack(&$device, $property, $value)
|
||
|
{
|
||
|
// here your code
|
||
|
|
||
|
logger (INFO, _("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $property, $value);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$hooks[<public name of the hook>] = new <name_of_class>();
|
||
|
?>
|