topic . "/" . $device->friendlyName; } function getDevice($topic, $fn) { global $topics, $devices; if (array_key_exists($topic, $topics)) { $var = $devices[$topic]; $path = explode("/", $fn); foreach($path as $tmp) { if (array_key_exists($tmp, $var)) { $var = $var[$tmp]; }else { logger(ERROR, sprintf(_("level %s of %s do not exists in %s"), $tmp, $fn, $topic), __FILE__ . ":" . __LINE__ ); return false; } } logger(DEBUG, sprintf(_("returning a value")), __FILE__ . ":" . __LINE__ ); return $var["device"]; }else { logger(ERROR, sprintf(_("Topic %s do not exists"), $topic), __FILE__ . ":" . __LINE__ ); return false; } } function getValue($ieeeAddress, $property) { global $indexDevices; return $indexDevices[$ieeeAddress]->properties[$property]["value"]; } function setValue($fn, $property, $value) { global $indexDevices; $indexDevices[$ieeeAddress]->properties[$property]["value"] = $value; } logger(DEBUG, _("signal handling"), __FILE__ . ":" . __LINE__, false); //signal handling function signalHandler($signal) { endMoha(); } pcntl_signal(SIGTERM, 'signalHandler');// Termination ('kill' was called) pcntl_signal(SIGHUP, 'signalHandler'); // Terminal log-out pcntl_signal(SIGINT, 'signalHandler'); ?>