Module: OpenHAB::Core::Items::Persistence

Included in:
GenericItem
Defined in:
lib/openhab/core/items/persistence.rb

Overview

Items extensions to support openHAB's Persistence feature.

Examples:

The following examples are based on these items

Number        UV_Index
Number:Power  Power_Usage "Power Usage [%.2f W]"

Getting persistence data from the system default persistence service

UV_Index.average_since(1.hour.ago)      # returns a DecimalType
Power_Usage.average_since(12.hours.ago) # returns a QuantityType that corresponds to the item's type

Querying a non-default persistence service

UV_Index.average_since(1.hour.ago, :influxdb)
Power_Usage.average_since(12.hours.ago, :rrd4j)

Comparison using Quantity

# Because Power_Usage has a unit, the return value
# from average_since is a QuantityType which can be
# compared against a string with quantity
if Power_Usage.average_since(15.minutes.ago) > 5 | "kW"
  logger.info("The power usage exceeded its 15 min average)
end

PersistedState

max = Power_Usage.maximum_since(LocalTime::MIDNIGHT)
logger.info("Max power usage today: #{max}, at: #{max.timestamp})

See Also:

Defined Under Namespace

Classes: PersistedState

Constant Summary collapse

HistoricState =
Deprecated.

Use PersistedState instead

PersistedState

Instance Method Summary collapse

Instance Method Details

#all_states_between(start, finish, service = nil) ⇒ Array<PersistedState>

Returns all the states between two points in time.

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

Since:

  • openHAB 4.0



# File 'lib/openhab/core/items/persistence.rb', line 391

#all_states_since(timestamp, service = nil) ⇒ Array<PersistedState>

Returns all the states from a point in time until now.

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

Since:

  • openHAB 4.0



# File 'lib/openhab/core/items/persistence.rb', line 377

#all_states_until(timestamp, service = nil) ⇒ Array<PersistedState>

Returns all the states between now until the given time.

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 384

#average_between(start, finish, service = nil) ⇒ DecimalType, ...

Returns the average value of the item's state between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The average value between start and finish, or nil if no states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 89

#average_since(timestamp, service = nil) ⇒ DecimalType, ...

Returns the average value of the item's state since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The average value since timestamp, or nil if no previous states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 74

#average_until(timestamp, service = nil) ⇒ DecimalType, ...

Returns the average value of the item's state between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The average value until timestamp, or nil if no future states could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 81

#changed_between?(start, finish, service = nil) ⇒ true, false

Whether the item's state changed between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (true, false)

    True if the item's state changed between start and finish, False otherwise.



# File 'lib/openhab/core/items/persistence.rb', line 202

#changed_since?(timestamp, service = nil) ⇒ true, false

Whether the item's state has changed since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (true, false)

    True if the item's state has changed since the given timestamp, False otherwise.



# File 'lib/openhab/core/items/persistence.rb', line 189

#changed_until?(timestamp, service = nil) ⇒ true, false

Whether the item's state has changed between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (true, false)

    True if the item's state has changed until the given timestamp, False otherwise.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 195

#count_between(start, finish, service = nil) ⇒ Integer

Returns the number of available data points between two points in time.

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (Integer)

    The number of values persisted for this item.



# File 'lib/openhab/core/items/persistence.rb', line 350

#count_since(timestamp, service = nil) ⇒ Integer

Returns the number of available historic data points from a point in time until now.

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (Integer)

    The number of values persisted for this item.



# File 'lib/openhab/core/items/persistence.rb', line 337

#count_state_changes_between(start, finish, service = nil) ⇒ Integer Also known as: state_changes_between

Returns the number of changes in data points between two points in time.

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (Integer)

    The number of values persisted for this item.



# File 'lib/openhab/core/items/persistence.rb', line 370

#count_state_changes_since(timestamp, service = nil) ⇒ Integer Also known as: state_changes_since

Returns the number of changes in historic data points from a point in time until now.

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (Integer)

    The number of values persisted for this item.



# File 'lib/openhab/core/items/persistence.rb', line 357

#count_state_changes_until(timestamp, service = nil) ⇒ Integer Also known as: state_changes_until

Returns the number of changes in data points between now until the given time.

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (Integer)

    The number of values persisted for this item.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 363

#count_until(timestamp, service = nil) ⇒ Integer

Returns the number of available data points between now until the given time.

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (Integer)

    The number of values persisted for this item.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 343

#delta_between(start, finish, service = nil) ⇒ DecimalType, ...

Returns the difference value of the item's state between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The difference value between start and finish, or nil if no states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 112

#delta_since(timestamp, service = nil) ⇒ DecimalType, ...

Returns the difference value of the item's state since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The difference value since timestamp, or nil if no previous states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 97

#delta_until(timestamp, service = nil) ⇒ DecimalType, ...

Returns the difference value of the item's state between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The difference value until timestamp, or nil if no future states could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 104

#deviation_between(start, finish, service = nil) ⇒ DecimalType, ...

Returns the standard deviation of the item's state between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The standard deviation between start and finish, or nil if no states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 135

#deviation_since(timestamp, service = nil) ⇒ DecimalType, ...

Returns the standard deviation of the item's state since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The standard deviation since timestamp, or nil if no previous states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 120

#deviation_until(timestamp, service = nil) ⇒ DecimalType, ...

Returns the standard deviation of the item's state beetween now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, QuantityType, nil)

    The standard deviation until timestamp, or nil if no future states could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 127

#evolution_rate(start, finish_or_service = nil, service = nil) ⇒ Object

Deprecated.

OH 4.2 this method is deprecated in OH 4.2 and may be removed in a future version



# File 'lib/openhab/core/items/persistence.rb', line 209

#evolution_rate_between(start, finish, service = nil) ⇒ DecimalType?

Returns the evolution rate of the item's state between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, nil)

    The evolution rate between start and finish, or nil if no states could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 246

#evolution_rate_since(timestamp, service = nil) ⇒ DecimalType?

Returns the evolution rate of the item's state since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, nil)

    The evolution rate since timestamp, or nil if no previous states could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 230

#evolution_rate_until(timestamp, service = nil) ⇒ DecimalType?

Returns the evolution rate of the item's state between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (DecimalType, nil)

    The evolution rate until timestamp, or nil if no future states could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 238

#historic_state(timestamp, service = nil) ⇒ PersistedState?

Deprecated.

In openHAB 4.2, use #persisted_state instead

Returns the the item's state at the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time at which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (PersistedState, nil)

    The item's state at timestamp, or nil if no previous state could be found.



# File 'lib/openhab/core/items/persistence.rb', line 255

#last_update(service = nil) ⇒ ZonedDateTime?

Returns the time the item was last updated.

Parameters:

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:



# File 'lib/openhab/core/items/persistence.rb', line 499

#maximum_between(start, finish, service = nil) ⇒ PersistedState?

Returns the maximum value of the item's state between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (PersistedState, nil)

    The maximum value between start and finish, or nil if no states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 286

#maximum_since(timestamp, service = nil) ⇒ PersistedState?

Returns the maximum value of the item's state since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (PersistedState, nil)

    The maximum value since timestamp, or nil if no previous states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 271

#maximum_until(timestamp, service = nil) ⇒ PersistedState?

Returns the maximum value of the item's state between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (PersistedState, nil)

    The maximum value until timestamp, or nil if no future states could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 278

#minimum_between(start, finish, service = nil) ⇒ PersistedState?

Returns the minimum value of the item's state between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (PersistedState, nil)

    The minimum value between start and finish, or nil if no states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 309

#minimum_since(timestamp, service = nil) ⇒ PersistedState?

Returns the minimum value of the item's state since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (PersistedState, nil)

    The minimum value since timestamp, or nil if no previous states could be found.



# File 'lib/openhab/core/items/persistence.rb', line 294

#minimum_until(timestamp, service = nil) ⇒ PersistedState?

Returns the minimum value of the item's state between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (PersistedState, nil)

    The minimum value until timestamp, or nil if no future states could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 301

#next_state(service = nil, skip_equal: false) ⇒ PersistedState?

Return the next state of the item

Parameters:

  • skip_equal (true, false) (defaults to: false)

    if true, skips equal state values and searches the first state not equal the current state

  • service (String) (defaults to: nil)

    the name of the PersistenceService to use

Returns:

  • (PersistedState, nil)

    the previous state or nil if no previous state could be found, or if the default persistence service is not configured or does not refer to a valid service

Since:

  • openHAB 4.2



551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
# File 'lib/openhab/core/items/persistence.rb', line 551

%i[previous_state next_state].each do |method|
  # @deprecated OH 4.1 remove this guard when dropping OH 4.1
  next unless Actions::PersistenceExtensions.respond_to?(method)

  class_eval <<~RUBY, __FILE__, __LINE__ + 1
    def #{method}(service = nil, skip_equal: false)       # def previous_state(service = nil, skip_equal: false)
      service ||= persistence_service                     #   service ||= persistence_service
      result = Actions::PersistenceExtensions.#{method}(  #   result = Actions::PersistenceExtensions.previous_state(
        self,                                             #     self,
        skip_equal,                                       #     skip_equal,
        service&.to_s                                     #     service&.to_s
      )                                                   #   )
      wrap_result(result, quantify: true)                 #   wrap_result(result, quantify: true)
    end                                                   # end
  RUBY
end

#next_update(service = nil) ⇒ ZonedDateTime?

Returns the first future update time of the item.

Parameters:

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

See Also:

Since:

  • openHAB 4.2



511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
# File 'lib/openhab/core/items/persistence.rb', line 511

%i[last_update next_update].each do |method|
  # @deprecated OH 4.1 remove this guard when dropping OH 4.1
  next unless Actions::PersistenceExtensions.respond_to?(method)

  class_eval <<~RUBY, __FILE__, __LINE__ + 1
    def #{method}(service = nil)                            # def last_update(service = nil)
      service ||= persistence_service                       #   service ||= persistence_service
      result = Actions::PersistenceExtensions.#{method}(    #   result = Actions::PersistenceExtensions.last_update(
        self,                                               #     self,
        service&.to_s                                       #     service&.to_s
      )                                                     #   )
      wrap_result(result)                                   #   wrap_result(result)
    end                                                     # end
  RUBY
end

#persist(service = nil) ⇒ void #persist(timestamp, state, service = nil) ⇒ void #persist(time_series, service = nil) ⇒ void

Persist item state to the persistence service

Overloads:

  • #persist(service = nil) ⇒ void

    This method returns an undefined value.

    Persists the current state of the item

    Parameters:

    • service (Symbol, String) (defaults to: nil)

      An optional persistence id instead of the default persistence service.

  • #persist(timestamp, state, service = nil) ⇒ void

    This method returns an undefined value.

    Persists a state at a given timestamp

    Parameters:

    • timestamp (#to_zoned_date_time)

      The timestamp for the given state to be stored

    • state (Types::State)

      The state to be stored

    • service (Symbol, String) (defaults to: nil)

      An optional persistence id instead of the default persistence service.

    Since:

    • openHAB 4.2

  • #persist(time_series, service = nil) ⇒ void

    This method returns an undefined value.

    Persists a time series

    Parameters:

    • time_series (Types::TimeSeries)

      The time series of states to be stored

    • service (Symbol, String) (defaults to: nil)

      An optional persistence id instead of the default persistence service.

    Since:

    • openHAB 4.2



444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
# File 'lib/openhab/core/items/persistence.rb', line 444

def persist(*args)
  # @deprecated OH 4.1 this if block content can be removed when dropping OH 4.1 support
  if Core.version < Core::V4_2
    raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 0..1)" if args.size > 1

    service = args.last || persistence_service
    Actions::PersistenceExtensions.persist(self, service&.to_s)
    return
  end

  first_arg = args.first
  if first_arg.is_a?(TimeSeries)
    if args.size > 2
      raise ArgumentError,
            "wrong number of arguments to persist a time series (given #{args.size}, expected 1..2)"
    end

    service = args[1] || persistence_service
    Actions::PersistenceExtensions.java_send :persist,
                                             [Item.java_class, Types::TimeSeries.java_class, java.lang.String],
                                             self,
                                             first_arg,
                                             service&.to_s
  elsif first_arg.respond_to?(:to_zoned_date_time)
    unless args.size.between?(2, 3)
      raise ArgumentError, "wrong number of arguments to persist a state (given #{args.size}, expected 2..3)"
    end

    timestamp = first_arg.to_zoned_date_time
    state = format_update(args[1])
    service = args[2] || persistence_service
    Actions::PersistenceExtensions.java_send :persist,
                                             [Item.java_class,
                                              ZonedDateTime.java_class,
                                              org.openhab.core.types.State,
                                              java.lang.String],
                                             self,
                                             timestamp,
                                             state,
                                             service&.to_s

  else
    if args.size > 1
      raise ArgumentError,
            "wrong number of arguments to persist the current state (given #{args.size}, expected 0..1)"
    end
    service = first_arg || persistence_service
    Actions::PersistenceExtensions.java_send :persist,
                                             [Item.java_class, java.lang.String],
                                             self,
                                             service&.to_s

  end
end

#persisted_state(timestamp, service = nil) ⇒ PersistedState?

Returns the the item's state at the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time at which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (PersistedState, nil)

    The item's state at timestamp, or nil if no state could be found.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 263

#previous_state(service = nil, skip_equal: false) ⇒ PersistedState?

Return the previous state of the item

Parameters:

  • skip_equal (true, false) (defaults to: false)

    if true, skips equal state values and searches the first state not equal the current state

  • service (String) (defaults to: nil)

    the name of the PersistenceService to use

Returns:

  • (PersistedState, nil)

    the previous state or nil if no previous state could be found, or if the default persistence service is not configured or does not refer to a valid service



# File 'lib/openhab/core/items/persistence.rb', line 527

#remove_all_states_between(start, finish, service = nil) ⇒ void

This method returns an undefined value.

Removes persisted data points between two points in time.

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to remove

  • finish (#to_zoned_date_time)

    The point in time to which to remove

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 413

#remove_all_states_since(timestamp, service = nil) ⇒ void

This method returns an undefined value.

Removes persisted data points since a certain point in time.

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to remove

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 399

#remove_all_states_until(timestamp, service = nil) ⇒ void

This method returns an undefined value.

Removes persisted data points from now until the given point in time.

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to remove

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 406

#sum_between(start, finish, service = nil) ⇒ DecimalType, ...

Returns the sum of the item's state between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:



# File 'lib/openhab/core/items/persistence.rb', line 158

#sum_since(timestamp, service = nil) ⇒ DecimalType, ...

Returns the sum of the item's state since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:



# File 'lib/openhab/core/items/persistence.rb', line 143

#sum_until(timestamp, service = nil) ⇒ DecimalType, ...

Returns the sum of the item's state between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 150

#updated_between?(start, finish, service = nil) ⇒ true, false

Whether the item's state was updated between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (true, false)

    True if the item's state was updated between start and finish, False otherwise.



# File 'lib/openhab/core/items/persistence.rb', line 330

#updated_since?(timestamp, service = nil) ⇒ true, false

Whether the item's state has been updated since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (true, false)

    True if the item's state has been updated since the given timestamp, False otherwise.



# File 'lib/openhab/core/items/persistence.rb', line 317

#updated_until?(timestamp, service = nil) ⇒ true, false

Whether the item's state will be updated between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

  • (true, false)

    True if the item's state will be updated until the given timestamp, False otherwise.

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 323

#variance_between(start, finish, service = nil) ⇒ DecimalType, ...

Returns the variance of the item's state between two points in time

Parameters:

  • start (#to_zoned_date_time)

    The point in time from which to search

  • finish (#to_zoned_date_time)

    The point in time to which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:



# File 'lib/openhab/core/items/persistence.rb', line 181

#variance_since(timestamp, service = nil) ⇒ DecimalType, ...

Returns the variance of the item's state since the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time from which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:



# File 'lib/openhab/core/items/persistence.rb', line 166

#variance_until(timestamp, service = nil) ⇒ DecimalType, ...

Returns the variance of the item's state between now until the given time

Parameters:

  • timestamp (#to_zoned_date_time)

    The point in time until which to search

  • service (Symbol, String) (defaults to: nil)

    An optional persistence id instead of the default persistence service.

Returns:

Since:

  • openHAB 4.2



# File 'lib/openhab/core/items/persistence.rb', line 173