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.
-
#median_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the median of the item's state between two points in time.
-
#median_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the median of the item's state since the given time.
-
#median_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the median of the item's state beetween 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 456
|
#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 442
|
#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 449
|
#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 129
|
#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 114
|
#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 121
|
#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 267
|
#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 254
|
#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 260
|
#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 415
|
#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 402
|
#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 435
|
#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 422
|
#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 428
|
#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 408
|
#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 152
|
#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 137
|
#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 144
|
#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 175
|
#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 160
|
#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 167
|
#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 274
|
#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 311
|
#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 295
|
#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 303
|
#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 320
|
#last_change(service = nil) ⇒ ZonedDateTime?
Returns the time the item was last changed.
|
# File 'lib/openhab/core/items/persistence.rb', line 576
|
#last_update(service = nil) ⇒ ZonedDateTime?
Returns the time the item was last updated.
|
# File 'lib/openhab/core/items/persistence.rb', line 564
|
#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 351
|
#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 336
|
#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 343
|
#median_between(start, finish, service = nil) ⇒ DecimalType, ...
Returns the median of the item's state between two points in time
|
# File 'lib/openhab/core/items/persistence.rb', line 199
|
#median_since(timestamp, service = nil) ⇒ DecimalType, ...
Returns the median of the item's state since the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 183
|
#median_until(timestamp, service = nil) ⇒ DecimalType, ...
Returns the median of the item's state beetween now until the given time
|
# File 'lib/openhab/core/items/persistence.rb', line 191
|
#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 374
|
#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 359
|
#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 366
|
#next_change(service = nil) ⇒ ZonedDateTime?
Returns the first future change time of the item.
589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 |
# File 'lib/openhab/core/items/persistence.rb', line 589 %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
629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 |
# File 'lib/openhab/core/items/persistence.rb', line 629 %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 569
|
#persist(service = nil) ⇒ void #persist(timestamp, state, service = nil) ⇒ void #persist(time_series, service = nil) ⇒ void
Persist item state to the persistence service
509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 |
# File 'lib/openhab/core/items/persistence.rb', line 509 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 328
|
#previous_state(service = nil, skip_equal: false) ⇒ PersistedState?
Return the previous state of the item
|
# File 'lib/openhab/core/items/persistence.rb', line 605
|
#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 478
|
#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 464
|
#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 471
|
#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 223
|
#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 208
|
#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 215
|
#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 395
|
#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 382
|
#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 388
|
#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 246
|
#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 231
|
#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 238
|