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_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_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 391
|
#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 377
|
#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 384
|
#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 89
|
#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 74
|
#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 81
|
#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 202
|
#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 189
|
#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 195
|
#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 350
|
#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 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.
|
# 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.
|
# 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.
|
# 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.
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# File 'lib/openhab/core/items/persistence.rb', line 127
|
#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 209
|
#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 246
|
#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 230
|
#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 238
|
#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 255
|
#last_update(service = nil) ⇒ ZonedDateTime?
Returns the time the item was last updated.
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# File 'lib/openhab/core/items/persistence.rb', line 301
|
#next_state(service = nil, skip_equal: false) ⇒ PersistedState?
Return the next state of the item
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.
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
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
|
# File 'lib/openhab/core/items/persistence.rb', line 263
|
#previous_state(service = nil, skip_equal: false) ⇒ PersistedState?
Return the previous state of the item
|
# 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.
|
# 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.
|
# 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.
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# 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
|
# File 'lib/openhab/core/items/persistence.rb', line 173
|