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"), $device->topic, $device->friendlyName, $value)); } break; } echo sprintf(_("notification received from MQTT -> device %s is %s"), $device->friendlyName , $value). EOL; //echo $param . "=> " . $value . EOL; } public function getHook() { return array($this,"callback"); } } $hooks["availability"] = new availability; ?>