class Fritzbox::Smarthome::Switch

Attributes

powermeter_energy[RW]
powermeter_power[RW]
powermeter_voltage[RW]
simpleonoff_state[RW]
switch_devicelock[RW]
switch_lock[RW]
switch_mode[RW]
switch_state[RW]
temperature_celsius[RW]
temperature_offset[RW]

Public Class Methods

match?(data) click to toggle source
# File lib/fritzbox/smarthome/switch.rb, line 18
def match?(data)
  data.key?('switch')
end
new_from_api(data) click to toggle source
# File lib/fritzbox/smarthome/switch.rb, line 22
def new_from_api(data)
  instance = super
  instance.assign_attributes(
    switch_state:        data.dig('switch', 'state').to_i,
    switch_mode:         data.dig('switch', 'mode').to_s,
    switch_lock:         data.dig('switch', 'lock').to_i,
    switch_devicelock:   data.dig('switch', 'devicelock').to_i,
    simpleonoff_state:   data.dig('simpleonoff', 'state').to_i,
    powermeter_voltage:  data.dig('powermeter', 'voltage').to_i,
    powermeter_power:    data.dig('powermeter', 'power').to_i,
    powermeter_energy:   data.dig('powermeter', 'energy').to_i,
    temperature_celsius: data.dig('temperature', 'celsius').to_i,
    temperature_offset:  data.dig('temperature', 'offset').to_i
  )
  instance
end