1
0

availibility is now property of device object

This commit is contained in:
2022-01-02 12:14:30 +01:00
parent 260d220326
commit 91c3a3a5d4
5 changed files with 51 additions and 67 deletions

View File

@@ -6,18 +6,14 @@
function checkEvents()
{
global $events, $indexDevices, $devices;
//echo "===========> checking events" . EOL;
$exception = false;
foreach ($events as $key => $event)
{
if (!empty($event->startDatetime))
{
if (($event->dateTimeEvent->add($event->recurrenceInterval)) === false)
if($event->dateTimeEvent <= now())
{
logger(LOG_ERROR, "Error in event recurrence. event: " . $key);
}elseif($event->dateTimeEvent <= now())
{
if (!empty($event->exceptionInterval))
{
foreach($event->exceptionInterval as $key => $value)
@@ -35,13 +31,17 @@ function checkEvents()
{
echo "---->sending command set " . $event->param . "=>" . $event->value . " to " . $event->device->friendlyName . EOL;
publish($event->device, array($event->param => $event->value), "set", $key);
if (($event->dateTimeEvent->add($event->recurrenceInterval)) === false)
{
logger(LOG_ERROR, __("Error in event recurrence. event: ") . $key);
}
}
}
}elseif (!empty($event->dateTimeEvent) and $event->dateTimeEvent <= now())
{
echo "---->sending command set " . $event->param . "=>" . $event->value . " to " . $event->device->friendlyName . EOL;
publish($event->device, array($event->param => $event->value), "set", $key);
//$event->published = now();
$mid = publish($event->device, array($event->param => $event->value), "set", $key);
$event->published = now();
//echo "#################################\nUnsetting event $key \n###########################" . EOL;
unset($events[$key]);
}
@@ -77,15 +77,20 @@ function setRecurrentEvent(&$device, $param, $value, $startDatetime, $stopDateti
$event = new event;
$event->recurrenceInterval = new DateInterval($string);
$event->startDatetime = new datetime($startDatetime);
$event->stopDatetime = new datetime($stopDatetime);
$event->ieee_address = $device->ieeeAddress;
$event->topic = $device->topic;
$event->device = & $device;
$event->param = $param;
$event->value = $value;
$event->dateTimeEvent = $event->startDatetime;
$event->recurrenceInterval = new DateInterval($string);
$event->startDatetime = new datetime($startDatetime);
$event->stopDatetime = new datetime($stopDatetime);
$event->ieee_address = $device->ieeeAddress;
$event->topic = $device->topic;
$event->device = & $device;
$event->param = $param;
$event->value = $value;
$event->dateTimeEvent = $event->startDatetime;
if (($event->dateTimeEvent->add($event->recurrenceInterval)) === false)
{
logger(LOG_ERROR, __("Error in event recurrence. event: ") . $key);
}
}
function setDelay(&$device, $delay, $unit="second", $param, $value, $replace=false)
@@ -143,15 +148,10 @@ function setDelay(&$device, $delay, $unit="second", $param, $value, $replace=fal
echo "new event";
}
function searchEvent($device, $param , $value)
{
global $events;
echo "searching event" . EOL;
//$keys = array_keys($events, $device->ieeeAddress);
//echo "ieee_address =>" . $device->ieeeAddress . EOL;
//print_r($events);
foreach($events as $key => $event)
{
//echo "Event : $event => $value" . EOL;
@@ -169,7 +169,7 @@ function deleteEvent($eventKey)
{
global $events;
unset ($events[$eventKey]);
//echo "delete event " . $eventKey . EOL;
logger(LOG_INFO, __("delete event ") . $eventKey);
}