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.
Defined Under Namespace
Classes: PersistedState
Constant Summary collapse
- HistoricState =
Deprecated.
Use PersistedState instead
- PersistedState
Instance Method Summary collapse
-
#all_states_between(start, finish, service = nil) ⇒ Array<PersistedState>
Returns all the states between two points in time.
-
#all_states_since(timestamp, service = nil) ⇒ Array<PersistedState>
Returns all the states from a point in time until now.
-
#all_states_until(timestamp, service = nil) ⇒ Array<PersistedState>
Returns all the states between now until the given time.
-
#average_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the average value of the item's state between two points in time.
-
#average_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the average value of the item's state since the given time.
-
#average_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the average value of the item's state between now until the given time.
-
#changed_between?(start, finish, service = nil) ⇒ true, false
Whether the item's state changed between two points in time.
-
#changed_since?(timestamp, service = nil) ⇒ true, false
Whether the item's state has changed since the given time.
-
#changed_until?(timestamp, service = nil) ⇒ true, false
Whether the item's state has changed between now until the given time.
-
#count_between(start, finish, service = nil) ⇒ Integer
Returns the number of available data points between two points in time.
-
#count_since(timestamp, service = nil) ⇒ Integer
Returns the number of available historic data points from a point in time until now.
-
#count_state_changes_between(start, finish, service = nil) ⇒ Integer
(also: #state_changes_between)
Returns the number of changes in data points between two points in time.
-
#count_state_changes_since(timestamp, service = nil) ⇒ Integer
(also: #state_changes_since)
Returns the number of changes in historic data points from a point in time until now.
-
#count_state_changes_until(timestamp, service = nil) ⇒ Integer
(also: #state_changes_until)
Returns the number of changes in data points between now until the given time.
-
#count_until(timestamp, service = nil) ⇒ Integer
Returns the number of available data points between now until the given time.
-
#delta_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the difference value of the item's state between two points in time.
-
#delta_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the difference value of the item's state since the given time.
-
#delta_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the difference value of the item's state between now until the given time.
-
#deviation_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the standard deviation of the item's state between two points in time.
-
#deviation_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the standard deviation of the item's state since the given time.
-
#deviation_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the standard deviation of the item's state beetween now until the given time.
-
#evolution_rate(start, finish_or_service = nil, service = nil) ⇒ Object
deprecated
Deprecated.
OH 4.2 this method is deprecated in OH 4.2 and may be removed in a future version
-
#evolution_rate_between(start, finish, service = nil) ⇒ DecimalType?
Returns the evolution rate of the item's state between two points in time.
-
#evolution_rate_since(timestamp, service = nil) ⇒ DecimalType?
Returns the evolution rate of the item's state since the given time.
-
#evolution_rate_until(timestamp, service = nil) ⇒ DecimalType?
Returns the evolution rate of the item's state between now until the given time.
-
#historic_state(timestamp, service = nil) ⇒ PersistedState?
deprecated
Deprecated.
In openHAB 4.2, use #persisted_state instead
-
#last_change(service = nil) ⇒ ZonedDateTime?
Returns the time the item was last changed.
-
#last_update(service = nil) ⇒ ZonedDateTime?
Returns the time the item was last updated.
-
#maximum_between(start, finish, service = nil) ⇒ PersistedState?
Returns the maximum value of the item's state between two points in time.
-
#maximum_since(timestamp, service = nil) ⇒ PersistedState?
Returns the maximum value of the item's state since the given time.
-
#maximum_until(timestamp, service = nil) ⇒ PersistedState?
Returns the maximum value of the item's state between now until the given time.
-
#minimum_between(start, finish, service = nil) ⇒ PersistedState?
Returns the minimum value of the item's state between two points in time.
-
#minimum_since(timestamp, service = nil) ⇒ PersistedState?
Returns the minimum value of the item's state since the given time.
-
#minimum_until(timestamp, service = nil) ⇒ PersistedState?
Returns the minimum value of the item's state between now until the given time.
-
#next_change(service = nil) ⇒ ZonedDateTime?
Returns the first future change time of the item.
-
#next_state(service = nil, skip_equal: false) ⇒ PersistedState?
Return the next state of the item.
-
#next_update(service = nil) ⇒ ZonedDateTime?
Returns the first future update time of the item.
-
#persist(*args) ⇒ Object
Persist item state to the persistence service.
-
#persisted_state(timestamp, service = nil) ⇒ PersistedState?
Returns the the item's state at the given time.
-
#previous_state(service = nil, skip_equal: false) ⇒ PersistedState?
Return the previous state of the item.
-
#remove_all_states_between(start, finish, service = nil) ⇒ void
Removes persisted data points between two points in time.
-
#remove_all_states_since(timestamp, service = nil) ⇒ void
Removes persisted data points since a certain point in time.
-
#remove_all_states_until(timestamp, service = nil) ⇒ void
Removes persisted data points from now until the given point in time.
-
#sum_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the sum of the item's state between two points in time.
-
#sum_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the sum of the item's state since the given time.
-
#sum_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the sum of the item's state between now until the given time.
-
#updated_between?(start, finish, service = nil) ⇒ true, false
Whether the item's state was updated between two points in time.
-
#updated_since?(timestamp, service = nil) ⇒ true, false
Whether the item's state has been updated since the given time.
-
#updated_until?(timestamp, service = nil) ⇒ true, false
Whether the item's state will be updated between now until the given time.
-
#variance_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the variance of the item's state between two points in time.
-
#variance_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the variance of the item's state since the given time.
-
#variance_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the variance of the item's state between now until the given time.
Instance Method Details
#all_states_between(start, finish, service = nil) ⇒ Array<PersistedState>
Returns all the states between two points in time.
|
# File 'lib/openhab/core/items/persistence.rb', line 390
|
#all_states_since(timestamp, service = nil) ⇒ Array<PersistedState>
Returns all the states from a point in time until now.
|
# File 'lib/openhab/core/items/persistence.rb', line 376
|
#all_states_until(timestamp, service = nil) ⇒ Array<PersistedState>
Returns all the states between now until the given time.
|
# File 'lib/openhab/core/items/persistence.rb', line 383
|
#average_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the average value of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 88
|
#average_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the average value of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 73
|
#average_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the average value of the item's state between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 80
|
#changed_between?(start, finish, service = nil) ⇒ true, false
Whether the item's state changed between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 201
|
#changed_since?(timestamp, service = nil) ⇒ true, false
Whether the item's state has changed since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 188
|
#changed_until?(timestamp, service = nil) ⇒ true, false
Whether the item's state has changed between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 194
|
#count_between(start, finish, service = nil) ⇒ Integer
Returns the number of available data points between two points in time.
|
# File 'lib/openhab/core/items/persistence.rb', line 349
|
#count_since(timestamp, service = nil) ⇒ Integer
Returns the number of available historic data points from a point in time until now.
|
# File 'lib/openhab/core/items/persistence.rb', line 336
|
#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.
|
# File 'lib/openhab/core/items/persistence.rb', line 369
|
#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.
|
# File 'lib/openhab/core/items/persistence.rb', line 356
|
#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.
|
# File 'lib/openhab/core/items/persistence.rb', line 362
|
#count_until(timestamp, service = nil) ⇒ Integer
Returns the number of available data points between now until the given time.
|
# File 'lib/openhab/core/items/persistence.rb', line 342
|
#delta_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the difference value of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 111
|
#delta_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the difference value of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 96
|
#delta_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the difference value of the item's state between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 103
|
#deviation_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the standard deviation of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 134
|
#deviation_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the standard deviation of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 119
|
#deviation_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the standard deviation of the item's state beetween now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 126
|
#evolution_rate(start, finish_or_service = nil, service = nil) ⇒ Object
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 208
|
#evolution_rate_between(start, finish, service = nil) ⇒ DecimalType?
Returns the evolution rate of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 245
|
#evolution_rate_since(timestamp, service = nil) ⇒ DecimalType?
Returns the evolution rate of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 229
|
#evolution_rate_until(timestamp, service = nil) ⇒ DecimalType?
Returns the evolution rate of the item's state between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 237
|
#historic_state(timestamp, service = nil) ⇒ PersistedState?
In openHAB 4.2, use #persisted_state instead
Returns the the item's state at the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 254
|
#last_change(service = nil) ⇒ ZonedDateTime?
Returns the time the item was last changed.
|
# File 'lib/openhab/core/items/persistence.rb', line 510
|
#last_update(service = nil) ⇒ ZonedDateTime?
Returns the time the item was last updated.
|
# File 'lib/openhab/core/items/persistence.rb', line 498
|
#maximum_between(start, finish, service = nil) ⇒ PersistedState?
Returns the maximum value of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 285
|
#maximum_since(timestamp, service = nil) ⇒ PersistedState?
Returns the maximum value of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 270
|
#maximum_until(timestamp, service = nil) ⇒ PersistedState?
Returns the maximum value of the item's state between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 277
|
#minimum_between(start, finish, service = nil) ⇒ PersistedState?
Returns the minimum value of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 308
|
#minimum_since(timestamp, service = nil) ⇒ PersistedState?
Returns the minimum value of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 293
|
#minimum_until(timestamp, service = nil) ⇒ PersistedState?
Returns the minimum value of the item's state between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 300
|
#next_change(service = nil) ⇒ ZonedDateTime?
Returns the first future change time of the item.
523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 |
# File 'lib/openhab/core/items/persistence.rb', line 523 %i[last_update next_update last_change next_change].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 |
#next_state(service = nil, skip_equal: false) ⇒ PersistedState?
Return the next state of the item
563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 |
# File 'lib/openhab/core/items/persistence.rb', line 563 %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.
|
# File 'lib/openhab/core/items/persistence.rb', line 503
|
#persist(service = nil) ⇒ void #persist(timestamp, state, service = nil) ⇒ void #persist(time_series, service = nil) ⇒ void
Persist item state to the persistence service
443 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 |
# File 'lib/openhab/core/items/persistence.rb', line 443 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
|
# File 'lib/openhab/core/items/persistence.rb', line 262
|
#previous_state(service = nil, skip_equal: false) ⇒ PersistedState?
Return the previous state of the item
|
# File 'lib/openhab/core/items/persistence.rb', line 539
|
#remove_all_states_between(start, finish, service = nil) ⇒ void
This method returns an undefined value.
Removes persisted data points between two points in time.
|
# File 'lib/openhab/core/items/persistence.rb', line 412
|
#remove_all_states_since(timestamp, service = nil) ⇒ void
This method returns an undefined value.
Removes persisted data points since a certain point in time.
|
# File 'lib/openhab/core/items/persistence.rb', line 398
|
#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.
|
# File 'lib/openhab/core/items/persistence.rb', line 405
|
#sum_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the sum of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 157
|
#sum_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the sum of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 142
|
#sum_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the sum of the item's state between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 149
|
#updated_between?(start, finish, service = nil) ⇒ true, false
Whether the item's state was updated between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 329
|
#updated_since?(timestamp, service = nil) ⇒ true, false
Whether the item's state has been updated since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 316
|
#updated_until?(timestamp, service = nil) ⇒ true, false
Whether the item's state will be updated between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 322
|
#variance_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the variance of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 180
|
#variance_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the variance of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 165
|
#variance_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the variance of the item's state between now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 172
|