Class: SDN::Group

Inherits:
Struct
  • Object
show all
Defined in:
lib/sdn/mqtt_bridge.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeGroup

Returns a new instance of Group.



7
8
9
10
# File 'lib/sdn/mqtt_bridge.rb', line 7

def initialize(*)
  members.each { |k| self[k] = :nil }
  super
end

Instance Attribute Details

#addrObject

Returns the value of attribute addr

Returns:

  • (Object)

    the current value of addr



6
7
8
# File 'lib/sdn/mqtt_bridge.rb', line 6

def addr
  @addr
end

#bridgeObject

Returns the value of attribute bridge

Returns:

  • (Object)

    the current value of bridge



6
7
8
# File 'lib/sdn/mqtt_bridge.rb', line 6

def bridge
  @bridge
end

#positionpercentObject

Returns the value of attribute positionpercent

Returns:

  • (Object)

    the current value of positionpercent



6
7
8
# File 'lib/sdn/mqtt_bridge.rb', line 6

def positionpercent
  @positionpercent
end

#stateObject

Returns the value of attribute state

Returns:

  • (Object)

    the current value of state



6
7
8
# File 'lib/sdn/mqtt_bridge.rb', line 6

def state
  @state
end

Instance Method Details

#motorsObject



23
24
25
# File 'lib/sdn/mqtt_bridge.rb', line 23

def motors
  bridge.motors.select { |addr, motor| motor.groups_string.include?(printed_addr) }.values
end

#printed_addrObject



19
20
21
# File 'lib/sdn/mqtt_bridge.rb', line 19

def printed_addr
  Message.print_address(Message.parse_address(addr))
end

#publish(attribute, value) ⇒ Object



12
13
14
15
16
17
# File 'lib/sdn/mqtt_bridge.rb', line 12

def publish(attribute, value)
  if self[attribute] != value
    bridge.publish("#{addr}/#{attribute}", value.to_s)
    self[attribute] = value
  end
end