debug\ncode optimization
This commit is contained in:
		
							
								
								
									
										29
									
								
								class/db.php
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								class/db.php
									
									
									
									
									
								
							| @@ -26,9 +26,9 @@ class db extends mysqli | |||||||
|  |  | ||||||
| 	function logProperty($device, $propertyTree, $value, $oldValue = 0) | 	function logProperty($device, $propertyTree, $value, $oldValue = 0) | ||||||
| 	{ | 	{ | ||||||
| 		global $mohaDB, $properties2log; | 		global $mohaDB, $properties2log, $testMode; | ||||||
| 		$precision = 0; | 		$precision = 0; | ||||||
| 		echo "############## logProperty ################\nproperty => " . $propertyTree .EOL; | 		//echo "############## logProperty ################\nproperty => " . $propertyTree .EOL; | ||||||
| 		if (array_key_exists($propertyTree, $properties2log)) | 		if (array_key_exists($propertyTree, $properties2log)) | ||||||
| 		{ | 		{ | ||||||
| 			//echo "logging in database"; | 			//echo "logging in database"; | ||||||
| @@ -37,22 +37,35 @@ class db extends mysqli | |||||||
| 			$query = "INSERT INTO logs (device, property, value) VALUES('" . $this->protect($ieeeAddress) . "', '" . $this->protect($propertyTree) . "', '" . $this->protect($value) . "')"; | 			$query = "INSERT INTO logs (device, property, value) VALUES('" . $this->protect($ieeeAddress) . "', '" . $this->protect($propertyTree) . "', '" . $this->protect($value) . "')"; | ||||||
| 			if (is_numeric($value) and !empty($properties2log[$propertyTree])) | 			if (is_numeric($value) and !empty($properties2log[$propertyTree])) | ||||||
| 			{ | 			{ | ||||||
| 				$minMax = (float)$value * (float)$properties2log[$propertyTree] / 100; | 				// calculate a min/max value for storing data | ||||||
| 				//echo "minMax = " .$minMax . EOL; | 				$var = $properties2log[$propertyTree]; | ||||||
|  | 				if (!is_numeric($var)) | ||||||
|  | 				{ | ||||||
|  | 					$minMax = (float)$value * (float)$var / 100; | ||||||
|  | 				}else | ||||||
|  | 				{ | ||||||
|  | 					$minMax = $var; | ||||||
|  | 				} | ||||||
|  | 				echo "minMax = " .$minMax . EOL; | ||||||
| 				//echo "oldValue = " . $oldValue . EOL; | 				//echo "oldValue = " . $oldValue . EOL; | ||||||
| 				//echo "Value = " . $value . EOL; | 				//echo "Value = " . $value . EOL; | ||||||
|  |  | ||||||
| 				if ($value >= $oldValue - $minMax and $value <= $oldValue + $minMax) | 				if ($value >= $oldValue - $minMax and $value <= $oldValue + $minMax) | ||||||
| 				{ | 				{ | ||||||
| 					//echo "========>>>>>>>>>not changed" . EOL; | 					//echo "========>>>>>>>>>not changed" . EOL; | ||||||
| 					return 0; | 					return 0; | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 			if(!$this->result = $this->query($query)) | 			if ($testMode) | ||||||
| 			{ | 			{ | ||||||
| 				logger(ERROR, _("mysql query errror: ") . $this->error); | 				logger(INFO, _("Test mode on: not storing in DB ")); | ||||||
|  | 			}else | ||||||
|  | 			{ | ||||||
|  | 				if(!$this->result = $this->query($query)) | ||||||
|  | 				{ | ||||||
|  | 					logger(ERROR, _("mysql query errror: ") . $this->error); | ||||||
|  | 				} | ||||||
| 			} | 			} | ||||||
| 			logger(INFO, sprintf(_("New value of property: %s of device: %s stored in database"), $propertyTree, $device->friendlyName, $value)); | 			logger(INFO, sprintf(_("New value of property: '%s' of device: %s stored in database"), $propertyTree, $device->friendlyName, $value)); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ class topic { | |||||||
|  |  | ||||||
| class device | class device | ||||||
| { | { | ||||||
| 	public $method;    //auto or manual | 	public $method;    //0 = auto or 1 = manual | ||||||
| 	public $topic; | 	public $topic; | ||||||
| 	public $device; | 	public $device; | ||||||
| 	public $ieeeAddress; | 	public $ieeeAddress; | ||||||
| @@ -31,16 +31,23 @@ class device | |||||||
| 	public $description; | 	public $description; | ||||||
| 	public $functions; | 	public $functions; | ||||||
| 	public $payload; | 	public $payload; | ||||||
| 	public $availability = array(); | 	public $availability; | ||||||
|  |  | ||||||
| 	public function set($event) | 	private function __construct() | ||||||
| 	{ | 	{ | ||||||
| 		publish($this->topic . "/" . $this->friendlyName, $this->payload, "set", $event); | 		$this->availability = array("value" => null, "functions" => array()); | ||||||
|  | 		var_dump($this->availability); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	public function set($method=0)   //, $event = null) | ||||||
|  | 	{ | ||||||
|  | 		$this->method = $method; | ||||||
|  | 		publish($this->topic . "/" . $this->friendlyName, $this->payload, "set");	//, $event); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	public function get() | 	public function get() | ||||||
| 	{ | 	{ | ||||||
| 		publish($this->topic . "/" . $this->friendlyNames, $this->payload, "get", $event); | 		publish($this->topic . "/" . $this->friendlyNames, $this->payload, "get");	//, $event); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ $deviceTable = array( | |||||||
| 	"0x00124b001f900753" => "RDC_ENTREE_PORTE", | 	"0x00124b001f900753" => "RDC_ENTREE_PORTE", | ||||||
| 	"0x04cf8cdf3c78aff0" => "RDC_SALON_LUMINOSITE", | 	"0x04cf8cdf3c78aff0" => "RDC_SALON_LUMINOSITE", | ||||||
| 	"0x588e81fffe343e8f" => "RDC_SALON_ECLAIRAGE_PANNEAU", | 	"0x588e81fffe343e8f" => "RDC_SALON_ECLAIRAGE_PANNEAU", | ||||||
| 	"0x00158d0003f0f3b4" => "RDC_SDB_DOUCHE", | 	"0x00158d0003f0f3b4" => "RDC_SDB_DOUCHE_MVMT", | ||||||
| 	"0x842e14fffe1c0cd1" => "RDC_SDB_PLAFOND_MVMT", | 	"0x842e14fffe1c0cd1" => "RDC_SDB_PLAFOND_MVMT", | ||||||
| 	"0x00124b0022ec05dc" => "RDC_SDB_MVMT", | 	"0x00124b0022ec05dc" => "RDC_SDB_MVMT", | ||||||
| 	"0x00158d0005c1a998" => "RDC_SDB_WC_ECLAIRAGE", | 	"0x00158d0005c1a998" => "RDC_SDB_WC_ECLAIRAGE", | ||||||
|   | |||||||
| @@ -5,37 +5,39 @@ | |||||||
| // superior or inferior at value +/- x% | // superior or inferior at value +/- x% | ||||||
|  |  | ||||||
| $properties2log = array( | $properties2log = array( | ||||||
|  | 	"availability" => null, | ||||||
| 	"action" => null, | 	"action" => null, | ||||||
| 	"state" =>null, | 	"state" =>null, | ||||||
| 	"contact" => null, | 	"contact" => null, | ||||||
| 	"temperature" =>2, | 	"temperature" => 0.5, | ||||||
|  | 	"local_temperature" => 0.5, | ||||||
| 	"state_l1" => null, | 	"state_l1" => null, | ||||||
| 	"state_l2" => null, | 	"state_l2" => null, | ||||||
| 	"humidity" => null, | 	"humidity" => null, | ||||||
| 	"current_heating_setpoint" => null, | 	"current_heating_setpoint" => null, | ||||||
| 	"position" => null, | 	"position" => null, | ||||||
| 	"pressure" => 0.5, | 	"pressure" => 10, | ||||||
| 	"occupancy" => null, | 	"occupancy" => null, | ||||||
| 	"tamper" => null, | 	"tamper" => null, | ||||||
| 	"illuminance_lux" => 8, | 	"illuminance_lux" => '10%', | ||||||
| //	"illuminance" => 8, | //	"illuminance" => 8, | ||||||
| 	"requested_brightness_level" => 8, | 	"requested_brightness_level" => '10%', | ||||||
| 	"tempf" => 5, | 	"tempf" => 0.5, | ||||||
| 	"humidity" => null, | 	"humidity" => null, | ||||||
| 	"dewptf" => 5, | 	"dewptf" => 0.5, | ||||||
| 	"windchillf" => 5, | 	"windchillf" => 0.5, | ||||||
| 	"winddir" => 8, | 	"winddir" => 40, | ||||||
| 	"windspeedmph" => 20, | 	"windspeedmph" => 20, | ||||||
| 	"windgustmph" => 20, | 	"windgustmph" => 20, | ||||||
| 	"rainin" => null, | 	"rainin" => null, | ||||||
| 	"dailyrainin" => null, | 	//"dailyrainin" => null, | ||||||
| 	"weeklyrainin" => null, | 	//"weeklyrainin" => null, | ||||||
| 	"monthlyrainin" => null, | 	//"monthlyrainin" => null, | ||||||
| 	"yearlyrainin" => null, | 	//"yearlyrainin" => null, | ||||||
| 	"solarradiation" => 10, | 	"solarradiation" => 10, | ||||||
| 	"UV" => null, | 	"UV" => null, | ||||||
| 	"indoortempf" => 5, | 	"indoortempf" => 0.5, | ||||||
| 	"indoorhumidity" => null, | 	"indoorhumidity" => null, | ||||||
| 	"baromin" => 5 | 	"baromin" => 10 | ||||||
| 	); | 	); | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										37
									
								
								constants.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								constants.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | |||||||
|  | <?php | ||||||
|  |  | ||||||
|  | //Constants | ||||||
|  | define( "EOL", "\n"); | ||||||
|  | define("Z2M", "zigbee2mqtt"); | ||||||
|  | define("ON", 1); | ||||||
|  | define("OFF", 0); | ||||||
|  | define("AUTO", 0); | ||||||
|  | define("MANUAL", 1); | ||||||
|  |  | ||||||
|  | // log levels | ||||||
|  | /*define( "DEBUG", 16);		// => 16 | ||||||
|  | define( "INFO", 1);			// => 1 | ||||||
|  | define( "NOTICE", 2);		// => 2 | ||||||
|  | define( "WARNING", 4);	// => 4 | ||||||
|  | define( "ERROR", 8);			// => 8 | ||||||
|  | define( "ALERT", 32); | ||||||
|  |  | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | $logLevels = array( | ||||||
|  | 	1 => "INFO", | ||||||
|  | 	2 => "NOTICE", | ||||||
|  | 	4 => "WARNING", | ||||||
|  | 	8 => "ERROR", | ||||||
|  | 	16 => "DEBUG", | ||||||
|  | 	32 =>  "ALERT" | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | foreach ($logLevels as $key => $string) | ||||||
|  | { | ||||||
|  | 	define($string, $key); | ||||||
|  | } | ||||||
|  | $logLevels[6] = "NOTICE & WARNING"; | ||||||
|  |  | ||||||
|  | define( "ALL", DEBUG | INFO | NOTICE | WARNING | ERROR | ALERT); | ||||||
|  | ?> | ||||||
| @@ -183,13 +183,16 @@ function iterateDevice($topic, $fn, $parentDevice, &$device, $payloadArray, $pro | |||||||
|  |  | ||||||
| 		}else | 		}else | ||||||
| 		{ | 		{ | ||||||
| 			if (empty($device->$key) or $value != null) | 			//if (empty($device->$key) or $value != null) | ||||||
| 			{ | 			//{ | ||||||
| 				if (property_exists($device, $key)) | 				if (property_exists($device, $key)) | ||||||
| 				{ | 				{ | ||||||
| 					if (is_array($device->$key)) | 					if (is_array($device->$key)) | ||||||
| 					{ | 					{ | ||||||
| 						$oldValue = $device->$key["value"]; | 						if (!empty($device->$key["value"])) | ||||||
|  | 						{ | ||||||
|  | 							$oldValue = $device->$key["value"]; | ||||||
|  | 						} | ||||||
| 					}else | 					}else | ||||||
| 					{ | 					{ | ||||||
| 						$oldValue = $device->$key; | 						$oldValue = $device->$key; | ||||||
| @@ -202,16 +205,10 @@ function iterateDevice($topic, $fn, $parentDevice, &$device, $payloadArray, $pro | |||||||
| 				if ($oldValue !== $value) | 				if ($oldValue !== $value) | ||||||
| 				{ | 				{ | ||||||
| 					$device->$key["value"] = $value; | 					$device->$key["value"] = $value; | ||||||
| 					$changed[$fn]["key"] = $key; | 					//$changed[$fn]["key"] = $key; | ||||||
| 					$changed[$fn]["value"] = $value; | 					//$changed[$fn]["value"] = $value; | ||||||
| 					logger(INFO, sprintf(_("Device %s property %s, value changed to %s"), $fn, $propertyTree . $key, $value)); | 					logger(INFO, sprintf(_("Device %s property %s, %s"), $fn, $propertyTree . $key, bool2string($value))); | ||||||
| 					if ($testMode === false) | 					$mohaDB->logProperty($parentDevice, $propertyTree . $key, $value,   $oldValue); | ||||||
| 					{ |  | ||||||
| 						$mohaDB->logProperty($parentDevice, $propertyTree . $key, $value,   $oldValue); |  | ||||||
| 					}else |  | ||||||
| 					{ |  | ||||||
| 						logger(INFO, _("Test mode on: not storing in DB ")); |  | ||||||
| 					} |  | ||||||
| 				} | 				} | ||||||
| 				if (!empty($device->$key["functions"])) | 				if (!empty($device->$key["functions"])) | ||||||
| 				{ | 				{ | ||||||
| @@ -221,7 +218,7 @@ function iterateDevice($topic, $fn, $parentDevice, &$device, $payloadArray, $pro | |||||||
| 						$function($device, $key, $value); | 						$function($device, $key, $value); | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 			} | 			//} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -40,8 +40,8 @@ function checkEvents() | |||||||
| 			} | 			} | ||||||
| 		}elseif (!empty($event->dateTimeEvent) and $event->dateTimeEvent <= now()) | 		}elseif (!empty($event->dateTimeEvent) and $event->dateTimeEvent <= now()) | ||||||
| 		{ | 		{ | ||||||
| 				echo "---->sending command set " . $event->param . "=>" . $event->value . " to " . $event->device->friendlyName . EOL; | 				logger(DEBUG, sprintf(_("---->sending command set %s => %s to %s"),$event->param,  $event->value, $event->device->friendlyName)); | ||||||
| 				$mid = publish(mktopic($event->device), array($event->param => $event->value), "set", $key); | 				$mid = publish(mktopic($event->device), array($event->param => $event->value), "set");	//, $key); | ||||||
| 				$event->published = now(); | 				$event->published = now(); | ||||||
| 				//echo "#################################\nUnsetting event $key \n###########################" . EOL; | 				//echo "#################################\nUnsetting event $key \n###########################" . EOL; | ||||||
| 				unset($events[$key]); | 				unset($events[$key]); | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
| class rdc_salon_eclairage extends hook | class rdc_salon_eclairage extends hook | ||||||
| { | { | ||||||
| 	public $hookName = "rdc_salon_eclairage"; | 	public $hookName = "rdc_salon_eclairage"; | ||||||
|  | 	public $active = true; | ||||||
| 	// list of devices we are listening to | 	// list of devices we are listening to | ||||||
| 	protected $devicelist = array( | 	protected $devicelist = array( | ||||||
| 		RDC_SALON_MVMT => array("occupancy", false), | 		RDC_SALON_MVMT => array("occupancy", false), | ||||||
| @@ -44,19 +44,19 @@ class rdc_salon_eclairage extends hook | |||||||
| 				} | 				} | ||||||
| 				break; | 				break; | ||||||
| 		} | 		} | ||||||
| 		logger (INFO, sprintf(_("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $param, $value)); | 		logger (INFO, sprintf(_("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $param, bool2string($value))); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	private function send($state) | 	private function send($state) | ||||||
| 	{ | 	{ | ||||||
| 		global $devices, $indexDevices; | 		global $devices, $indexDevices; | ||||||
| 		$device = & $indexDevices[RDC_SALON_ECLAIRAGE_PANNEAU]; | 		$device = & $indexDevices[RDC_SALON_ECLAIRAGE_PANNEAU]; | ||||||
|  | 		$msg = array("state" => $state); | ||||||
| 		if ($device->state["value"] != $state) | 		if ($device->state["value"] != $state) | ||||||
| 		{ | 		{ | ||||||
| 			$msg = array("state" => $state); |  | ||||||
| 			logger(INFO, sprintf(_("publishing message: %s to %s"), json_encode($msg), $device->friendlyName)); | 			logger(INFO, sprintf(_("publishing message: %s to %s"), json_encode($msg), $device->friendlyName)); | ||||||
| 			$device->payload = $msg; | 			$device->payload = $msg; | ||||||
| 			$device->set(null); | 			$device->set(); | ||||||
| 			setDelay($device, $this->delay, $this->timeUnit, "state", "OFF", true); | 			setDelay($device, $this->delay, $this->timeUnit, "state", "OFF", true); | ||||||
| 		}else | 		}else | ||||||
| 		{ | 		{ | ||||||
|   | |||||||
| @@ -12,17 +12,13 @@ class rdc_sdb_eclairage extends hook | |||||||
| 	public $delayManual = 10;		// amount of time in $timeunit for manual mode | 	public $delayManual = 10;		// amount of time in $timeunit for manual mode | ||||||
| 	public $timeUnit = "minute";	// unit of time for delay, second, minute, day, week, month, year | 	public $timeUnit = "minute";	// unit of time for delay, second, minute, day, week, month, year | ||||||
| 	// list of devices we are listening to | 	// list of devices we are listening to | ||||||
| 	// 0x00158d0003f0f3b4	douche mvmnt |  | ||||||
| 	// 0x842e14fffe1c0cd1	plafond mvmnt |  | ||||||
| 	// 0x00124b0022ec05dc	mvmnt |  | ||||||
| 	// 0x00158d0005c1a998	module commutateur => state_l1 |  | ||||||
|  |  | ||||||
| 	// devicelist[$ieeAddress][0] => property to watch | 	// devicelist[$ieeAddress][0] => property to watch | ||||||
| 	// devicelist[$ieeAddress][1] => initialized = true | 	// devicelist[$ieeAddress][1] => initialized = true | ||||||
| 	protected $devicelist = array( | 	protected $devicelist = array( | ||||||
| 		"0x00158d0003f0f3b4" => array("occupancy", false), | 		RDC_SDB_DOUCHE_MVMT => array("occupancy", false), | ||||||
| 		"0x842e14fffe1c0cd1" => array("occupancy", false), | 		RDC_SDB_PLAFOND_MVMT => array("occupancy", false), | ||||||
| 		"0x00124b0022ec05dc" => array("occupancy", false), | 		RDC_SDB_MVMT => array("occupancy", false), | ||||||
| 		RDC_SDB_WC_ECLAIRAGE => array("state_l1", false) | 		RDC_SDB_WC_ECLAIRAGE => array("state_l1", false) | ||||||
| 	); | 	); | ||||||
|  |  | ||||||
| @@ -51,7 +47,7 @@ class rdc_sdb_eclairage extends hook | |||||||
| 				} | 				} | ||||||
| 				break; | 				break; | ||||||
| 		} | 		} | ||||||
| 		logger (INFO, _("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $property, $value); | 		logger (INFO, sprintf(_("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $property, bool2string($value))); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	private function send($state) | 	private function send($state) | ||||||
|   | |||||||
| @@ -27,7 +27,7 @@ class rdc_wc_eclairage extends hook | |||||||
| 				} | 				} | ||||||
| 				break; | 				break; | ||||||
| 		} | 		} | ||||||
| 		logger (INFO, _("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $property, $value); | 		logger (INFO, sprintf(_("%s: notification received from MQTT from %s => parameter: %s value: %s"), $this->hookName, $device->friendlyName, $property, bool2string($value))); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								moha.php
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								moha.php
									
									
									
									
									
								
							| @@ -1,25 +1,11 @@ | |||||||
| <?php | <?php | ||||||
| $title = "moha"; | $title = "moha"; | ||||||
| $testMode = false; | $testMode = true; | ||||||
|  |  | ||||||
| cli_set_process_title($title); | cli_set_process_title($title); | ||||||
| file_put_contents("/proc/".getmypid()."/comm",$title); | file_put_contents("/proc/".getmypid()."/comm",$title); | ||||||
|  |  | ||||||
| //Constants | require "constants.php"; | ||||||
| define( "EOL", "\n"); |  | ||||||
| define("Z2M", "zigbee2mqtt"); |  | ||||||
| define("ON", 1); |  | ||||||
| define("OFF", 0); |  | ||||||
| define("AUTO", 0); |  | ||||||
| define("MANUAL", 1); |  | ||||||
| // log levels |  | ||||||
| define( "DEBUG", 16);		// => 16 |  | ||||||
| define( "INFO", 1);			// => 1 |  | ||||||
| define( "NOTICE", 2);		// => 2 |  | ||||||
| define( "WARNING", 4);	// => 4 |  | ||||||
| define( "ERROR", 8);			// => 8 |  | ||||||
| define( "ALERT", 32); |  | ||||||
| define( "ALL", DEBUG | INFO | NOTICE | WARNING | ERROR | ALERT); |  | ||||||
|  |  | ||||||
| declare(ticks = 1); | declare(ticks = 1); | ||||||
|  |  | ||||||
| @@ -68,19 +54,20 @@ function notify($message) | |||||||
|  |  | ||||||
| function logger($level, $log, $notif = true) | function logger($level, $log, $notif = true) | ||||||
| { | { | ||||||
| 	global $logFh, $logLevel, $notificationLevel; | 	global $logFh, $logLevel, $notificationLevel, $logLevels; | ||||||
| 	//echo "=====>>>> $level  => $logLevel => $notificationLevel" . EOL ; | 	//echo "=====>>>> $level  => $logLevel => $notificationLevel" . EOL ; | ||||||
| 	//echo $log .EOL; | 	//echo $log .EOL; | ||||||
|  | 	$logString = date("c") . ' ' . $logLevels[$level] . " : $log"; | ||||||
| 	if ($level & $logLevel) | 	if ($level & $logLevel) | ||||||
| 	{ | 	{ | ||||||
| 		fwrite($logFh, "$level : $log" . EOL); | 		fwrite($logFh, $logString . EOL); | ||||||
| 		print ("$level : $log" . EOL); | 		print ($logString . EOL); | ||||||
| 	} | 	} | ||||||
| 	$test = $level & $notificationLevel; | 	$test = $level & $notificationLevel; | ||||||
| 	//echo "notif =>" .$notif . EOL; | 	//echo "notif =>" .$notif . EOL; | ||||||
| 	if (($test != 0) and ($notif === true)) | 	if (($test != 0) and ($notif === true)) | ||||||
| 	{ | 	{ | ||||||
| 		if(notify("Moha\n" . $log) === false) | 		if(notify("Moha\n" . $logString) === false) | ||||||
| 		{ | 		{ | ||||||
| 			logger(INFO, _("Notification not sent"), false); | 			logger(INFO, _("Notification not sent"), false); | ||||||
| 		} | 		} | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ function messageReceived($message) | |||||||
| // payload is an array : | // payload is an array : | ||||||
| // $key is property and $value is value of the property | // $key is property and $value is value of the property | ||||||
|  |  | ||||||
| function publish($topic, $payload, $commande="set", $eventKey) | function publish($topic, $payload, $commande="set") //, $eventKey) | ||||||
| { | { | ||||||
| 	global $client, $mids, $logFh, $testMode; | 	global $client, $mids, $logFh, $testMode; | ||||||
| 	$string = $topic . "/" . $commande; | 	$string = $topic . "/" . $commande; | ||||||
|   | |||||||
| @@ -21,6 +21,6 @@ $topics["linky2mqtt"]->callback = function($topic, $message) | |||||||
| 	} | 	} | ||||||
| 	$device = & $device[$fn]; | 	$device = & $device[$fn]; | ||||||
| 	changeDevice($topicName, $friendlyName, $device["device"], $payloadArray); | 	changeDevice($topicName, $friendlyName, $device["device"], $payloadArray); | ||||||
| 	print_r($device["device"]); | 	//print_r($device["device"]); | ||||||
| } | } | ||||||
| ?> | ?> | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ $callback = function($topic, $message) | |||||||
| 		$fnTree = explode ("/" , $topic[1]); 			// get friendlyname | 		$fnTree = explode ("/" , $topic[1]); 			// get friendlyname | ||||||
| 		echo $topic[0] . " => " . $topic[1] . EOL; | 		echo $topic[0] . " => " . $topic[1] . EOL; | ||||||
| 		//$devices[$topic[0]][$fnTree[0]]->json = json_decode($message->payload); | 		//$devices[$topic[0]][$fnTree[0]]->json = json_decode($message->payload); | ||||||
| 		if ($fnTree[array_key_last($fnTree)] == "availability") | 		if ($fnTree[array_key_last($fnTree)] == "availability" and is_string($message->payload)) | ||||||
| 		{ | 		{ | ||||||
| 			unset ($fnTree[array_key_last($fnTree)]); | 			unset ($fnTree[array_key_last($fnTree)]); | ||||||
| 			$payloadArray = array("availability" => $message->payload); | 			$payloadArray = array("availability" => $message->payload); | ||||||
| @@ -60,7 +60,7 @@ $callback = function($topic, $message) | |||||||
| 				logger(LOG_WARNING, $logFh, "init of " . $fn .EOL); | 				logger(LOG_WARNING, $logFh, "init of " . $fn .EOL); | ||||||
| 				$device[$fn] = array(); | 				$device[$fn] = array(); | ||||||
| 				$device[$fn]["device"] = new device; | 				$device[$fn]["device"] = new device; | ||||||
| 				//addDevice($device[$fn], $fn, ); | 				addDevice($device[$fn], $fn, $payloadArray); | ||||||
| 			} | 			} | ||||||
| 			$device = & $device[$fn]; | 			$device = & $device[$fn]; | ||||||
| 		} | 		} | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								utils.php
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								utils.php
									
									
									
									
									
								
							| @@ -1,9 +1,23 @@ | |||||||
| <?php | <?php | ||||||
| logger(DEBUG,"Including utils.php"); | logger(DEBUG,"Including utils.php"); | ||||||
|  |  | ||||||
|  | function bool2string($var) | ||||||
|  | { | ||||||
|  | 	if ($var === false) | ||||||
|  | 	{ | ||||||
|  | 		return "false"; | ||||||
|  | 	}elseif($var === true) | ||||||
|  | 	{ | ||||||
|  | 		return "true"; | ||||||
|  | 	}else | ||||||
|  | 	{ | ||||||
|  | 		return $var; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
| function now() | function now() | ||||||
| { | { | ||||||
| 	return new DateTime("now"); | 	return date("c"); | ||||||
| } | } | ||||||
|  |  | ||||||
| function farenheit2celsius($value) | function farenheit2celsius($value) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user