1
0
moha/hooks/scripts/example.php.template

41 lines
1.2 KiB
Plaintext
Raw Normal View History

<?php
2022-01-28 23:05:58 +01:00
class <name_of_class> extends hook
{
public $hookName = <public name of the hook>;
2022-01-28 23:05:58 +01:00
public $active = true; //enable/disable hook (true => enabled)
2022-09-19 23:40:29 +02:00
protected $devicelist = array(
<ieee address or constant defined in config/devices_constants.php> => array(<property to watch>, false));
2022-09-19 23:40:29 +02:00
// if you need some initialisation when creating the object, uncomment the funcion init below and put your code here.
2022-01-28 23:05:58 +01:00
// If existing, This function is called by __construct
/*protected function init()
{
2022-01-28 23:05:58 +01:00
// Your code here
}
2022-01-28 23:05:58 +01:00
*/
2022-09-19 23:40:29 +02:00
// you can intercept the hook installation in this function.
function installHooks(&$indexDevices)
{
return $this->installHooksFunction($indexDevices);
}
// 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)
{
2022-09-19 23:40:29 +02:00
if ($this->active == true)
{
// here your code
}
2022-02-23 10:23:16 +01:00
logger (INFO,sprintf(_("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $property, bool2string($value)), __FILE__ . ":" . __LINE__);
}
}
$hooks[<public name of the hook>] = new <name_of_class>();
?>