@@ -439,12 +439,15 @@ def getItemLastChange(itemOrName):
439
439
raise NotInitialisedException ("Item lastChange for '" + item .getName () + "' not found" )
440
440
return lastChange
441
441
442
- def getStableItemState ( now , itemName , checkTimeRange ):
442
+ def getStableMinMaxItemState ( now , itemName , checkTimeRange ):
443
443
444
444
currentEndTime = now
445
445
currentEndTimeMillis = currentEndTime .toInstant ().toEpochMilli ()
446
446
minTimeMillis = currentEndTimeMillis - ( checkTimeRange * 60 * 1000 )
447
447
448
+ minValue = None
449
+ maxValue = None
450
+
448
451
value = 0.0
449
452
duration = 0
450
453
@@ -462,6 +465,12 @@ def getStableItemState( now, itemName, checkTimeRange ):
462
465
_duration = currentEndTimeMillis - currentStartMillis
463
466
_value = entry .getState ().doubleValue ()
464
467
468
+ if minValue == None or minValue > _value :
469
+ minValue = _value
470
+
471
+ if maxValue == None or maxValue < _value :
472
+ maxValue = _value
473
+
465
474
duration = duration + _duration
466
475
value = value + ( _value * _duration )
467
476
@@ -476,6 +485,12 @@ def getStableItemState( now, itemName, checkTimeRange ):
476
485
477
486
value = ( value / duration )
478
487
488
+ return [ value , minValue , maxValue ]
489
+
490
+ def getStableItemState ( now , itemName , checkTimeRange ):
491
+
492
+ value , _ , _ = getStableMinMaxItemState (now ,itemName , checkTimeRange )
493
+
479
494
return value
480
495
481
496
# *** Notifications ***
0 commit comments