class MQTT::Homie::Property

Constants

DATA_TYPES

Attributes

value[R]

Public Class Methods

new(options = {}) click to toggle source
Calls superclass method MQTT::Homie::HomieObject::new
# File lib/mqtt/homie/property.rb, line 20
def initialize(options = {})
  options = options.dup

  # enum shortcut
  if enum = options.delete(:enum)
    options[:datatype] = :enum
    options[:format] = enum.collect { |i| i.to_s }.join(",")
  end

  super(options)

  @value = options[:value]
end

Public Instance Methods

settable?() click to toggle source
# File lib/mqtt/homie/property.rb, line 43
def settable?
  @settable
end
value=(value) click to toggle source
# File lib/mqtt/homie/property.rb, line 34
def value=(value)
  # TODO: check value conforms to expected datatype and format?
  if value != @value
    @value = value
    changed
    notify_observers(Time.now, self)
  end
end