1
0

debug + réglage rdc_store

This commit is contained in:
2022-06-13 19:22:08 +02:00
parent b2f79dd49c
commit 413c25c0b7
5 changed files with 198 additions and 141 deletions

View File

@ -98,7 +98,7 @@ class db extends mysqli
{
$value = $this->result->fetch_array(MYSQLI_NUM);
//var_dump($value);
logger(DEBUG, _("result is: ") . print_r($value, true), __FILE__ . ":" . __LINE__);
logger(DEBUG, _("result is: ") . print_r($value[0], true), __FILE__ . ":" . __LINE__);
return $value[0];
}
}

View File

@ -28,54 +28,59 @@ class hook
static $requestflag = 0;
$result = true;
// assigne the function to the sensors devices
if ($this->active === true)
foreach ($this->devicelist as $ieeeAddress => $property)
{
foreach ($this->devicelist as $ieeeAddress => $property)
{
if (array_key_exists($ieeeAddress, $indexDevices))
{
logger(DEBUG, _("Device: ") . $ieeeAddress, __FILE__ . ":" . __LINE__);
if (!array_key_exists($this->hookName, $indexDevices[$ieeeAddress]->properties[$property]["functions"]))
{
if (array_key_exists($property, $indexDevices[$ieeeAddress]->properties))
{
logger(DEBUG, _("Trying to store callback"), __FILE__ . ":" . __LINE__);
if (array_key_exists("functions", $indexDevices[$ieeeAddress]->properties[$property]))
{
$indexDevices[$ieeeAddress]->properties[$property]["functions"][$this->hookName] = array($this,"callback");
logger(DEBUG, sprintf(_("Property '%s' of %s is initialized with callback"), $property, $indexDevices[$ieeeAddress]->friendlyName), __FILE__ . ":" . __LINE__);
}else
{
logger(WARNING, sprintf(_("Hook %s can not initialize Property '%s' of device %s"), $this->hookName, $property, $ieeeAddress), __FILE__ . ":" . __LINE__);
$result = false;
}
}else
if (array_key_exists($ieeeAddress, $indexDevices))
{
logger(DEBUG, _("Device: ") . $ieeeAddress, __FILE__ . ":" . __LINE__);
//if (!array_key_exists($this->hookName, $indexDevices[$ieeeAddress]->properties[$property]["functions"]))
//{
if (array_key_exists($property, $indexDevices[$ieeeAddress]->properties))
{
logger(DEBUG, _("Trying to store callback"), __FILE__ . ":" . __LINE__);
if (array_key_exists("functions", $indexDevices[$ieeeAddress]->properties[$property]))
{
if ($this->active === true)
{
logger(WARNING, sprintf(_("Hook %s can not initialize Property '%s' of device %s : property does not exists"), $this->hookName, $property, $indexDevices[$ieeeAddress]->friendlyName), __FILE__ . ":" . __LINE__);
$result = false;
$indexDevices[$ieeeAddress]->properties[$property]["functions"][$this->hookName] = array($this,"callback");
logger(DEBUG, sprintf(_("Property '%s' of %s is initialized with callback"), $property, $indexDevices[$ieeeAddress]->friendlyName), __FILE__ . ":" . __LINE__);
}elseif ($this->active === false)
{
unset ($indexDevices[$ieeeAddress]->properties[$property]["functions"][$this->hookName]);
logger(DEBUG, $indexDevices[$ieeeAddress]->friendlyName . "/" . $property . _(" Unsetting ") .$this->hookName , __FILE__ . ":" . __LINE__);
}
}else
{
logger(DEBUG, _("Callback already installed"), __FILE__ . ":" . __LINE__);
logger(WARNING, sprintf(_("Hook %s can not initialize Property '%s' of device %s"), $this->hookName, $property, $ieeeAddress), __FILE__ . ":" . __LINE__);
$result = false;
}
}else
{
logger(ERROR, $ieeeAddress . (" does not exists"), __FILE__ . ":" . __LINE__);
if ($devicesRequest === false)
{
publish("zigbee2mqtt", array("bridge/devices" => ""), "get");
$devicesRequest = true;
}elseif ($requestflag++ > 30)
{
$requestflag = 0;
}
logger(WARNING, sprintf(_("Hook %s can not initialize Property '%s' of device %s : property does not exists"), $this->hookName, $property, $indexDevices[$ieeeAddress]->friendlyName), __FILE__ . ":" . __LINE__);
$result = false;
mkIndexes();
}
//}else
//{
// logger(DEBUG, _("Callback already installed"), __FILE__ . ":" . __LINE__);
//}
}else
{
logger(ERROR, $ieeeAddress . (" does not exists"), __FILE__ . ":" . __LINE__);
if ($devicesRequest === false)
{
publish("zigbee2mqtt", array("bridge/devices" => ""), "get");
$devicesRequest = true;
}elseif ($requestflag++ > 30)
{
$requestflag = 0;
}
$result = false;
mkIndexes();
}
//echo "result => "; var_dump($result);
if ($result === true)
{
@ -83,13 +88,7 @@ class hook
logger(INFO, $this->hookName . _(" initialized"), __FILE__ . ":" . __LINE__);
//var_dump($this);
}
}/*else
{
$this->initialized = true;
logger(INFO, $this->hookName . _("hook is disabled"), __FILE__ . ":" . __LINE__);
}*/
//print(var_export($indexDevices[$ieeeAddress],true));
//storeDB($devices,"debug.devices");
}
return $result;
}
}