Class: OpenHAB::Core::Items::ContactItem

Inherits:
GenericItem show all
Defined in:
lib/openhab/core/items/contact_item.rb

Overview

A ContactItem can be used for sensors that return an "open" or "closed" as a state.

This is useful for doors, windows, etc.

Examples:

rule 'Log state of all doors on system startup' do
  on_load
  run do
    Doors.each do |door|
      case door.state
      when OPEN then logger.info("#{door.name} is Open")
      when CLOSED then logger.info("#{door.name} is Open")
      else logger.info("#{door.name} is not initialized")
      end
    end
  end
end

Constant Summary

Constants included from Semantics

Semantics::Equipment, Semantics::Location, Semantics::Point, Semantics::Property, Semantics::Tag

Instance Attribute Summary collapse

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, #groups, #metadata, #name

Method Summary

Methods inherited from GenericItem

#command, #modify, #null?, #refresh, #state?, #undef?, #update

Methods included from Semantics

#equipment?, #location?, #point?, #points, #semantic?

Methods included from Item

#inspect, #member_of?, #provider, #tagged?, #thing, #things, #to_s

Methods included from DSL::Items::TimedCommand

#command

Methods included from Persistence

#average_between, #average_since, #changed_between?, #changed_since?, #count_between, #count_since, #count_state_changes_between, #count_state_changes_since, #delta_between, #delta_since, #deviation_between, #deviation_since, #evolution_rate, #historic_state, #last_update, #maximum_between, #maximum_since, #minimum_between, #minimum_since, #persist, #previous_state, #sum_between, #sum_since, #updated_between?, #updated_since?, #variance_between, #variance_since

Methods included from DSL::Items::Ensure::Ensurable

#ensure

Instance Attribute Details

#stateOpenClosedType? (readonly)

Returns:



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/openhab/core/items/contact_item.rb', line 33

class ContactItem < GenericItem
  # @!method open?
  #   Check if the item state == {OPEN}
  #   @return [true,false]
  #
  # @example Log open contacts
  #   Contacts.select(&:open?).each { |contact| logger.info("Contact #{contact.name} is open")}

  # @!method closed?
  #   Check if the item state == {CLOSED}
  #   @return [true,false]
  #
  # @example Log closed contacts
  #   Contacts.select(&:closed?).each { |contact| logger.info("Contact #{contact.name} is closed")}
end