modified rdc_sdb_eclairage
This commit is contained in:
		
							
								
								
									
										24
									
								
								events.php
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								events.php
									
									
									
									
									
								
							| @@ -25,7 +25,7 @@ function checkEvents() | |||||||
| 			if($event->dateTimeEvent < $now) | 			if($event->dateTimeEvent < $now) | ||||||
| 			{ | 			{ | ||||||
| 				logger(DEBUG, _("Event must be executed"), __FILE__ . ":" . __LINE__); | 				logger(DEBUG, _("Event must be executed"), __FILE__ . ":" . __LINE__); | ||||||
| 				 |  | ||||||
| 				if (!empty($event->exceptionInterval) and $event->isInterval == true) | 				if (!empty($event->exceptionInterval) and $event->isInterval == true) | ||||||
| 				{ | 				{ | ||||||
| 					logger(DEBUG, _("Testing exceptions"), __FILE__ . ":" . __LINE__); | 					logger(DEBUG, _("Testing exceptions"), __FILE__ . ":" . __LINE__); | ||||||
| @@ -40,7 +40,7 @@ function checkEvents() | |||||||
| 						} | 						} | ||||||
| 					} | 					} | ||||||
| 				} | 				} | ||||||
| 				 |  | ||||||
| 				if ($exception === false) | 				if ($exception === false) | ||||||
| 				{ | 				{ | ||||||
| 					if (is_callable($event->function)) | 					if (is_callable($event->function)) | ||||||
| @@ -80,7 +80,7 @@ function checkEvents() | |||||||
|  |  | ||||||
| // datetime format : "yyyy-mm-dd hh:mm:ss" | // datetime format : "yyyy-mm-dd hh:mm:ss" | ||||||
|  |  | ||||||
| function setOneshotEvent(device &$deviceObject, string $datetime, $property, $value, $replace=false, $method=null) | function setOneshotEvent(device &$deviceObject, string $datetime, $property, $value, $function=null, $replace=false, $method=null) | ||||||
| { | { | ||||||
| 	global $events; | 	global $events; | ||||||
| 	$events[] = new event; | 	$events[] = new event; | ||||||
| @@ -91,6 +91,7 @@ function setOneshotEvent(device &$deviceObject, string $datetime, $property, $va | |||||||
| 	$events[$key]->param = $property; | 	$events[$key]->param = $property; | ||||||
| 	$events[$key]->value = $value; | 	$events[$key]->value = $value; | ||||||
| 	$events[$key]->device = & $deviceObject; | 	$events[$key]->device = & $deviceObject; | ||||||
|  | 	$events[$key]->function = $function; | ||||||
| 	if ($method !==null) $events[$key]->method =$method; | 	if ($method !==null) $events[$key]->method =$method; | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -100,7 +101,7 @@ function setRecurrentEvent($function, $ieeeAddress, string $property, $value, bo | |||||||
| { | { | ||||||
| 	global $events, $indexDevices; | 	global $events, $indexDevices; | ||||||
| 	logger(INFO, _("Setting recurrent event"), __FILE__ . ":" . __LINE__); | 	logger(INFO, _("Setting recurrent event"), __FILE__ . ":" . __LINE__); | ||||||
| 	 |  | ||||||
| 	$string = "P"; | 	$string = "P"; | ||||||
| 	if (!empty($years))		$string .= $years . "Y"; | 	if (!empty($years))		$string .= $years . "Y"; | ||||||
| 	if (!empty($months))	$string .= $months . "M"; | 	if (!empty($months))	$string .= $months . "M"; | ||||||
| @@ -111,8 +112,8 @@ function setRecurrentEvent($function, $ieeeAddress, string $property, $value, bo | |||||||
| 	if (!empty($months))  $string .= $months . "M"; | 	if (!empty($months))  $string .= $months . "M"; | ||||||
| 	if (!empty($seconds))  $string .= $seconds . "S"; | 	if (!empty($seconds))  $string .= $seconds . "S"; | ||||||
| 	logger(DEBUG, _("reccurrent event string : ") . $string, __FILE__ . ":" . __LINE__); | 	logger(DEBUG, _("reccurrent event string : ") . $string, __FILE__ . ":" . __LINE__); | ||||||
| 	 |  | ||||||
| 	 |  | ||||||
| 	$event = new event; | 	$event = new event; | ||||||
| 	//  pb in  recurrent event in case of date and not interval | 	//  pb in  recurrent event in case of date and not interval | ||||||
| 	if ($isInterval === true) | 	if ($isInterval === true) | ||||||
| @@ -122,7 +123,7 @@ function setRecurrentEvent($function, $ieeeAddress, string $property, $value, bo | |||||||
| 	{ | 	{ | ||||||
| 		$event->recurrenceInterval 	= 0; | 		$event->recurrenceInterval 	= 0; | ||||||
| 	} | 	} | ||||||
| 	 |  | ||||||
| 	if (!empty($startDatetime)) | 	if (!empty($startDatetime)) | ||||||
| 	{ | 	{ | ||||||
| 		$event->startDatetime = new datetime($startDatetime); | 		$event->startDatetime = new datetime($startDatetime); | ||||||
| @@ -131,7 +132,7 @@ function setRecurrentEvent($function, $ieeeAddress, string $property, $value, bo | |||||||
| 		$event->startDatetime = now(); | 		$event->startDatetime = now(); | ||||||
| 	} | 	} | ||||||
| 	$event->dateTimeEvent = $event->startDatetime; | 	$event->dateTimeEvent = $event->startDatetime; | ||||||
| 	 |  | ||||||
| 	if (!empty($stopDatetime)) | 	if (!empty($stopDatetime)) | ||||||
| 	{ | 	{ | ||||||
| 		$event->stopDatetime		= new datetime($stopDatetime); | 		$event->stopDatetime		= new datetime($stopDatetime); | ||||||
| @@ -144,7 +145,7 @@ function setRecurrentEvent($function, $ieeeAddress, string $property, $value, bo | |||||||
| 		$event->param				= $property; | 		$event->param				= $property; | ||||||
| 		$event->value				= $value; | 		$event->value				= $value; | ||||||
| 	} | 	} | ||||||
| 	 |  | ||||||
| 	if ($event->recurrenceInterval != 0) | 	if ($event->recurrenceInterval != 0) | ||||||
| 	{ | 	{ | ||||||
| 		if (($event->dateTimeEvent->add($event->recurrenceInterval)) === false) | 		if (($event->dateTimeEvent->add($event->recurrenceInterval)) === false) | ||||||
| @@ -157,7 +158,7 @@ function setRecurrentEvent($function, $ieeeAddress, string $property, $value, bo | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| function setDelay(device &$deviceObject, float $delay, string $unit, string $property, $value, bool $replace=false, int $method = null) | function setDelay(device &$deviceObject, float $delay, string $unit, string $property, $value, $function, bool $replace=false, int $method = null) | ||||||
| { | { | ||||||
| 	global $events, $logLevel; | 	global $events, $logLevel; | ||||||
| 	$oldLevel = $logLevel; | 	$oldLevel = $logLevel; | ||||||
| @@ -211,6 +212,7 @@ function setDelay(device &$deviceObject, float $delay, string $unit, string $pro | |||||||
| 	$events[$key]->param = $property; | 	$events[$key]->param = $property; | ||||||
| 	$events[$key]->value = $value; | 	$events[$key]->value = $value; | ||||||
| 	$events[$key]->device = & $deviceObject; | 	$events[$key]->device = & $deviceObject; | ||||||
|  | 	$events[$key]->function = $function; | ||||||
| 	if ($method !== null) $events[$key]->method = $method; | 	if ($method !== null) $events[$key]->method = $method; | ||||||
| 	logger (DEBUG, _('Setting new delay in $events[]'), __FILE__ . ":" . __LINE__); | 	logger (DEBUG, _('Setting new delay in $events[]'), __FILE__ . ":" . __LINE__); | ||||||
| 	//print_r($events[$key]); | 	//print_r($events[$key]); | ||||||
| @@ -228,7 +230,7 @@ function removeEvent(device $deviceObject, string $property , $value, int $metho | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| function searchEvent(device $deviceObject, string $property , $value) | function searchEvent(device $deviceObject, string $property, $function, $value) | ||||||
| { | { | ||||||
| 	global $events; | 	global $events; | ||||||
| 	logger(DEBUG, sprintf(_("searching event for device %s, property %s and value %s"), $deviceObject->friendlyName, $property, bool2string($value)), __FILE__ . ":" . __LINE__); | 	logger(DEBUG, sprintf(_("searching event for device %s, property %s and value %s"), $deviceObject->friendlyName, $property, bool2string($value)), __FILE__ . ":" . __LINE__); | ||||||
|   | |||||||
| @@ -52,7 +52,7 @@ class rdc_sdb_eclairage extends hook | |||||||
| 					}elseif (testActionneurs($this->actionneurs)) | 					}elseif (testActionneurs($this->actionneurs)) | ||||||
| 					{ | 					{ | ||||||
| 						logger(DEBUG, _("Actionneurs are all false"), __FILE__ . ":" . __LINE__); | 						logger(DEBUG, _("Actionneurs are all false"), __FILE__ . ":" . __LINE__); | ||||||
| 						setDelay($deviceTarget, $this->delay, $this->timeUnit, "state_l1", "OFF", true, IDLE); | 						//setDelay($deviceTarget, $this->delay, $this->timeUnit, "state_l1", "OFF", true, IDLE); | ||||||
| 					} | 					} | ||||||
| 					break; | 					break; | ||||||
| 				case "state_l1": | 				case "state_l1": | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user