modified device database and the code for managing it
This commit is contained in:
@ -75,7 +75,7 @@ class db extends mysqli
|
||||
logger(ERROR, _("mysql query errror: ") . $this->error, __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
}
|
||||
logger(INFO, sprintf(_("New value (%s) of property: '%s' of device: %s stored in database"), $value, $propertyTree, $device->friendlyName), __FILE__ . ":" . __LINE__);
|
||||
logger(INFO, sprintf(_("New value (%s) of property: '%s' of device: %s stored in database"), bool2string($value), $propertyTree, $device->friendlyName), __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -53,7 +53,12 @@ class hook
|
||||
logger(DEBUG, $this->hookName . _(" initialized"), __FILE__ . ":" . __LINE__);
|
||||
//var_dump($this);
|
||||
}
|
||||
}else
|
||||
{
|
||||
$this->initialized = true;
|
||||
logger(DEBUG, $this->hookName . _("hook is disabled"), __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
@ -34,6 +34,7 @@ class device
|
||||
public $availability;
|
||||
public $toConfirm;
|
||||
public $triggerDevice;
|
||||
public $properties = array();
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@ -89,17 +90,17 @@ class watch
|
||||
|
||||
public function __construct($topic, $fn, $property, $condition, $value)
|
||||
{
|
||||
global $conditions, $acceptedValues, $indexDevices;
|
||||
global $conditions, $indexDevices;
|
||||
logger(DEBUG, _("New Notification"), __FILE__ . ":" . __LINE__);
|
||||
if (($device = getDevice($topic, $fn)) !== false)
|
||||
{
|
||||
$this->topic = $topic;
|
||||
if (property_exists($device, $property))
|
||||
if (array_key_exists($property, $device->properties))
|
||||
{
|
||||
$this->property = $property;
|
||||
if (!is_numeric($value) and array_search($value, $this->acceptedValues) === false)
|
||||
if (!is_numeric($value) or array_search($value, $this->acceptedValues) === false)
|
||||
{
|
||||
logger(ERROR, _("Value is not numeric"), __FILE__ . ":" . __LINE__ );
|
||||
logger(ERROR, _("Value is not numeric or not accepted"), __FILE__ . ":" . __LINE__ );
|
||||
return false;
|
||||
}
|
||||
if (array_search($condition, $this->conditions))
|
||||
@ -112,7 +113,7 @@ class watch
|
||||
logger(ERROR, sprintf(_("Condition %s is not one of the permitted : "), $condition) . print_r($conditions, true), __FILE__ . ":" . __LINE__ );
|
||||
return false;
|
||||
}
|
||||
$indexDevices[$device->ieeeAddress]->$property["functions"][] = array($this,"notifyCallback");
|
||||
$indexDevices[$device->ieeeAddress]->properties[$property]["functions"][] = array($this,"notifyCallback");
|
||||
}else
|
||||
{
|
||||
logger(ERROR, _("Property do not exists"), __FILE__ . ":" . __LINE__ );
|
||||
@ -132,11 +133,9 @@ class watch
|
||||
if (eval($this->function))
|
||||
{
|
||||
logger(DEBUG, _("notifyCallback"));
|
||||
$msg = sprintf(_("Device '%s' have property '%s' value %s %s %s"), $device->friendlyName, $property, $value, $this->condition, $this->PropertyValue );
|
||||
$msg = sprintf(_("Device '%s' have property '%s' value %s %s %s"), $device->friendlyName, $property, bool2string($value), $this->condition, bool2string($this->PropertyValue) );
|
||||
notify($msg);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user