debug
This commit is contained in:
parent
68fb0579ce
commit
cde4d728cf
84
class/db.php
84
class/db.php
@ -40,60 +40,68 @@ class db extends mysqli
|
||||
global $mohaDB, $properties2log, $testMode;
|
||||
$precision = 0;
|
||||
//echo "############## logProperty ################\nproperty => " . $propertyTree .EOL;
|
||||
if (array_key_exists($property, $properties2log))
|
||||
//echo "logging in database";
|
||||
//var_dump($device);
|
||||
$ieeeAddress = $device->ieeeAddress;
|
||||
//print_r($ieeeAddress);
|
||||
$query = "INSERT INTO logs (device, property, value) VALUES('" . $this->protect($ieeeAddress) . "', '" . $this->protect($property) . "', '" . $this->protect(bool2string($value)) . "')";
|
||||
//echo $query . EOL;
|
||||
if (is_numeric($value) and !empty($properties2log[$property]))
|
||||
{
|
||||
//echo "logging in database";
|
||||
//var_dump($device);
|
||||
$ieeeAddress = $device->ieeeAddress;
|
||||
//print_r($ieeeAddress);
|
||||
$query = "INSERT INTO logs (device, property, value) VALUES('" . $this->protect($ieeeAddress) . "', '" . $this->protect($property) . "', '" . $this->protect(bool2string($value)) . "')";
|
||||
//echo $query . EOL;
|
||||
if (is_numeric($value) and !empty($properties2log[$property]))
|
||||
// calculate a min/max value for storing data
|
||||
$r = $properties2log[$property];
|
||||
if (is_callable($r))
|
||||
{
|
||||
// calculate a min/max value for storing data
|
||||
$minMax = $properties2log[$property];
|
||||
if (is_callable($minMax))
|
||||
{
|
||||
$minMax = $minMax($value);
|
||||
}
|
||||
var_dump($value) . EOL;
|
||||
var_dump($minMax) . EOL;
|
||||
var_dump($oldValue) . EOL;
|
||||
if ( !is_numeric($oldValue)) $oldValue = 0;
|
||||
//echo "minMax = " .$minMax . EOL;
|
||||
//echo "oldValue = " . $oldValue . EOL;
|
||||
//echo "Value = " . $value . EOL;
|
||||
if ($value >= $oldValue - $minMax and $value <= $oldValue + $minMax)
|
||||
{
|
||||
//echo "========>>>>>>>>>not changed" . EOL;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if ($testMode)
|
||||
{
|
||||
logger(INFO, _("Test mode on: not storing in DB "), __FILE__ . ":" . __LINE__);
|
||||
$minMax = $r($value);
|
||||
}else
|
||||
{
|
||||
if(!$this->result = $this->query($query))
|
||||
{
|
||||
logger(ERROR, _("mysql query errror: ") . $this->error, __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
$minMax = $r;
|
||||
}
|
||||
logger(DEBUG, _("minMax = " . $minMax), __FILE__ . ":" . __LINE__);
|
||||
var_dump($value) . EOL;
|
||||
var_dump($minMax) . EOL;
|
||||
var_dump($oldValue) . EOL;
|
||||
if ( !is_numeric($oldValue)) $oldValue = 0;
|
||||
//echo "minMax = " .$minMax . EOL;
|
||||
//echo "oldValue = " . $oldValue . EOL;
|
||||
//echo "Value = " . $value . EOL;
|
||||
if ($value >= $oldValue - $minMax and $value <= $oldValue + $minMax)
|
||||
{
|
||||
//echo "========>>>>>>>>>not changed" . EOL;
|
||||
return true;
|
||||
}
|
||||
logger(INFO, sprintf(_("New value (%s) of property: '%s' of device: %s stored in database"), bool2string($value), $property, $device->friendlyName), __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
if ($testMode)
|
||||
{
|
||||
logger(INFO, _("Test mode on: not storing in DB "), __FILE__ . ":" . __LINE__);
|
||||
}else
|
||||
{
|
||||
if(!$this->result = $this->query($query))
|
||||
{
|
||||
logger(ERROR, _("mysql query errror: ") . $this->error, __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
}
|
||||
logger(INFO, sprintf(_("New value (%s) of property: '%s' of device: %s stored in database"), bool2string($value), $property, $device->friendlyName), __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
|
||||
function moyenne($deviceObject, $property, $time)
|
||||
{
|
||||
$query = "SELECT AVG(value) as value FROM logs WHERE device='" . $deviceObject->ieeeAddress . "' AND property='" . $property . "' AND TIMEDIFF(NOW(), date) < '00:" . $time . "'";
|
||||
logger(DEBUG, _("query is: ") . $query, __FILE__ . ":" . __LINE__);
|
||||
if(!$this->result = $this->query($query))
|
||||
{
|
||||
logger(ERROR, _("mysql query errror: ") . $this->error, __FILE__ . ":" . __LINE__);
|
||||
return 1;
|
||||
}else
|
||||
{
|
||||
$value = $this->result->fetch_array(MYSQLI_NUM);
|
||||
//var_dump($value);
|
||||
logger(DEBUG, _("result is: ") . print_r($value, true), __FILE__ . ":" . __LINE__);
|
||||
return $value[0];
|
||||
}
|
||||
|
||||
$value = $this->result->fetch_array(MYSQLI_NUM);
|
||||
//var_dump($value);
|
||||
return $value[0];
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
class hook
|
||||
{
|
||||
public $hookName = "";
|
||||
public $active = true;
|
||||
public $active;
|
||||
public $initialized = false;
|
||||
protected $devicelist;
|
||||
protected $propertyInitialized;
|
||||
|
@ -26,8 +26,8 @@ $properties2log = array(
|
||||
"dewptc" => 0.5,
|
||||
"windchillc" => 0.5,
|
||||
"winddir" => 40,
|
||||
"windspeedkmh" => 10,
|
||||
"windgustkmh" => 10,
|
||||
"windspeedkmh" => 5,
|
||||
"windgustkmh" => 5,
|
||||
"rainin" => 0.5,
|
||||
//"dailyrainin" => null,
|
||||
//"weeklyrainin" => null,
|
||||
|
@ -275,12 +275,16 @@ function getDevicesValues($topic)
|
||||
|
||||
function changeValue(&$property, $value, &$parentDevice, $propertyTree, $key)
|
||||
{
|
||||
global $mohaDB;
|
||||
global $mohaDB, $properties2log;
|
||||
//$changed[$fn]["key"] = $key;
|
||||
//$changed[$fn]["value"] = $value;
|
||||
logger(INFO, sprintf(_("Logging Device property %s, %s"), $propertyTree . $key, bool2string($value)), __FILE__ . ":" . __LINE__);
|
||||
$mohaDB->logProperty($parentDevice, $key, $value, $property["value"]);
|
||||
logger(DEBUG, sprintf(_("old value was %s, new is %s" ), bool2string($property["value"]), bool2string($value)), __FILE__ . ":" . __LINE__);
|
||||
|
||||
if (array_key_exists($key, $properties2log))
|
||||
{
|
||||
logger(INFO, sprintf(_("Logging Device property %s, %s"), $propertyTree . $key, bool2string($value)), __FILE__ . ":" . __LINE__);
|
||||
$mohaDB->logProperty($parentDevice, $key, $value, $property["value"]);
|
||||
logger(DEBUG, sprintf(_("old value was %s, new is %s" ), bool2string($property["value"]), bool2string($value)), __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
$property["value"] = $value;
|
||||
if (!empty($property["functions"]))
|
||||
{
|
||||
@ -289,7 +293,15 @@ function changeValue(&$property, $value, &$parentDevice, $propertyTree, $key)
|
||||
{
|
||||
try
|
||||
{
|
||||
$function($parentDevice, $key, $value);
|
||||
logger(INFO, print_r($function, true), __FILE__ . ":" . __LINE__);
|
||||
if ( $function[0]->active === true )
|
||||
{
|
||||
$function($parentDevice, $key, $value);
|
||||
}else
|
||||
{
|
||||
logger(INFO, $function . _(" is disabled"), __FILE__ . ":" . __LINE__ );
|
||||
}
|
||||
|
||||
}catch (Exception $e)
|
||||
{
|
||||
$s = 'Exception reçue : ' . $e->getMessage();
|
||||
|
@ -18,7 +18,7 @@ class notificationFreemobile
|
||||
{
|
||||
global $curlErr;
|
||||
$result = false;
|
||||
if ($this->active == true)
|
||||
if ($this->active === true)
|
||||
{
|
||||
$ch = curl_init();
|
||||
// set url
|
||||
|
@ -3,7 +3,7 @@
|
||||
class rdc_store extends hook
|
||||
{
|
||||
public $hookName = "rdc_store";
|
||||
public $active = true; //enable/disable hook (true => enabled)
|
||||
public $active = false; //enable/disable hook (true => enabled)
|
||||
public $timer = 0;
|
||||
public $luminance_min = 60;
|
||||
public $luminance_max = 3000;
|
||||
@ -74,7 +74,7 @@ class rdc_store extends hook
|
||||
$rainTmp = $indexDevices[METEO]->properties["rainin"]["value"];
|
||||
$rain = $rainTmp - $rainS;
|
||||
$rainS = $rainTmp;
|
||||
logger(DEBUG, "rain=" . var_dump($rain), __FILE__ . ":" . __LINE__);
|
||||
logger(DEBUG, "rain=" . $rain, __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
if (array_key_exists("windgustkmh", $indexDevices[METEO]->properties))
|
||||
{
|
||||
@ -82,7 +82,7 @@ class rdc_store extends hook
|
||||
{
|
||||
logger(ALERT, "Vent fort :" . $indexDevices[METEO]->properties["windgustkmh"]["value"], __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
$rafale = $mohaDB->moyenne($indexDevices[METEO], "windgustkmh", 7);
|
||||
$rafale = $indexDevices[METEO]->properties["windgustkmh"]["value"]; //$mohaDB->moyenne($indexDevices[METEO], "windgustkmh", 6);
|
||||
logger(DEBUG, "rafale=" . $rafale, __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
if (array_key_exists("solarradiation", $indexDevices[METEO]->properties))
|
||||
@ -92,7 +92,7 @@ class rdc_store extends hook
|
||||
}
|
||||
}
|
||||
logger(DEBUG, sprintf(_("property=%s, value=%s"), $property, $value), __FILE__ . ":" . __LINE__);
|
||||
if ($rafale >= 60 or $rain != 0)
|
||||
if ($rafale >= 50 or $rain != 0)
|
||||
{
|
||||
$this->maxLevel = 0;
|
||||
logger(DEBUG, sprintf("rafale = %s and rain = %s",$rafale, $rain), __FILE__ . ":" . __LINE__);
|
||||
@ -100,7 +100,7 @@ class rdc_store extends hook
|
||||
return 0;
|
||||
}elseif ($rafale != 0)
|
||||
{
|
||||
$this->maxLevel = ($r = 100 - round(($rafale-10)/5, 0, PHP_ROUND_HALF_UP)*20)<0 ? 0 : $r;
|
||||
$this->maxLevel = ($r = 100 - round($rafale/5, 0, PHP_ROUND_HALF_UP)*10)<0 ? 0 : $r;
|
||||
//$this->maxLevel = 100 / $rafale;
|
||||
logger(DEBUG, "rafale=" . $rafale, __FILE__ . ":" . __LINE__);
|
||||
}
|
||||
@ -110,7 +110,7 @@ class rdc_store extends hook
|
||||
{
|
||||
case "illuminance_lux":
|
||||
logger(DEBUG, "CASE: illuminance_lux:" . $value, __FILE__ . ":" . __LINE__);
|
||||
if ($exterieur_lux > 30000)
|
||||
if ($exterieur_lux > 30000 or $salon_lux >600)
|
||||
{
|
||||
logger(DEBUG, "exterieur_lux > 30000", __FILE__ . ":" . __LINE__);
|
||||
if ($this->maxLevel != 0 and $salon_lux > 100)
|
||||
@ -126,7 +126,7 @@ class rdc_store extends hook
|
||||
$this->set($store2level);
|
||||
}
|
||||
}
|
||||
}elseif ($exterieur_lux < 15000 and $salon_lux < 110)
|
||||
}elseif ($exterieur_lux < 12000 and $salon_lux < 150)
|
||||
{
|
||||
logger(DEBUG, "exterieur_lux < 15000", __FILE__ . ":" . __LINE__);
|
||||
$this->close("Luminosité faible");
|
||||
@ -140,19 +140,14 @@ class rdc_store extends hook
|
||||
logger(DEBUG, "CASE: windgustkmh:" . $rafale, __FILE__ . ":" . __LINE__);
|
||||
//case "windspeedkmh":
|
||||
// logger(DEBUG, "CASE: windspeedkmh:" . $value, __FILE__ . ":" . __LINE__);
|
||||
|
||||
logger(DEBUG, "maxLevel = " . $this->maxLevel . ' result => $r = ' . $r, __FILE__ . ":" . __LINE__);
|
||||
if ($this->storeLevel > $this->maxLevel)
|
||||
{
|
||||
$this->set($this->maxLevel);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
/*if ($store2level <= $this->storeLevel)
|
||||
logger(DEBUG, "maxLevel = " . $this->maxLevel . ' result => $r = ' . $r, __FILE__ . ":" . __LINE__);
|
||||
if ($this->storeLevel > $this->maxLevel)
|
||||
{
|
||||
$this->set($store2level);
|
||||
}*/
|
||||
$this->set($this->maxLevel);
|
||||
}
|
||||
}
|
||||
|
||||
private function set ($level)
|
||||
|
Loading…
Reference in New Issue
Block a user