Class: EmuPower::Types::CurrentSummationDelivered

Inherits:
Notification
  • Object
show all
Defined in:
lib/emu_power/types.rb

Constant Summary

Constants inherited from Notification

Notification::UNIX_TIME_OFFSET

Instance Attribute Summary collapse

Attributes inherited from Notification

#device_mac, #meter_mac, #raw, #timestamp

Instance Method Summary collapse

Methods inherited from Notification

#initialize, #parse_bool, #parse_hex, #parse_timestamp, root_name, subclasses

Constructor Details

This class inherits a constructor from EmuPower::Types::Notification

Instance Attribute Details

#digits_leftObject

Returns the value of attribute digits_left.



153
154
155
# File 'lib/emu_power/types.rb', line 153

def digits_left
  @digits_left
end

#digits_rightObject

Returns the value of attribute digits_right.



152
153
154
# File 'lib/emu_power/types.rb', line 152

def digits_right
  @digits_right
end

#divisorObject

Returns the value of attribute divisor.



151
152
153
# File 'lib/emu_power/types.rb', line 151

def divisor
  @divisor
end

#multiplierObject

Returns the value of attribute multiplier.



150
151
152
# File 'lib/emu_power/types.rb', line 150

def multiplier
  @multiplier
end

#raw_deliveredObject

Returns the value of attribute raw_delivered.



148
149
150
# File 'lib/emu_power/types.rb', line 148

def raw_delivered
  @raw_delivered
end

#raw_receivedObject

Returns the value of attribute raw_received.



149
150
151
# File 'lib/emu_power/types.rb', line 149

def raw_received
  @raw_received
end

#suppress_leading_zeroesObject

Returns the value of attribute suppress_leading_zeroes.



154
155
156
# File 'lib/emu_power/types.rb', line 154

def suppress_leading_zeroes
  @suppress_leading_zeroes
end

Instance Method Details

#build(hash) ⇒ Object



156
157
158
159
160
161
162
163
164
165
166
# File 'lib/emu_power/types.rb', line 156

def build(hash)

	self.raw_delivered = parse_hex('SummationDelivered')
	self.raw_received = parse_hex('SummationReceived')
	self.multiplier = parse_hex('Multiplier')
	self.divisor = parse_hex('Divisor')
	self.digits_right = parse_hex('DigitsRight')
	self.digits_left = parse_hex('DigitsLeft')
	self.suppress_leading_zeroes = parse_bool('SuppressLeadingZero')

end

#deliveredObject



168
169
170
171
172
# File 'lib/emu_power/types.rb', line 168

def delivered
	return 0 if self.raw_delivered == 0
	return nil if self.multiplier.nil? || self.raw_delivered.nil? || self.divisor.nil?
	return self.multiplier * self.raw_delivered / Float(self.divisor)
end

#receivedObject



174
175
176
177
178
# File 'lib/emu_power/types.rb', line 174

def received
	return 0 if self.divisor == 0
	return nil if self.multiplier.nil? || self.raw_received.nil? || self.divisor.nil?
	return self.multiplier * self.raw_received / Float(self.divisor)
end