Class: OpenHAB::Core::Items::NumberItem
- Inherits:
-
GenericItem
- Object
- GenericItem
- OpenHAB::Core::Items::NumberItem
- Includes:
- NumericItem
- Defined in:
- lib/openhab/core/items/number_item.rb
Overview
A NumberItem has a decimal value and is usually used for all kinds of sensors, like temperature, brightness, wind, etc. It can also be used as a counter or as any other thing that can be expressed as a number.
Non-dimensioned numbers will have a state of DecimalType, while dimensioned numbers will have a state of QuantityType. Be sure to read the documentation for those two classes for how to work with the different states of a NumberItem.
Constant Summary
Constants included from Semantics
Semantics::Equipment, Semantics::Location, Semantics::Point, Semantics::Property, Semantics::Tag
Constants included from Persistence
Instance Attribute Summary collapse
-
#dimension ⇒ Class?
readonly
The dimension of the number item.
- #state ⇒ DecimalType, ... readonly
- #unit ⇒ javax.measure.Unit? readonly
Attributes inherited from GenericItem
#category, #formatted_state, #label, #name, #raw_state, #tags
Attributes included from Semantics
#equipment, #equipment_type, #location, #location_type, #point_type, #property_type, #semantic_type
Attributes included from Item
#accepted_command_types, #accepted_data_types, #all_groups, #channel, #channel_uid, #channel_uids, #channels, #groups, #links, #metadata, #name, #provider, #thing, #things
Instance Method Summary collapse
-
#type_details ⇒ Object
protected
Adds the unit dimension.
Methods inherited from GenericItem
#command, #modify, #null?, #refresh, #state?, #time_series=, #undef?, #update
Methods included from Semantics
add, #equipment?, #location?, lookup, #point?, #points, remove, #semantic?, tags
Methods included from Item
#call_item?, #color_item?, #contact_item?, #date_time_item?, #dimmer_item?, #group_item?, #image_item?, #inspect, #link, #location_item?, #member_of?, #number_item?, #player_item?, #rollershutter_item?, #string_item?, #switch_item?, #tagged?, #to_s, #unlink
Methods included from DSL::Items::TimedCommand
Methods included from Persistence
#all_states_between, #all_states_since, #all_states_until, #average_between, #average_since, #average_until, #changed_between?, #changed_since?, #changed_until?, #count_between, #count_since, #count_state_changes_between, #count_state_changes_since, #count_state_changes_until, #count_until, #delta_between, #delta_since, #delta_until, #deviation_between, #deviation_since, #deviation_until, #evolution_rate, #evolution_rate_between, #evolution_rate_since, #evolution_rate_until, #historic_state, #last_change, #last_update, #maximum_between, #maximum_since, #maximum_until, #median_between, #median_since, #median_until, #minimum_between, #minimum_since, #minimum_until, #next_change, #next_state, #next_update, #persist, #persisted_state, #previous_state, #remove_all_states_between, #remove_all_states_since, #remove_all_states_until, #sum_between, #sum_since, #sum_until, #updated_between?, #updated_since?, #updated_until?, #variance_between, #variance_since, #variance_until
Methods included from DSL::Items::Ensure::Ensurable
Instance Attribute Details
#dimension ⇒ Class? (readonly)
Returns The dimension of the number item.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/openhab/core/items/number_item.rb', line 34 class NumberItem < GenericItem include NumericItem # raw numbers translate directly to {DecimalType}, not a string # @!visibility private def format_type(command) if command.is_a?(Numeric) if unit && (target_unit = DSL.unit(unit.dimension) || unit) return Types::QuantityType.new(command, target_unit) end return Types::DecimalType.new(command) end super end # @!visibility private def config_eql?(other) super && dimension == other.dimension end protected # Adds the unit dimension def type_details ":#{dimension}" if dimension end end |
#state ⇒ DecimalType, ... (readonly)
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/openhab/core/items/number_item.rb', line 34 class NumberItem < GenericItem include NumericItem # raw numbers translate directly to {DecimalType}, not a string # @!visibility private def format_type(command) if command.is_a?(Numeric) if unit && (target_unit = DSL.unit(unit.dimension) || unit) return Types::QuantityType.new(command, target_unit) end return Types::DecimalType.new(command) end super end # @!visibility private def config_eql?(other) super && dimension == other.dimension end protected # Adds the unit dimension def type_details ":#{dimension}" if dimension end end |
#unit ⇒ javax.measure.Unit? (readonly)
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/openhab/core/items/number_item.rb', line 34 class NumberItem < GenericItem include NumericItem # raw numbers translate directly to {DecimalType}, not a string # @!visibility private def format_type(command) if command.is_a?(Numeric) if unit && (target_unit = DSL.unit(unit.dimension) || unit) return Types::QuantityType.new(command, target_unit) end return Types::DecimalType.new(command) end super end # @!visibility private def config_eql?(other) super && dimension == other.dimension end protected # Adds the unit dimension def type_details ":#{dimension}" if dimension end end |
Instance Method Details
#type_details ⇒ Object (protected)
Adds the unit dimension
59 60 61 |
# File 'lib/openhab/core/items/number_item.rb', line 59 def type_details ":#{dimension}" if dimension end |