From cd20e973cd2ff32ae463b14c69a93459af6e4fc3 Mon Sep 17 00:00:00 2001 From: daniel Tartavel Date: Mon, 10 Jan 2022 00:12:30 +0100 Subject: [PATCH] - some debugging - adding logs in mysql database --- class/db.php | 33 +++++++++++++++++++++++++++++++++ db_functions.php | 5 +++-- devices_logs.php | 13 +++++++++++++ moha.php | 6 +++++- topics_callbacks/pws2mqtt.php | 2 +- 5 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 class/db.php create mode 100644 devices_logs.php diff --git a/class/db.php b/class/db.php new file mode 100644 index 0000000..7ad17da --- /dev/null +++ b/class/db.php @@ -0,0 +1,33 @@ +connect($mysqlServer, $username, $passwd, $database); + } + + function protect($string) + { + return $this->real_escape_string($string); + } + + function logProperty($device, $property, $value) + { + $query = "SELECT * FROM logs WHERE device='" . $device->ieeeAddress . "' AND property='" . + $query = "IF (EXISTS INSERT INTO logs(device, property, value) VALUES(" . $device->ieeeAddress . ", " . $property . ", " . $value . ") ON DUPLICATE KEY UPDATE value=" . $value + } +} + +$mohaDB = new db($mysqlServer, $username, $passwd, $database); +if ($mohaDB->connect_error) +{ + logger(ERROR, _("Mysql connection failed: ") . $db->connect_error); +} + +?> diff --git a/db_functions.php b/db_functions.php index 6fcee31..860c446 100644 --- a/db_functions.php +++ b/db_functions.php @@ -175,7 +175,8 @@ function iterateDevice($topic, $fn, &$device, $payloadArray) $device->$key["value"] = $value; $changed[$fn]["key"] = $key; $changed[$fn]["value"] = $value; - + logger(INFO, sprintf(_("Device %s property %s, value changed to %s"), $device->friendlyName, $key, $value)); + $mohaDB->logProperty($device, $key, $value); //echo "oldvalue => " . print_r($oldValue, true) . EOL; /*if (empty($oldValue)) { @@ -204,7 +205,7 @@ function iterateDevice($topic, $fn, &$device, $payloadArray) function getDevicesValues() { - + //TODO } ?> diff --git a/devices_logs.php b/devices_logs.php new file mode 100644 index 0000000..7309939 --- /dev/null +++ b/devices_logs.php @@ -0,0 +1,13 @@ +connect_error) + { + logger(ERROR, _("Mysql connection failed: ") . $db->connect_error); + } +} + + +?> diff --git a/moha.php b/moha.php index 06da86f..178a5e1 100644 --- a/moha.php +++ b/moha.php @@ -1,4 +1,7 @@ callback = function($topic, $message) //addDevice($device[$fn], $fn, ); } $device = & $device[$fn]; - print_r($device); + //print_r($device); } $payloadArray = json_decode($message->payload); changeDevice($topic[0], $topic[1], $device["device"], $payloadArray);